Diff
Modified: trunk/LayoutTests/ChangeLog (111594 => 111595)
--- trunk/LayoutTests/ChangeLog 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/LayoutTests/ChangeLog 2012-03-21 19:42:51 UTC (rev 111595)
@@ -1,3 +1,13 @@
+2012-03-21 Vsevolod Vlasov <[email protected]>
+
+ Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
+ https://bugs.webkit.org/show_bug.cgi?id=81669
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/debugger/breakpoint-manager-expected.txt:
+ * inspector/debugger/breakpoint-manager.html:
+
2012-03-21 Xiaomei Ji <[email protected]>
add DOCTYPE for move-by-word-visually tests
Modified: trunk/LayoutTests/inspector/debugger/breakpoint-manager-expected.txt (111594 => 111595)
--- trunk/LayoutTests/inspector/debugger/breakpoint-manager-expected.txt 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/LayoutTests/inspector/debugger/breakpoint-manager-expected.txt 2012-03-21 19:42:51 UTC (rev 111595)
@@ -3,15 +3,13 @@
Running: uiSourceCodeAdded
breakpointAdded(a.js, 10, foo == bar, true)
+debuggerModel.setBreakpoint(a.js:10:0)
breakpointAdded(a.js, 20, , false)
-breakpointAdded(b.js, 3, , true)
-debuggerModel.setBreakpoint(a.js:10:0)
Running: setAndRemoveBreakpoints
breakpointAdded(a.js, 10, foo == bar, true)
+debuggerModel.setBreakpoint(a.js:10:0)
breakpointAdded(a.js, 20, , false)
-breakpointAdded(b.js, 3, , true)
-debuggerModel.setBreakpoint(a.js:10:0)
breakpointAdded(a.js, 30, , true)
debuggerModel.setBreakpoint(a.js:30:0)
breakpointRemoved(a.js, 30)
@@ -32,16 +30,19 @@
Running: testNavigation
breakpointAdded(a.js, 10, foo == bar, true)
+debuggerModel.setBreakpoint(a.js:10:0)
breakpointAdded(a.js, 20, , false)
-breakpointAdded(b.js, 3, , true)
-debuggerModel.setBreakpoint(a.js:10:0)
Navigate to B.
+breakpointRemoved(a.js, 10)
+breakpointRemoved(a.js, 20)
+breakpointAdded(b.js, 3, , true)
debuggerModel.setBreakpoint(b.js:3:0)
Navigate back to A.
-breakpointRemoved(a.js, 10)
+breakpointRemoved(b.js, 3)
breakpointAdded(a.js, 11, foo == bar, true)
+breakpointAdded(a.js, 20, , false)
Running: testFormatting
breakpointAdded(c.js, 4, , true)
@@ -49,6 +50,7 @@
Format source.
debuggerModel.removeBreakpoint(c.js:4:0)
+breakpointRemoved(c.js, 4)
breakpointAdded(deobfuscated:c.js, 4, , true)
debuggerModel.setBreakpoint(c.js:2:0)
breakpointAdded(deobfuscated:c.js, 8, , false)
@@ -60,5 +62,9 @@
Reload.
breakpointRemoved(deobfuscated:c.js, 4)
+breakpointRemoved(deobfuscated:c.js, 12)
+breakpointAdded(deobfuscated:c.js, 4, , true)
+breakpointAdded(deobfuscated:c.js, 12, , true)
+breakpointRemoved(deobfuscated:c.js, 4)
breakpointAdded(deobfuscated:c.js, 6, , true)
Modified: trunk/LayoutTests/inspector/debugger/breakpoint-manager.html (111594 => 111595)
--- trunk/LayoutTests/inspector/debugger/breakpoint-manager.html 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/LayoutTests/inspector/debugger/breakpoint-manager.html 2012-03-21 19:42:51 UTC (rev 111595)
@@ -15,15 +15,15 @@
var uiBreakpoints = {};
function breakpointAdded(breakpoint)
{
- InspectorTest.addResult("breakpointAdded(" + [breakpoint.uiSourceCodeId, breakpoint.lineNumber, breakpoint.condition, breakpoint.enabled].join(", ") + ")");
- var breakpointId = breakpoint.uiSourceCodeId + ":" + breakpoint.lineNumber;
+ InspectorTest.addResult("breakpointAdded(" + [breakpoint.uiSourceCode.id, breakpoint.lineNumber, breakpoint.condition, breakpoint.enabled].join(", ") + ")");
+ var breakpointId = breakpoint.uiSourceCode.id + ":" + breakpoint.lineNumber;
InspectorTest.assertTrue(!(breakpointId in uiBreakpoints));
uiBreakpoints[breakpointId] = breakpoint.condition + "|" + breakpoint.enabled;
}
function breakpointRemoved(breakpoint)
{
- InspectorTest.addResult("breakpointRemoved(" + [breakpoint.uiSourceCodeId, breakpoint.lineNumber].join(", ") + ")");
- var breakpointId = breakpoint.uiSourceCodeId + ":" + breakpoint.lineNumber;
+ InspectorTest.addResult("breakpointRemoved(" + [breakpoint.uiSourceCode.id, breakpoint.lineNumber].join(", ") + ")");
+ var breakpointId = breakpoint.uiSourceCode.id + ":" + breakpoint.lineNumber;
InspectorTest.assertTrue(breakpointId in uiBreakpoints);
delete uiBreakpoints[breakpointId];
}
@@ -89,7 +89,7 @@
function checkResults()
{
- assertEquals({"a.js:10":"foo == bar|true","a.js:20":"|false","b.js:3":"|true"}, uiBreakpoints);
+ assertEquals({"a.js:10":"foo == bar|true","a.js:20":"|false"}, uiBreakpoints);
assertEquals({"a.js:10:0": "foo == bar"}, debuggerBreakpoints);
next();
}
@@ -173,7 +173,7 @@
function navigateToA()
{
- assertEquals({"a.js:10":"foo == bar|true","a.js:20":"|false","b.js:3":"|true"}, uiBreakpoints);
+ assertEquals({"b.js:3":"|true"}, uiBreakpoints);
assertEquals({"a.js:10:0":"foo == bar","b.js:3:0":""}, debuggerBreakpoints);
InspectorTest.addResult("\nNavigate back to A.");
@@ -187,7 +187,7 @@
function checkResults()
{
- assertEquals({"a.js:20":"|false","b.js:3":"|true","a.js:11":"foo == bar|true"}, uiBreakpoints);
+ assertEquals({"a.js:20":"|false","a.js:11":"foo == bar|true"}, uiBreakpoints);
assertEquals({"a.js:10:0":"foo == bar","b.js:3:0":""}, debuggerBreakpoints);
checkBreakpointStorage([{"sourceFileId":"a.js","lineNumber":11,"condition":"foo == bar","enabled":true},
{"sourceFileId":"a.js","lineNumber":20,"condition":"","enabled":false},
@@ -217,6 +217,7 @@
InspectorTest.addResult("\nFormat source.");
breakpointManager.reset();
+ breakpointManager.uiSourceCodeRemoved(originalUISourceCode);
scriptMapping.rawLocationToUILocation = function(rawLocation) { return { lineNumber: rawLocation.lineNumber * 2, columnNumber: rawLocation.columnNumber * 2 }; };
scriptMapping.uiLocationToRawLocation = function(uiSourceCode, lineNumber) { return { scriptId: "c.js", lineNumber: Math.floor(lineNumber / 2), columnNumber: 0 }; };
Modified: trunk/Source/WebCore/ChangeLog (111594 => 111595)
--- trunk/Source/WebCore/ChangeLog 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/Source/WebCore/ChangeLog 2012-03-21 19:42:51 UTC (rev 111595)
@@ -1,3 +1,46 @@
+2012-03-21 Vsevolod Vlasov <[email protected]>
+
+ Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
+ https://bugs.webkit.org/show_bug.cgi?id=81669
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.get for):
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
+ (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
+ (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
+ (WebInspector.BreakpointManager.prototype.setBreakpoint):
+ (WebInspector.BreakpointManager.prototype.removeBreakpoint):
+ (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
+ (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
+ (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
+ (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
+ (WebInspector.BreakpointManager.prototype._uiBreakpoints):
+ (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
+ (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
+ (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
+ (WebInspector.BreakpointManager.prototype._breakpoints):
+ (WebInspector.BreakpointManager.prototype._breakpoint):
+ (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
+ (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
+ (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
+ (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
+ (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
+ (WebInspector.BreakpointManager.prototype.debuggerReset):
+ (WebInspector.Breakpoint.prototype.serialize):
+ (WebInspector.Breakpoint.prototype.get uiBreakpoint):
+ (WebInspector.Breakpoint.prototype.createUIBreakpoint):
+ (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
+ (WebInspector.UIBreakpoint):
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
+ (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
+ (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
+ (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
+ * inspector/front-end/ScriptsPanel.js:
+
2012-03-21 Anders Carlsson <[email protected]>
TileCache needs to know if its containing page is in a window
Modified: trunk/Source/WebCore/inspector/front-end/BreakpointManager.js (111594 => 111595)
--- trunk/Source/WebCore/inspector/front-end/BreakpointManager.js 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/Source/WebCore/inspector/front-end/BreakpointManager.js 2012-03-21 19:42:51 UTC (rev 111595)
@@ -31,8 +31,8 @@
/**
* @constructor
* @param {WebInspector.Setting} breakpointStorage
- * @param {function(WebInspector.Breakpoint)} breakpointAddedDelegate
- * @param {function(WebInspector.Breakpoint)} breakpointRemovedDelegate
+ * @param {function(WebInspector.UIBreakpoint)} breakpointAddedDelegate
+ * @param {function(WebInspector.UIBreakpoint)} breakpointRemovedDelegate
* @param {WebInspector.DebuggerModel} debuggerModel
* @param {WebInspector.MainScriptMapping} scriptMapping
*/
@@ -42,6 +42,10 @@
this._breakpointAddedDelegate = breakpointAddedDelegate;
this._breakpointRemovedDelegate = breakpointRemovedDelegate;
/**
+ * @type Map}
+ */
+ this._uiBreakpointsByUILocation = new Map();
+ /**
* @type {Object.<string, Object.<string,WebInspector.Breakpoint>>}
*/
this._breakpointsByUILocation = {};
@@ -59,7 +63,7 @@
for (var i = 0; i < breakpoints.length; ++i) {
var breakpoint = WebInspector.Breakpoint.deserialize(breakpoints[i]);
if (!this._breakpoint(breakpoint.uiSourceCodeId, breakpoint.lineNumber))
- this._addBreakpointToUI(breakpoint);
+ this._addBreakpointToModel(breakpoint);
}
}
@@ -72,7 +76,7 @@
var breakpoints = this._breakpoints(uiSourceCode.id);
for (var lineNumber in breakpoints) {
var breakpoint = breakpoints[lineNumber];
- breakpoint.uiSourceCode = uiSourceCode;
+ this._addBreakpointToUI(breakpoint, uiSourceCode);
this._materializeBreakpoint(breakpoint, uiSourceCode);
if (breakpoint._debuggerLocation)
this._breakpointDebuggerLocationChanged(breakpoint);
@@ -82,9 +86,22 @@
/**
* @param {WebInspector.UISourceCode} uiSourceCode
*/
+ uiSourceCodeRemoved: function(uiSourceCode)
+ {
+ var uiBreakpoints = this._uiBreakpoints(uiSourceCode);
+ for (var lineNumber in uiBreakpoints) {
+ var uiBreakpoint = uiBreakpoints[lineNumber];
+ this._removeBreakpointFromUI(uiBreakpoint);
+ }
+ },
+
+ /**
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ * @return {Object.<string,WebInspector.UIBreakpoint>|undefined}
+ */
breakpointsForUISourceCode: function(uiSourceCode)
{
- return this._breakpoints(uiSourceCode.id);
+ return this._uiBreakpoints(uiSourceCode);
},
/**
@@ -95,13 +112,11 @@
*/
setBreakpoint: function(uiSourceCode, lineNumber, condition, enabled)
{
- if (this._breakpoint(uiSourceCode.id, lineNumber))
+ if (this._uiBreakpoint(uiSourceCode, lineNumber))
return;
-
- var persistent = !!uiSourceCode.url;
- var breakpoint = new WebInspector.Breakpoint(uiSourceCode.id, lineNumber, condition, enabled, persistent);
- breakpoint.uiSourceCode = uiSourceCode;
- this._addBreakpointToUI(breakpoint);
+ var breakpoint = new WebInspector.Breakpoint(uiSourceCode.id, lineNumber, condition, enabled, !!uiSourceCode.url);
+ this._addBreakpointToModel(breakpoint);
+ this._addBreakpointToUI(breakpoint, uiSourceCode);
this._materializeBreakpoint(breakpoint, uiSourceCode);
},
@@ -111,24 +126,26 @@
*/
removeBreakpoint: function(uiSourceCode, lineNumber)
{
- var breakpoint = this._breakpoint(uiSourceCode.id, lineNumber);
- if (!breakpoint)
+ var uiBreakpoint = this._uiBreakpoint(uiSourceCode, lineNumber);
+ if (!uiBreakpoint)
return;
- this._removeBreakpoint(breakpoint);
+ this._innerRemoveBreakpoint(uiBreakpoint.breakpoint);
},
/**
* @param {WebInspector.Breakpoint} breakpoint
*/
- _removeBreakpoint: function(breakpoint)
+ _innerRemoveBreakpoint: function(breakpoint)
{
- this._deleteBreakpointFromUI(breakpoint);
+ if (breakpoint.uiBreakpoint)
+ this._removeBreakpointFromUI(breakpoint.uiBreakpoint);
+ this._removeBreakpointFromModel(breakpoint);
this._removeBreakpointFromDebugger(breakpoint);
},
removeAllBreakpoints: function()
{
- this._forEachBreakpoint(this._removeBreakpoint.bind(this));
+ this._forEachBreakpoint(this._innerRemoveBreakpoint.bind(this));
},
/**
@@ -162,69 +179,122 @@
/**
* @param {WebInspector.Breakpoint} breakpoint
+ * @param {number} lineNumber
+ * @return {boolean}
*/
- _addBreakpointToUI: function(breakpoint)
+ _moveBreakpointInUI: function(breakpoint, lineNumber)
{
- console.assert(!this._breakpoint(breakpoint.uiSourceCodeId, breakpoint.lineNumber));
- this._breakpoints(breakpoint.uiSourceCodeId)[breakpoint.lineNumber] = breakpoint;
- this._saveBreakpoints();
- this._breakpointAddedDelegate(breakpoint);
+ var uiSourceCode;
+ var uiBreakpoint = breakpoint.uiBreakpoint;
+ if (uiBreakpoint) {
+ this._removeBreakpointFromUI(uiBreakpoint);
+ uiSourceCode = uiBreakpoint.uiSourceCode;
+ }
+
+ this._removeBreakpointFromModel(breakpoint);
+ if (this._breakpoint(breakpoint.uiSourceCodeId, lineNumber))
+ return false;
+ breakpoint.lineNumber = lineNumber;
+ this._addBreakpointToModel(breakpoint);
+
+ if (uiSourceCode)
+ this._addBreakpointToUI(breakpoint, uiSourceCode);
+
+ return true;
},
/**
- * @param {WebInspector.Breakpoint} breakpoint
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ * @return {?Object.<string,WebInspector.UIBreakpoint>}
*/
- _deleteBreakpointFromUI: function(breakpoint)
+ _uiBreakpoints: function(uiSourceCode)
{
- console.assert(this._breakpoint(breakpoint.uiSourceCodeId, breakpoint.lineNumber) === breakpoint);
- delete this._breakpoints(breakpoint.uiSourceCodeId)[breakpoint.lineNumber];
- this._saveBreakpoints();
- this._breakpointRemovedDelegate(breakpoint);
+ if (!this._uiBreakpointsByUILocation.get(uiSourceCode))
+ this._uiBreakpointsByUILocation.put(uiSourceCode, {});
+ return this._uiBreakpointsByUILocation.get(uiSourceCode);
},
/**
- * @param {WebInspector.Breakpoint} breakpoint
+ * @param {WebInspector.UISourceCode} uiSourceCode
* @param {number} lineNumber
- * @return {boolean}
+ * @return {?WebInspector.UIBreakpoint}
*/
- _moveBreakpointInUI: function(breakpoint, lineNumber)
+ _uiBreakpoint: function(uiSourceCode, lineNumber)
{
- this._deleteBreakpointFromUI(breakpoint);
- if (this._breakpoint(breakpoint.uiSourceCodeId, lineNumber))
- return false;
- breakpoint.lineNumber = lineNumber;
- this._addBreakpointToUI(breakpoint);
- return true;
+ return this._uiBreakpoints(uiSourceCode)[String(lineNumber)];
},
/**
- * @param {string} uiSourceCodeId
+ * @param {WebInspector.Breakpoint} breakpoint
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ */
+ _addBreakpointToUI: function(breakpoint, uiSourceCode)
+ {
+ var uiBreakpoint = breakpoint.createUIBreakpoint(uiSourceCode);
+ console.assert(!this._uiBreakpoint(uiBreakpoint.uiSourceCode, uiBreakpoint.lineNumber));
+ this._uiBreakpoints(uiBreakpoint.uiSourceCode)[uiBreakpoint.lineNumber] = uiBreakpoint;
+ this._breakpointAddedDelegate(uiBreakpoint);
+ },
+
+ /**
+ * @param {WebInspector.UIBreakpoint} uiBreakpoint
+ */
+ _removeBreakpointFromUI: function(uiBreakpoint)
+ {
+ console.assert(this._uiBreakpoint(uiBreakpoint.uiSourceCode, uiBreakpoint.lineNumber) === uiBreakpoint);
+ delete this._uiBreakpoints(uiBreakpoint.uiSourceCode)[uiBreakpoint.lineNumber];
+ uiBreakpoint.breakpoint.removeUIBreakpoint();
+ this._breakpointRemovedDelegate(uiBreakpoint);
+ },
+
+ /**
+ * @param {string} id
* @return {?Object.<string,WebInspector.Breakpoint>}
*/
- _breakpoints: function(uiSourceCodeId)
+ _breakpoints: function(id)
{
- if (!this._breakpointsByUILocation[uiSourceCodeId])
- this._breakpointsByUILocation[uiSourceCodeId] = {};
- return this._breakpointsByUILocation[uiSourceCodeId];
+ if (!this._breakpointsByUILocation[id])
+ this._breakpointsByUILocation[id] = {};
+ return this._breakpointsByUILocation[id];
},
/**
- * @param {string} uiSourceCodeId
+ * @param {string} id
* @param {number} lineNumber
* @return {?WebInspector.Breakpoint}
*/
- _breakpoint: function(uiSourceCodeId, lineNumber)
+ _breakpoint: function(id, lineNumber)
{
- return this._breakpoints(uiSourceCodeId)[String(lineNumber)];
+ return this._breakpoints(id)[String(lineNumber)];
},
/**
+ * @param {WebInspector.Breakpoint} breakpoint
+ */
+ _addBreakpointToModel: function(breakpoint)
+ {
+ console.assert(!this._breakpoint(breakpoint.uiSourceCodeId, breakpoint.lineNumber));
+ this._breakpoints(breakpoint.uiSourceCodeId)[breakpoint.lineNumber] = breakpoint;
+ this._saveBreakpoints();
+ },
+
+ /**
+ * @param {WebInspector.Breakpoint} breakpoint
+ */
+ _removeBreakpointFromModel: function(breakpoint)
+ {
+ console.assert(this._breakpoint(breakpoint.uiSourceCodeId, breakpoint.lineNumber) === breakpoint);
+ delete this._breakpoints(breakpoint.uiSourceCodeId)[breakpoint.lineNumber];
+ this._saveBreakpoints();
+ },
+
+ /**
* @param {function(WebInspector.Breakpoint)} handler
*/
_forEachBreakpoint: function(handler)
{
- for (var uiSourceCodeId in this._breakpointsByUILocation) {
- var breakpoints = this._breakpointsByUILocation[uiSourceCodeId];
+ for (var id in this._breakpointsByUILocation) {
+ var breakpoints = this._breakpointsByUILocation[id];
for (var lineNumber in breakpoints)
handler(breakpoints[lineNumber]);
}
@@ -245,7 +315,9 @@
{
if (breakpoint === this._breakpoint(breakpoint.uiSourceCodeId, breakpoint.lineNumber)) {
if (!breakpointId) {
- this._deleteBreakpointFromUI(breakpoint);
+ if (breakpoint.uiBreakpoint)
+ this._removeBreakpointFromUI(breakpoint.uiBreakpoint);
+ this._removeBreakpointFromModel(breakpoint);
return;
}
} else {
@@ -268,7 +340,7 @@
*/
_removeBreakpointFromDebugger: function(breakpoint)
{
- if (!("_debuggerId" in breakpoint))
+ if (typeof(breakpoint._debuggerId) === "undefined")
return;
this._debuggerModel.removeBreakpoint(breakpoint._debuggerId);
delete this._breakpointsByDebuggerId[breakpoint._debuggerId];
@@ -324,11 +396,12 @@
*/
function resetOrDeleteBreakpoint(breakpoint)
{
- if (breakpoint.persistent) {
- delete breakpoint.uiSourceCode;
+ if (breakpoint.uiBreakpoint)
+ this._removeBreakpointFromUI(breakpoint.uiBreakpoint);
+ if (breakpoint.persistent)
delete breakpoint._debuggerLocation;
- } else {
- this._deleteBreakpointFromUI(breakpoint);
+ else {
+ this._removeBreakpointFromModel(breakpoint);
delete this._breakpointsByDebuggerId[breakpoint._debuggerId];
}
}
@@ -343,6 +416,7 @@
if (empty)
delete this._breakpointsByUILocation[id];
}
+ this._uiBreakpointsByUILocation = new Map();
}
}
@@ -375,6 +449,29 @@
serializedBreakpoint.condition = this.condition;
serializedBreakpoint.enabled = this.enabled;
return serializedBreakpoint;
+ },
+
+ /**
+ * @type {WebInspector.UIBreakpoint}
+ */
+ get uiBreakpoint()
+ {
+ return this._uiBreakpoint;
+ },
+
+ /**
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ * @return {WebInspector.UIBreakpoint}
+ */
+ createUIBreakpoint: function(uiSourceCode)
+ {
+ this._uiBreakpoint = new WebInspector.UIBreakpoint(uiSourceCode, this.lineNumber, this.condition, this.enabled, this);
+ return this._uiBreakpoint;
+ },
+
+ removeUIBreakpoint: function()
+ {
+ delete this._uiBreakpoint;
}
}
@@ -391,3 +488,21 @@
serializedBreakpoint.enabled,
true);
}
+
+/**
+ * @constructor
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ * @param {number} lineNumber
+ * @param {string} condition
+ * @param {boolean} enabled
+ * @param {WebInspector.Breakpoint} breakpoint
+ */
+WebInspector.UIBreakpoint = function(uiSourceCode, lineNumber, condition, enabled, breakpoint)
+{
+ this.uiSourceCode = uiSourceCode;
+ this.lineNumber = lineNumber;
+ this.condition = condition;
+ this.enabled = enabled;
+ this.breakpoint = breakpoint;
+ this.resolved = true;
+}
Modified: trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js (111594 => 111595)
--- trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2012-03-21 19:42:51 UTC (rev 111595)
@@ -63,8 +63,8 @@
UISourceCodeRemoved: "source-file-removed",
ConsoleMessageAdded: "console-message-added",
ConsoleMessagesCleared: "console-messages-cleared",
- BreakpointAdded: "breakpoint-added",
- BreakpointRemoved: "breakpoint-removed",
+ UIBreakpointAdded: "ui-breakpoint-added",
+ UIBreakpointRemoved: "ui-breakpoint-removed",
DebuggerPaused: "debugger-paused",
DebuggerResumed: "debugger-resumed",
DebuggerReset: "debugger-reset",
@@ -155,17 +155,11 @@
var removedItems = /** @type {Array.<WebInspector.UISourceCode>} */ event.data["removedItems"];
var addedItems = /** @type {Array.<WebInspector.UISourceCode>} */ event.data["addedItems"];
- for (var i = 0; i < removedItems.length; ++i) {
- var breakpoints = this._breakpointManager.breakpointsForUISourceCode(removedItems[i]);
- for (var lineNumber in breakpoints) {
- var breakpoint = breakpoints[lineNumber];
- this._breakpointRemoved(breakpoint);
- delete breakpoint.uiSourceCode;
- }
- }
+ for (var i = 0; i < removedItems.length; ++i)
+ this._breakpointManager.uiSourceCodeRemoved(removedItems[i]);
+ for (var i = 0; i < addedItems.length; ++i)
+ this._breakpointManager.uiSourceCodeAdded(addedItems[i]);
- this._restoreBreakpoints(addedItems);
-
if (!removedItems.length) {
for (var i = 0; i < addedItems.length; ++i)
this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UISourceCodeAdded, addedItems[i]);
@@ -179,20 +173,6 @@
},
/**
- * @param {Array.<WebInspector.UISourceCode>} uiSourceCodeList
- */
- _restoreBreakpoints: function(uiSourceCodeList)
- {
- for (var i = 0; i < uiSourceCodeList.length; ++i) {
- var uiSourceCode = uiSourceCodeList[i];
- this._breakpointManager.uiSourceCodeAdded(uiSourceCode);
- var breakpoints = this._breakpointManager.breakpointsForUISourceCode(uiSourceCode);
- for (var lineNumber in breakpoints)
- this._breakpointAdded(breakpoints[lineNumber]);
- }
- },
-
- /**
* @param {WebInspector.UISourceCode} uiSourceCode
* @return {boolean}
*/
@@ -449,29 +429,27 @@
/**
* @param {WebInspector.UISourceCode} uiSourceCode
* @param {number} lineNumber
- * @return {WebInspector.Breakpoint|undefined}
+ * @return {WebInspector.UIBreakpoint|undefined}
*/
findBreakpoint: function(uiSourceCode, lineNumber)
{
- return this._breakpointManager.breakpointsForUISourceCode(uiSourceCode)[lineNumber];
+ return this._breakpointManager.breakpointsForUISourceCode(uiSourceCode)[String(lineNumber)];
},
/**
- * @param {WebInspector.Breakpoint} breakpoint
+ * @param {WebInspector.UIBreakpoint} uiBreakpoint
*/
- _breakpointAdded: function(breakpoint)
+ _breakpointAdded: function(uiBreakpoint)
{
- if (breakpoint.uiSourceCode)
- this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.BreakpointAdded, breakpoint);
+ this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UIBreakpointAdded, uiBreakpoint);
},
/**
- * @param {WebInspector.Breakpoint} breakpoint
+ * @param {WebInspector.UIBreakpoint} uiBreakpoint
*/
- _breakpointRemoved: function(breakpoint)
+ _breakpointRemoved: function(uiBreakpoint)
{
- if (breakpoint.uiSourceCode)
- this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.BreakpointRemoved, breakpoint);
+ this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UIBreakpointRemoved, uiBreakpoint);
},
_debuggerPaused: function()
Modified: trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js (111594 => 111595)
--- trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2012-03-21 19:37:25 UTC (rev 111594)
+++ trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2012-03-21 19:42:51 UTC (rev 111595)
@@ -177,8 +177,8 @@
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.UISourceCodeRemoved, this._uiSourceCodeRemoved, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.ConsoleMessageAdded, this._consoleMessageAdded, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.ConsoleMessagesCleared, this._consoleMessagesCleared, this);
- this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.BreakpointAdded, this._breakpointAdded, this);
- this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.BreakpointRemoved, this._breakpointRemoved, this);
+ this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.UIBreakpointAdded, this._uiBreakpointAdded, this);
+ this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.UIBreakpointRemoved, this._uiBreakpointRemoved, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.DebuggerPaused, this._debuggerPaused, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.DebuggerResumed, this._debuggerResumed, this);
this._presentationModel.addEventListener(WebInspector.DebuggerPresentationModel.Events.CallFrameSelected, this._callFrameSelected, this);
@@ -308,26 +308,26 @@
sourceFrame.addMessageToSource(message.lineNumber, message.originalMessage);
},
- _breakpointAdded: function(event)
+ _uiBreakpointAdded: function(event)
{
- var breakpoint = event.data;
+ var uiBreakpoint = /** @type {WebInspector.UIBreakpoint} */ event.data;
- var sourceFrame = this._sourceFramesByUISourceCode.get(breakpoint.uiSourceCode)
+ var sourceFrame = this._sourceFramesByUISourceCode.get(uiBreakpoint.uiSourceCode)
if (sourceFrame && sourceFrame.loaded)
- sourceFrame.addBreakpoint(breakpoint.lineNumber, breakpoint.resolved, breakpoint.condition, breakpoint.enabled);
+ sourceFrame.addBreakpoint(uiBreakpoint.lineNumber, uiBreakpoint.resolved, uiBreakpoint.condition, uiBreakpoint.enabled);
- this.sidebarPanes.jsBreakpoints.addBreakpoint(breakpoint);
+ this.sidebarPanes.jsBreakpoints.addBreakpoint(uiBreakpoint);
},
- _breakpointRemoved: function(event)
+ _uiBreakpointRemoved: function(event)
{
- var breakpoint = event.data;
+ var uiBreakpoint = /** @type {WebInspector.UIBreakpoint} */ event.data;
- var sourceFrame = this._sourceFramesByUISourceCode.get(breakpoint.uiSourceCode)
+ var sourceFrame = this._sourceFramesByUISourceCode.get(uiBreakpoint.uiSourceCode)
if (sourceFrame && sourceFrame.loaded)
- sourceFrame.removeBreakpoint(breakpoint.lineNumber);
+ sourceFrame.removeBreakpoint(uiBreakpoint.lineNumber);
- this.sidebarPanes.jsBreakpoints.removeBreakpoint(breakpoint.uiSourceCode, breakpoint.lineNumber);
+ this.sidebarPanes.jsBreakpoints.removeBreakpoint(uiBreakpoint.uiSourceCode, uiBreakpoint.lineNumber);
},
_consoleCommandEvaluatedInSelectedCallFrame: function(event)