https://bugs.webkit.org/show_bug.cgi?id=83374
Reviewed by Yury Semikhatsky.
Source/WebCore:
Just moves the state and adds event to propagate it. This is needed to abstract
JavaScriptSourceFrame from the ScriptsPanel.
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
(WebInspector.DebuggerPresentationModel.prototype.setBreakpointsActive):
(WebInspector.DebuggerPresentationModel.prototype.breakpointsActive):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
(WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
(WebInspector.ScriptsPanel.prototype._createDebugToolbar):
LayoutTests:
* http/tests/inspector/debugger-test.js:
* inspector/debugger/debugger-breakpoints-not-activated-on-reload.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move breakpoints active state from scripts panel to debugger presentation model.
+ https://bugs.webkit.org/show_bug.cgi?id=83374
+
+ Reviewed by Yury Semikhatsky.
+
+ * http/tests/inspector/debugger-test.js:
+ * inspector/debugger/debugger-breakpoints-not-activated-on-reload.html:
+
2012-04-07 Andrew Scherkus <scherkus@chromium.org>
[Chromium] Unreviewed, checking in baselines for video-frame-size-change.html.
{
var scriptsPanel = WebInspector.panels.scripts;
- scriptsPanel.activateBreakpoints();
+ WebInspector.debuggerPresentationModel.setBreakpointsActive(true);
InspectorTest.resumeExecution(disableDebugger);
function disableDebugger()
{
InspectorTest.addResult("Main resource was shown.");
InspectorTest.setBreakpoint(sourceFrame, 8, "", true);
- WebInspector.panels.scripts.toggleBreakpointsButton.element.click();
+ WebInspector.panels.scripts._toggleBreakpointsButton.element.click();
InspectorTest.reloadPage(step4);
}
function step4()
{
InspectorTest.addResult("Main resource was shown.");
- if (!WebInspector.panels.scripts.breakpointsActivated())
+ if (!WebInspector.debuggerPresentationModel.breakpointsActive())
InspectorTest.addResult("Breakpoints are deactivated.");
else
InspectorTest.addResult("Error: breakpoints are activated.");
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move breakpoints active state from scripts panel to debugger presentation model.
+ https://bugs.webkit.org/show_bug.cgi?id=83374
+
+ Reviewed by Yury Semikhatsky.
+
+ Just moves the state and adds event to propagate it. This is needed to abstract
+ JavaScriptSourceFrame from the ScriptsPanel.
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel):
+ (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
+ (WebInspector.DebuggerPresentationModel.prototype.setBreakpointsActive):
+ (WebInspector.DebuggerPresentationModel.prototype.breakpointsActive):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
+ (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
+ (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
+
2012-04-08 Takashi Sakamoto <tasak@google.com>
<content> in <meter> is not rendered correctly.
this._presentationCallFrames = [];
this._breakpointManager = new WebInspector.BreakpointManager(WebInspector.settings.breakpoints, WebInspector.debuggerModel, this._scriptMapping);
+ this._breakpointsActive = true;
this._pendingConsoleMessages = {};
this._consoleMessageLiveLocations = [];
DebuggerReset: "debugger-reset",
CallFrameSelected: "call-frame-selected",
ConsoleCommandEvaluatedInSelectedCallFrame: "console-command-evaluated-in-selected-call-frame",
- ExecutionLineChanged: "execution-line-changed"
+ ExecutionLineChanged: "execution-line-changed",
+ BreakpointsActiveStateChanged: "breakpoints-active-state-changed"
}
WebInspector.DebuggerPresentationModel.prototype = {
setBreakpoint: function(uiSourceCode, lineNumber, condition, enabled)
{
this._breakpointManager.setBreakpoint(uiSourceCode, lineNumber, condition, enabled);
+ this.setBreakpointsActive(true);
},
/**
this._pendingConsoleMessages = {};
this._consoleMessageLiveLocations = [];
this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.DebuggerReset);
+ },
+
+ /**
+ * @param {boolean} active
+ */
+ setBreakpointsActive: function(active)
+ {
+ if (this._breakpointsActive === active)
+ return;
+ this._breakpointsActive = active;
+ DebuggerAgent.setBreakpointsActive(active);
+ this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.BreakpointsActiveStateChanged, active);
+ },
+
+ /**
+ * @return {boolean}
+ */
+ breakpointsActive: function()
+ {
+ return this._breakpointsActive;
}
}
_setBreakpoint: function(lineNumber, condition, enabled)
{
this._model.setBreakpoint(this._uiSourceCode, lineNumber, condition, enabled);
- this._scriptsPanel.activateBreakpoints();
},
_onMouseDown: function(event)
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.ConsoleCommandEvaluatedInSelectedCallFrame, this._consoleCommandEvaluatedInSelectedCallFrame, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.ExecutionLineChanged, this._executionLineChanged, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.DebuggerReset, this._reset.bind(this, false));
+ this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.BreakpointsActiveStateChanged, this._breakpointsActiveStateChanged, this);
var enableDebugger = !Capabilities.debuggerCausesRecompilation || WebInspector.settings.debuggerEnabled.get();
if (enableDebugger)
window.setTimeout(this._maybeShowNavigatorOverlay.bind(this), 0);
},
- breakpointsActivated: function()
- {
- return this.toggleBreakpointsButton.toggled;
- },
-
- activateBreakpoints: function()
- {
- if (!this.breakpointsActivated)
- this._toggleBreakpointsClicked();
- },
-
_didBuildOutlineChunk: function(event)
{
WebInspector.JavaScriptOutlineDialog.didAddChunk(event.data);
DebuggerAgent.stepOut();
},
- _toggleBreakpointsClicked: function()
+ _toggleBreakpointsClicked: function(event)
+ {
+ this._presentationModel.setBreakpointsActive(!this._presentationModel.breakpointsActive());
+ },
+
+ _breakpointsActiveStateChanged: function(event)
{
- this.toggleBreakpointsButton.toggled = !this.toggleBreakpointsButton.toggled;
- if (this.toggleBreakpointsButton.toggled) {
- DebuggerAgent.setBreakpointsActive(true);
- this.toggleBreakpointsButton.title = WebInspector.UIString("Deactivate all breakpoints.");
+ var active = event.data;
+ this._toggleBreakpointsButton.toggled = active;
+ if (active) {
+ this._toggleBreakpointsButton.title = WebInspector.UIString("Deactivate all breakpoints.");
WebInspector.inspectorView.element.removeStyleClass("breakpoints-deactivated");
} else {
- DebuggerAgent.setBreakpointsActive(false);
- this.toggleBreakpointsButton.title = WebInspector.UIString("Activate all breakpoints.");
+ this._toggleBreakpointsButton.title = WebInspector.UIString("Activate all breakpoints.");
WebInspector.inspectorView.element.addStyleClass("breakpoints-deactivated");
}
},
this.stepOutButton = this._createButtonAndRegisterShortcuts("scripts-step-out", title, handler, shortcuts, WebInspector.UIString("Step out"));
debugToolbar.appendChild(this.stepOutButton);
- this.toggleBreakpointsButton = new WebInspector.StatusBarButton(WebInspector.UIString("Deactivate all breakpoints."), "toggle-breakpoints");
- this.toggleBreakpointsButton.toggled = true;
- this.toggleBreakpointsButton.addEventListener("click", this._toggleBreakpointsClicked, this);
- debugToolbar.appendChild(this.toggleBreakpointsButton.element);
+ this._toggleBreakpointsButton = new WebInspector.StatusBarButton(WebInspector.UIString("Deactivate all breakpoints."), "toggle-breakpoints");
+ this._toggleBreakpointsButton.toggled = true;
+ this._toggleBreakpointsButton.addEventListener("click", this._toggleBreakpointsClicked, this);
+ debugToolbar.appendChild(this._toggleBreakpointsButton.element);
this.debuggerStatusElement = document.createElement("div");
this.debuggerStatusElement.id = "scripts-debugger-status";