Commit d0936bf5 authored by yurys@chromium.org's avatar yurys@chromium.org

2010-08-13 Yury Semikhatsky <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: DRT sometimes crashes on debugger tests
        https://bugs.webkit.org/show_bug.cgi?id=43964
        notifyDone() should be called only when debugger already resumed all active DOM objects,
        otherwise we might accidentally call setTimeout in the inspected page and create
        a new active DOM object while their set should remain unchanged when script execution
        is paused.

        * inspector/debugger-cyclic-ref.html:
        * inspector/debugger-eval-while-paused.html:
        * inspector/debugger-no-nested-pause.html:
        * inspector/debugger-pause-in-eval-script.html:
        * inspector/debugger-pause-on-debugger-statement.html:
        * inspector/debugger-proto-property.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 157e3518
2010-08-13 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: DRT sometimes crashes on debugger tests
https://bugs.webkit.org/show_bug.cgi?id=43964
notifyDone() should be called only when debugger already resumed all active DOM objects,
otherwise we might accidentally call setTimeout in the inspected page and create
a new active DOM object while their set should remain unchanged when script execution
is paused.
* inspector/debugger-cyclic-ref.html:
* inspector/debugger-eval-while-paused.html:
* inspector/debugger-no-nested-pause.html:
* inspector/debugger-pause-in-eval-script.html:
* inspector/debugger-pause-on-debugger-statement.html:
* inspector/debugger-proto-property.html:
2010-08-12 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
......@@ -10,11 +10,12 @@ function testFunction()
{
var o = new Object();
debugger;
notifyDone();
}
function doit()
{
evaluateInWebInspector("frontend_testDebugObjectWithCyclicRef", completeTest);
evaluateInWebInspector("frontend_testDebugObjectWithCyclicRef", dumpArray);
}
function frontend_testDebugObjectWithCyclicRef(testController)
......
......@@ -9,6 +9,7 @@ var globalVar = { b: 1 };
function slave(x) {
var y = 20;
debugger;
notifyDone();
}
function testFunction() {
......@@ -18,7 +19,7 @@ function testFunction() {
function doit()
{
evaluateInWebInspector("frontend_testPauseOnDebuggerStatement", completeTest);
evaluateInWebInspector("frontend_testPauseOnDebuggerStatement", dumpArray);
}
function frontend_testPauseOnDebuggerStatement(testController)
......
......@@ -8,12 +8,15 @@ function testFunction()
{
testFunction.invocationCount++;
debugger;
if (testFunction.didExitFromNestedCall)
notifyDone();
testFunction.didExitFromNestedCall = true;
}
testFunction.invocationCount = 0;
function doit()
{
evaluateInWebInspector("frontend_testNoNestedPause", completeTest);
evaluateInWebInspector("frontend_testNoNestedPause", dumpArray);
}
function frontend_testNoNestedPause(testController)
......
......@@ -6,7 +6,7 @@
function doit()
{
evaluateInWebInspector("frontend_testPauseOnDebuggerStatement", completeTest);
evaluateInWebInspector("frontend_testPauseOnDebuggerStatement", dumpArray);
}
function frontend_testPauseOnDebuggerStatement(testController)
......@@ -17,6 +17,7 @@ function frontend_testPauseOnDebuggerStatement(testController)
var scriptToEvaluate = "function testFunction() {\n" +
" debugger;\n" +
" notifyDone();\n" +
"}\n" +
"setTimeout(testFunction, 0);\n";
function debuggerWasEnabledCallback()
......
......@@ -6,11 +6,12 @@
function testFunction() {
debugger;
notifyDone();
}
function doit()
{
evaluateInWebInspector("frontend_testPauseOnDebuggerStatement", completeTest);
evaluateInWebInspector("frontend_testPauseOnDebuggerStatement", dumpArray);
}
function frontend_testPauseOnDebuggerStatement(testController)
......
......@@ -14,11 +14,12 @@ function testFunction() {
var o = new C();
var d = document.documentElement;
debugger;
notifyDone();
}
function doit()
{
evaluateInWebInspector("frontend_testProtoPropertyOnPause", completeTest);
evaluateInWebInspector("frontend_testProtoPropertyOnPause", dumpArray);
}
function frontend_testProtoPropertyOnPause(testController)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment