[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

commit-queue at webkit.org commit-queue at webkit.org
Fri Jan 21 14:39:00 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit cb04dc7347f34da2f01b1e5aeee910c1630089a2
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 23 23:10:45 2010 +0000

    2010-12-23  Yongjun Zhang  <yongjun_zhang at apple.com>
    
            Reviewed by Darin Adler.
    
            WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
            https://bugs.webkit.org/show_bug.cgi?id=38535
    
            WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram.  As a result,
            if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
            WebScriptDebugger's callframe stack is wrong from this point.  That could cause crash if we trying to access the top
            call frame from this stack when an exception throws because the saved top frame could be invalid.
    
            To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
            callEvent and returnEvent.
    
            * WebView/WebScriptDebugger.mm:
            (WebScriptDebugger::willExecuteProgram):
            (WebScriptDebugger::didExecuteProgram):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74586 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 329743b..f7308f3 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,22 @@
+2010-12-23  Yongjun Zhang  <yongjun_zhang at apple.com>
+
+        Reviewed by Darin Adler.
+
+        WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
+        https://bugs.webkit.org/show_bug.cgi?id=38535
+
+        WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram.  As a result,
+        if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
+        WebScriptDebugger's callframe stack is wrong from this point.  That could cause crash if we trying to access the top
+        call frame from this stack when an exception throws because the saved top frame could be invalid.
+
+        To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
+        callEvent and returnEvent.
+
+        * WebView/WebScriptDebugger.mm:
+        (WebScriptDebugger::willExecuteProgram):
+        (WebScriptDebugger::didExecuteProgram):
+
 2010-12-22  Sam Weinig  <sam at webkit.org>
 
         Reviewed by Darin Adler.
diff --git a/WebKit/mac/WebView/WebScriptDebugger.mm b/WebKit/mac/WebView/WebScriptDebugger.mm
index f67b46f..25ef4b7 100644
--- a/WebKit/mac/WebView/WebScriptDebugger.mm
+++ b/WebKit/mac/WebView/WebScriptDebugger.mm
@@ -220,10 +220,12 @@ void WebScriptDebugger::exception(const DebuggerCallFrame& debuggerCallFrame, in
 
 void WebScriptDebugger::willExecuteProgram(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineno)
 {
+    callEvent(debuggerCallFrame, sourceID, lineno);
 }
 
 void WebScriptDebugger::didExecuteProgram(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineno)
 {
+    returnEvent(debuggerCallFrame, sourceID, lineno);
 }
 
 void WebScriptDebugger::didReachBreakpoint(const DebuggerCallFrame&, intptr_t, int)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list