[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 11:30:01 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 17db59cedad93009d46e39410f01a3e9e1da041f
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jul 27 16:12:30 2010 +0000
2010-07-27 Pavel Podivilov <podivilov at chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461
* http/tests/inspector/debugger-test.js:
(frontend_scriptsAreParsed):
(frontend_waitUntilScriptsAreParsed.waitForAllScripts):
(frontend_waitUntilScriptsAreParsed):
(frontend_ensureSourceFrameLoaded):
(frontend_showScriptSource):
* inspector/debugger-breakpoints-not-activated-on-reload-expected.txt: Added.
* inspector/debugger-breakpoints-not-activated-on-reload.html: Added.
* platform/gtk/Skipped: skip the test on GTK due to JSC debugger issue
2010-07-27 Pavel Podivilov <podivilov at chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461
Test: inspector/debugger-breakpoints-not-activated-on-reload.html
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-07-27 Pavel Podivilov <podivilov at chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: if breakpoints were deactivated, add new breakpoints as disabled.
https://bugs.webkit.org/show_bug.cgi?id=41461
* src/js/DebuggerScript.js:
():
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 23ee90c..256ed54 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,20 @@
+2010-07-27 Pavel Podivilov <podivilov at chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: do not activate all breakpoints on page reload
+ https://bugs.webkit.org/show_bug.cgi?id=41461
+
+ * http/tests/inspector/debugger-test.js:
+ (frontend_scriptsAreParsed):
+ (frontend_waitUntilScriptsAreParsed.waitForAllScripts):
+ (frontend_waitUntilScriptsAreParsed):
+ (frontend_ensureSourceFrameLoaded):
+ (frontend_showScriptSource):
+ * inspector/debugger-breakpoints-not-activated-on-reload-expected.txt: Added.
+ * inspector/debugger-breakpoints-not-activated-on-reload.html: Added.
+ * platform/gtk/Skipped: skip the test on GTK due to JSC debugger issue
+
2010-07-27 Steve Block <steveblock at google.com>
Reviewed by Jeremy Orlow.
diff --git a/LayoutTests/http/tests/inspector/debugger-test.js b/LayoutTests/http/tests/inspector/debugger-test.js
index 650d2b9..2743916 100644
--- a/LayoutTests/http/tests/inspector/debugger-test.js
+++ b/LayoutTests/http/tests/inspector/debugger-test.js
@@ -33,3 +33,69 @@ function frontend_completeDebuggerTest(testController)
testController.notifyDone();
});
}
+
+function frontend_scriptsAreParsed(scripts)
+{
+ var scriptSelect = document.getElementById("scripts-files");
+ var options = scriptSelect.options;
+
+ // Check that all the expected scripts are present.
+ for (var i = 0; i < scripts.length; i++) {
+ var found = false;
+ for (var j = 0; j < options.length; j++) {
+ if (options[j].text.search(scripts[i]) !== -1) {
+ found = true;
+ break;
+ }
+ }
+ if (!found)
+ return false;
+ }
+ return true;
+};
+
+function frontend_waitUntilScriptsAreParsed(scripts, callback)
+{
+ function waitForAllScripts()
+ {
+ if (frontend_scriptsAreParsed(scripts))
+ callback();
+ else
+ frontend_addSniffer(WebInspector, "parsedScriptSource", waitForAllScripts);
+ }
+ waitForAllScripts();
+};
+
+function frontend_ensureSourceFrameLoaded(sourceFrame, callback)
+{
+ if (!sourceFrame._loaded)
+ frontend_addSniffer(sourceFrame, "setContent", callback);
+ else
+ callback();
+}
+
+function frontend_showScriptSource(scriptName, callback)
+{
+ var scriptSelect = document.getElementById("scripts-files");
+ var options = scriptSelect.options;
+ var scriptsPanel = WebInspector.panels.scripts;
+
+ // Select page's script if it's not current option.
+ var scriptResource;
+ if (options[scriptSelect.selectedIndex].text === scriptName)
+ scriptResource = options[scriptSelect.selectedIndex].representedObject;
+ else {
+ var pageScriptIndex = -1;
+ for (var i = 0; i < options.length; i++) {
+ if (options[i].text === scriptName) {
+ pageScriptIndex = i;
+ break;
+ }
+ }
+ scriptResource = options[pageScriptIndex].representedObject;
+ scriptsPanel._showScriptOrResource(scriptResource);
+ }
+
+ var view = scriptsPanel.visibleView;
+ frontend_ensureSourceFrameLoaded(view.sourceFrame, callback.bind(null, view));
+};
diff --git a/LayoutTests/inspector/debugger-breakpoints-not-activated-on-reload-expected.txt b/LayoutTests/inspector/debugger-breakpoints-not-activated-on-reload-expected.txt
new file mode 100644
index 0000000..9afbb90
--- /dev/null
+++ b/LayoutTests/inspector/debugger-breakpoints-not-activated-on-reload-expected.txt
@@ -0,0 +1,7 @@
+Tests that breakpoints are not activated on page reload.Bug 41461
+
+Debugger was enabled.
+Scripts were parsed.
+Breakpoints deactivated.
+Disabled debugger.
+
diff --git a/LayoutTests/inspector/debugger-breakpoints-not-activated-on-reload.html b/LayoutTests/inspector/debugger-breakpoints-not-activated-on-reload.html
new file mode 100644
index 0000000..c8718d8
--- /dev/null
+++ b/LayoutTests/inspector/debugger-breakpoints-not-activated-on-reload.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<script src="../http/tests/inspector/inspector-test.js"></script>
+<script src="../http/tests/inspector/debugger-test.js"></script>
+<script>
+
+function testFunction()
+{
+ return 0;
+}
+
+function doit()
+{
+ evaluateInWebInspector("frontend_testBreakpointsNotActivatedOnReload", completeTest);
+}
+
+function frontend_testBreakpointsNotActivatedOnReload(testController)
+{
+ var testName = WebInspector.mainResource.url;
+ testName = testName.substring(testName.lastIndexOf('/') + 1);
+
+ testController.waitUntilDone();
+
+ WebInspector.showScriptsPanel();
+ frontend_ensureDebuggerEnabled(debuggerWasEnabledCallback);
+
+ function debuggerWasEnabledCallback()
+ {
+ testController.results.push("Debugger was enabled.");
+ frontend_waitUntilScriptsAreParsed([testName], waitUntilScriptsAreParsedCallback);
+ }
+
+ function waitUntilScriptsAreParsedCallback()
+ {
+ testController.results.push("Scripts were parsed.");
+ frontend_showScriptSource(testName, showScriptSourceCallback);
+ }
+
+ function showScriptSourceCallback(view)
+ {
+ if (!WebInspector.testBreakpointsNotActivatedOnReloadFlag) {
+ view._addBreakpoint(8);
+ WebInspector.panels.scripts.toggleBreakpointsButton.element.click();
+ InspectorBackend.reloadPage();
+ WebInspector.testBreakpointsNotActivatedOnReloadFlag = true;
+ } else {
+ if (!WebInspector.panels.scripts.breakpointsActivated)
+ testController.results.push("Breakpoints deactivated.");
+ else
+ testController.results.push("Error: breakpoints activated.");
+ frontend_completeDebuggerTest(testController);
+ }
+ }
+}
+
+</script>
+</head>
+
+<body onload="onload()">
+<p>
+Tests that breakpoints are not activated on page reload.<a href="https://bugs.webkit.org/show_bug.cgi?id=41461">Bug 41461</a>
+</p>
+
+</body>
+</html>
+
+
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 1adb468..b5e54ff 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -5873,3 +5873,7 @@ editing/selection/drag-start-event-client-x-y.html
editing/pasteboard/drop-link.html
media
http/tests/media
+
+# Flaky due to JSC debugger issue.
+# https://bugs.webkit.org/show_bug.cgi?id=43034
+inspector/debugger-breakpoints-not-activated-on-reload.html
\ No newline at end of file
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 150d0e3..ed4bac8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-07-27 Pavel Podivilov <podivilov at chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: do not activate all breakpoints on page reload
+ https://bugs.webkit.org/show_bug.cgi?id=41461
+
+ Test: inspector/debugger-breakpoints-not-activated-on-reload.html
+
+ * inspector/front-end/ScriptView.js:
+ (WebInspector.ScriptView.prototype._addBreakpoint):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype._breakpointAdded):
+ (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._addBreakpoint):
+
2010-07-27 Pranav Kedia <pranavk at chromium.org>
Reviewed by Adam Barth.
diff --git a/WebCore/inspector/front-end/ScriptView.js b/WebCore/inspector/front-end/ScriptView.js
index c576510..597fd28 100644
--- a/WebCore/inspector/front-end/ScriptView.js
+++ b/WebCore/inspector/front-end/ScriptView.js
@@ -97,6 +97,8 @@ WebInspector.ScriptView.prototype = {
_addBreakpoint: function(line)
{
WebInspector.breakpointManager.setBreakpoint(this.script.sourceID, this.script.sourceURL, line, true, "");
+ if (!WebInspector.panels.scripts.breakpointsActivated)
+ WebInspector.panels.scripts.toggleBreakpointsClicked();
},
_editLineComplete: function(newBody)
diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js
index 7a1a4d5..dff4853 100644
--- a/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/WebCore/inspector/front-end/ScriptsPanel.js
@@ -104,10 +104,10 @@ WebInspector.ScriptsPanel = function()
this.sidebarButtonsElement.appendChild(this.stepOutButton);
this.toggleBreakpointsButton = new WebInspector.StatusBarButton("", "toggle-breakpoints");
- this.toggleBreakpointsButton.addEventListener("click", this._toggleBreakpointsClicked.bind(this), false);
+ this.toggleBreakpointsButton.addEventListener("click", this.toggleBreakpointsClicked.bind(this), false);
this.sidebarButtonsElement.appendChild(this.toggleBreakpointsButton.element);
// Breakpoints should be activated by default, so emulate a click to toggle on.
- this._toggleBreakpointsClicked();
+ this.toggleBreakpointsClicked();
this.debuggerStatusElement = document.createElement("div");
this.debuggerStatusElement.id = "scripts-debugger-status";
@@ -164,7 +164,7 @@ WebInspector.ScriptsPanel = function()
this._pauseOnExceptionButton = new WebInspector.StatusBarButton("", "scripts-pause-on-exceptions-status-bar-item", 3);
this._pauseOnExceptionButton.addEventListener("click", this._togglePauseOnExceptions.bind(this), false);
this._pauseOnExceptionButton.state = WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions;
- this._pauseOnExceptionButton.title = WebInspector.UIString("Don't pause on exceptions.\nClick to Pause on all exceptions.");
+ this._pauseOnExceptionButton.title = WebInspector.UIString("Don't pause on exceptions.\nClick to Pause on all exceptions.");
this._registerShortcuts();
@@ -219,7 +219,7 @@ WebInspector.ScriptsPanel.prototype = {
delete this._attachDebuggerWhenShown;
}
},
-
+
hide: function()
{
if (this.visibleView)
@@ -278,7 +278,7 @@ WebInspector.ScriptsPanel.prototype = {
// Remove script from the files list.
script.filesSelectOption.parentElement.removeChild(script.filesSelectOption);
-
+
// Move breakpoints to the resource's frame.
if (script._scriptView) {
var sourceFrame = script._scriptView.sourceFrame;
@@ -296,9 +296,6 @@ WebInspector.ScriptsPanel.prototype = {
{
var breakpoint = event.data;
- if (!this.breakpointsActivated)
- this._toggleBreakpointsClicked();
-
var sourceFrame;
if (breakpoint.url) {
var resource = WebInspector.resourceURLMap[breakpoint.url];
@@ -540,7 +537,7 @@ WebInspector.ScriptsPanel.prototype = {
this._showScriptOrResource(scriptOrResource, {line: line, shouldHighlightLine: true});
},
- _scriptOrResourceForURLAndLine: function(url, line)
+ _scriptOrResourceForURLAndLine: function(url, line)
{
var scriptWithMatchingUrl = null;
for (var sourceID in this._sourceIDMap) {
@@ -612,8 +609,7 @@ WebInspector.ScriptsPanel.prototype = {
_showScriptOrResource: function(scriptOrResource, options)
{
// options = {line:, shouldHighlightLine:, fromBackForwardAction:, initialLoad:}
- if (!options)
- options = {};
+ options = options || {};
if (!scriptOrResource)
return;
@@ -695,7 +691,7 @@ WebInspector.ScriptsPanel.prototype = {
return;
this._resourceForURLInFilesSelect[script.resource.url] = script.resource;
}
-
+
var displayName = script.sourceURL ? WebInspector.displayNameForURL(script.sourceURL) : WebInspector.UIString("(program)");
var select = this.filesSelectElement;
@@ -814,7 +810,7 @@ WebInspector.ScriptsPanel.prototype = {
this.resize();
},
-
+
updatePauseOnExceptionsState: function(pauseOnExceptionsState)
{
if (pauseOnExceptionsState == WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions)
@@ -973,7 +969,7 @@ WebInspector.ScriptsPanel.prototype = {
InspectorBackend.stepOutOfFunction();
},
- _toggleBreakpointsClicked: function()
+ toggleBreakpointsClicked: function()
{
this.toggleBreakpointsButton.toggled = !this.toggleBreakpointsButton.toggled;
if (this.toggleBreakpointsButton.toggled) {
diff --git a/WebCore/inspector/front-end/SourceView.js b/WebCore/inspector/front-end/SourceView.js
index 1bf8194..4d03ecd 100644
--- a/WebCore/inspector/front-end/SourceView.js
+++ b/WebCore/inspector/front-end/SourceView.js
@@ -128,6 +128,8 @@ WebInspector.SourceView.prototype = {
{
var sourceID = this._sourceIDForLine(line);
WebInspector.breakpointManager.setBreakpoint(sourceID, this.resource.url, line, true, "");
+ if (!WebInspector.panels.scripts.breakpointsActivated)
+ WebInspector.panels.scripts.toggleBreakpointsClicked();
},
_removeBreakpoint: function(breakpoint)
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 9d136da..1b5966d 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-27 Pavel Podivilov <podivilov at chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: if breakpoints were deactivated, add new breakpoints as disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=41461
+
+ * src/js/DebuggerScript.js:
+ ():
+
2010-07-27 Ilya Tikhonovsky <loislo at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebKit/chromium/src/js/DebuggerScript.js b/WebKit/chromium/src/js/DebuggerScript.js
index 7181d74..cc37fd4 100644
--- a/WebKit/chromium/src/js/DebuggerScript.js
+++ b/WebKit/chromium/src/js/DebuggerScript.js
@@ -32,6 +32,7 @@
var DebuggerScript = {};
DebuggerScript._breakpoints = {};
+DebuggerScript._breakpointsActivated = true;
DebuggerScript.PauseOnExceptionsState = {
DontPauseOnExceptions : 0,
@@ -94,7 +95,7 @@ DebuggerScript.setBreakpoint = function(execState, args)
{
args.lineNumber = DebuggerScript._webkitToV8LineNumber(args.lineNumber);
var breakId = Debug.setScriptBreakPointById(args.scriptId, args.lineNumber, 0 /* column */, args.condition);
- if (!args.enabled)
+ if (!args.enabled || !DebuggerScript._breakpointsActivated)
Debug.disableScriptBreakPoint(breakId);
var locations = Debug.findBreakPointActualLocations(breakId);
@@ -204,6 +205,7 @@ DebuggerScript.setBreakpointsActivated = function(execState, args)
else
Debug.disableScriptBreakPoint(breakId);
}
+ DebuggerScript._breakpointsActivated = args.enabled;
}
DebuggerScript._frameMirrorToJSCallFrame = function(frameMirror, callerFrame)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list