Diff
Modified: trunk/LayoutTests/ChangeLog (97062 => 97063)
--- trunk/LayoutTests/ChangeLog 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/LayoutTests/ChangeLog 2011-10-10 16:09:22 UTC (rev 97063)
@@ -1,3 +1,13 @@
+2011-09-28 Pavel Podivilov <podivi...@chromium.org>
+
+ Web Inspector: RawSourceCode could be mapped to multiple sources.
+ https://bugs.webkit.org/show_bug.cgi?id=68526
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/debugger/raw-source-code.html:
+ * inspector/debugger/scripts-panel.html:
+
2011-10-10 Zsolt Fehér <fehe...@inf.u-szeged.hu>
Unreviewed gardening after r96958.
Modified: trunk/LayoutTests/inspector/debugger/raw-source-code.html (97062 => 97063)
--- trunk/LayoutTests/inspector/debugger/raw-source-code.html 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/LayoutTests/inspector/debugger/raw-source-code.html 2011-10-10 16:09:22 UTC (rev 97063)
@@ -106,7 +106,8 @@
var rawSourceCode = createRawSourceCode(script, null);
var sourceMapping = rawSourceCode.sourceMapping;
- var uiSourceCode = sourceMapping.uiSourceCode;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
InspectorTest.assertEquals("foo.js", uiSourceCode.url);
InspectorTest.assertEquals(true, uiSourceCode.isContentScript);
InspectorTest.assertEquals(rawSourceCode, uiSourceCode.rawSourceCode);
@@ -136,7 +137,9 @@
function mappingReady(event)
{
InspectorTest.assertTrue(!event.data.oldSourceCode);
- var uiSourceCode = rawSourceCode.sourceMapping.uiSourceCode;
+ var sourceMapping = rawSourceCode.sourceMapping;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
InspectorTest.assertEquals("index.html", uiSourceCode.url);
InspectorTest.assertEquals(false, uiSourceCode.isContentScript);
uiSourceCode.requestContent(didRequestContent);
@@ -161,7 +164,8 @@
var rawSourceCode = createRawSourceCode(script1, resource);
var sourceMapping = rawSourceCode.sourceMapping;
- var uiSourceCode = sourceMapping.uiSourceCode;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
InspectorTest.assertEquals("index.html", uiSourceCode.url);
InspectorTest.assertEquals(false, uiSourceCode.isContentScript);
uiSourceCode.requestContent(didRequestContent);
@@ -195,7 +199,10 @@
function requestContent()
{
- rawSourceCode.sourceMapping.uiSourceCode.requestContent(didRequestContentOneScript);
+ var sourceMapping = rawSourceCode.sourceMapping;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
+ uiSourceCode.requestContent(didRequestContentOneScript);
}
function didRequestContentOneScript(mimeType, content)
@@ -211,7 +218,10 @@
function requestContentTwoScripts()
{
- rawSourceCode.sourceMapping.uiSourceCode.requestContent(didRequestContentTwoScripts);
+ var sourceMapping = rawSourceCode.sourceMapping;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
+ uiSourceCode.requestContent(didRequestContentTwoScripts);
}
function didRequestContentTwoScripts(mimeType, content)
@@ -226,7 +236,10 @@
function requestContentResource()
{
- rawSourceCode.sourceMapping.uiSourceCode.requestContent(didRequestContentResource);
+ var sourceMapping = rawSourceCode.sourceMapping;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
+ uiSourceCode.requestContent(didRequestContentResource);
}
function didRequestContentResource(mimeType, content)
@@ -248,7 +261,8 @@
var rawSourceCode = createRawSourceCode(script, resource, false);
var sourceMapping = rawSourceCode.sourceMapping;
- var uiSourceCode = sourceMapping.uiSourceCode;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
checkUILocation(uiSourceCode, 1, 2, sourceMapping.rawLocationToUILocation(createRawLocation(1, 2)));
checkRawLocation(script, 2, 0, sourceMapping.uiLocationToRawLocation(uiSourceCode, 2));
uiSourceCode.requestContent(didRequestContent);
@@ -266,7 +280,8 @@
function requestFormattedContent()
{
var sourceMapping = rawSourceCode.sourceMapping;
- var uiSourceCode = sourceMapping.uiSourceCode;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
checkUILocation(uiSourceCode, 2, 4, sourceMapping.rawLocationToUILocation(createRawLocation(1, 2)));
checkRawLocation(script, 1, 0, sourceMapping.uiLocationToRawLocation(uiSourceCode, 2));
uiSourceCode.requestContent(didRequestFormattedContent);
@@ -284,7 +299,8 @@
function requestNotFormattedContent()
{
var sourceMapping = rawSourceCode.sourceMapping;
- var uiSourceCode = sourceMapping.uiSourceCode;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
checkUILocation(uiSourceCode, 1, 2, sourceMapping.rawLocationToUILocation(createRawLocation(1, 2)));
checkRawLocation(script, 2, 0, sourceMapping.uiLocationToRawLocation(uiSourceCode, 2));
uiSourceCode.requestContent(didRequestNotFormattedContent);
@@ -313,7 +329,8 @@
function checkMapping()
{
var sourceMapping = rawSourceCode.sourceMapping;
- var uiSourceCode = sourceMapping.uiSourceCode;
+ InspectorTest.assertEquals(1, sourceMapping.uiSourceCodeList().length);
+ var uiSourceCode = sourceMapping.uiSourceCodeList()[0];
checkUILocation(uiSourceCode, 2, 4, sourceMapping.rawLocationToUILocation(createRawLocation(1, 2)));
checkRawLocation(script, 1, 0, sourceMapping.uiLocationToRawLocation(uiSourceCode, 2));
next();
Modified: trunk/LayoutTests/inspector/debugger/scripts-panel.html (97062 => 97063)
--- trunk/LayoutTests/inspector/debugger/scripts-panel.html 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/LayoutTests/inspector/debugger/scripts-panel.html 2011-10-10 16:09:22 UTC (rev 97063)
@@ -167,7 +167,7 @@
addUISouceCode(model, "foo.js");
var uiSourceCode = addUISouceCode(model, "bar.js");
- panel._uiSourceCodeReplaced({ data: { oldUISourceCode: uiSourceCode, uiSourceCode: uiSourceCode }});
+ panel._uiSourceCodeReplaced({ data: { oldUISourceCodeList: [uiSourceCode], uiSourceCodeList: [uiSourceCode] }});
showSourceFrame(panel, "bar.js");
next();
}
Modified: trunk/Source/WebCore/ChangeLog (97062 => 97063)
--- trunk/Source/WebCore/ChangeLog 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/Source/WebCore/ChangeLog 2011-10-10 16:09:22 UTC (rev 97063)
@@ -1,3 +1,31 @@
+2011-09-28 Pavel Podivilov <podivi...@chromium.org>
+
+ Web Inspector: RawSourceCode could be mapped to multiple sources.
+ https://bugs.webkit.org/show_bug.cgi?id=68526
+
+ Replace SourceMapping.uiSourceCode with SourceMapping.uiSourceCodeList as there could be more
+ then one UISourceCode associated with a RawSourceCode.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
+ (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
+ (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
+ (WebInspector.PresentationCallFrame.prototype.get url):
+ (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
+ (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
+ * inspector/front-end/SourceFile.js:
+ (WebInspector.RawSourceCode.prototype._saveSourceMapping):
+ (WebInspector.RawSourceCode.PlainSourceMapping):
+ (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
+ (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCodeList):
+ (WebInspector.RawSourceCode.FormattedSourceMapping):
+ (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
+ (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCodeList):
+
2011-10-10 Andreas Kling <kl...@webkit.org>
Shrink RenderLayer and ScrollableArea.
Modified: trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js (97062 => 97063)
--- trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2011-10-10 16:09:22 UTC (rev 97063)
@@ -123,40 +123,48 @@
_sourceMappingUpdated: function(event)
{
var rawSourceCode = event.target;
- var oldUISourceCode = event.data.oldUISourceCode;
- this._updateSourceMapping(rawSourceCode, oldUISourceCode);
+ var oldSourceMapping = event.data.oldSourceMapping;
+ this._updateSourceMapping(rawSourceCode, oldSourceMapping);
},
- _updateSourceMapping: function(rawSourceCode, oldUISourceCode)
+ _updateSourceMapping: function(rawSourceCode, oldSourceMapping)
{
- if (oldUISourceCode) {
- var breakpoints = this._breakpointManager.breakpointsForUISourceCode(oldUISourceCode);
- for (var lineNumber in breakpoints) {
- var breakpoint = breakpoints[lineNumber];
- this._breakpointRemoved(breakpoint);
- delete breakpoint.uiSourceCode;
+ if (oldSourceMapping) {
+ var oldUISourceCodeList = oldSourceMapping.uiSourceCodeList();
+ for (var i = 0; i < oldUISourceCodeList.length; ++i) {
+ var breakpoints = this._breakpointManager.breakpointsForUISourceCode(oldUISourceCodeList[i]);
+ for (var lineNumber in breakpoints) {
+ var breakpoint = breakpoints[lineNumber];
+ this._breakpointRemoved(breakpoint);
+ delete breakpoint.uiSourceCode;
+ }
}
}
this._restoreBreakpoints(rawSourceCode);
this._restoreConsoleMessages(rawSourceCode);
- var uiSourceCode = rawSourceCode.sourceMapping.uiSourceCode;
- if (!oldUISourceCode)
- this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UISourceCodeAdded, uiSourceCode);
- else {
- var eventData = { uiSourceCode: uiSourceCode, oldUISourceCode: oldUISourceCode };
+ if (!oldSourceMapping) {
+ var uiSourceCodeList = rawSourceCode.sourceMapping.uiSourceCodeList();
+ for (var i = 0; i < uiSourceCodeList.length; ++i)
+ this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UISourceCodeAdded, uiSourceCodeList[i]);
+ } else {
+ var eventData = { uiSourceCodeList: rawSourceCode.sourceMapping.uiSourceCodeList(), oldUISourceCodeList: oldSourceMapping.uiSourceCodeList() };
this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UISourceCodeReplaced, eventData);
}
},
_restoreBreakpoints: function(rawSourceCode)
{
- var uiSourceCode = rawSourceCode.sourceMapping.uiSourceCode;
- this._breakpointManager.uiSourceCodeAdded(uiSourceCode);
- var breakpoints = this._breakpointManager.breakpointsForUISourceCode(uiSourceCode);
- for (var lineNumber in breakpoints)
- this._breakpointAdded(breakpoints[lineNumber]);
+ var uiSourceCodeList = rawSourceCode.sourceMapping.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]);
+ }
+
},
_restoreConsoleMessages: function(rawSourceCode)
@@ -432,9 +440,13 @@
_debuggerReset: function()
{
for (var id in this._rawSourceCode) {
- if (this._rawSourceCode[id].sourceMapping && this._rawSourceCode[id].sourceMapping.uiSourceCode)
- this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UISourceCodeRemoved, this._rawSourceCode[id].sourceMapping.uiSourceCode);
- this._rawSourceCode[id].removeAllListeners();
+ var rawSourceCode = this._rawSourceCode[id];
+ if (rawSourceCode.sourceMapping) {
+ var uiSourceCodeList = rawSourceCode.sourceMapping.uiSourceCodeList();
+ for (var i = 0; i < uiSourceCodeList.length; ++i)
+ this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.UISourceCodeRemoved, uiSourceCodeList[i]);
+ }
+ rawSourceCode.removeAllListeners();
}
this._rawSourceCode = {};
this._presentationCallFrames = [];
@@ -530,7 +542,7 @@
var rawSourceCode = this._presentationModel._rawSourceCodeForScriptWithURL(resource.url)
if (!rawSourceCode)
return false;
- return this._presentationModel.canEditScriptSource(rawSourceCode.sourceMapping.uiSourceCode);
+ return this._presentationModel.canEditScriptSource(rawSourceCode.sourceMapping.uiSourceCodeList()[0]);
},
setContent: function(resource, content, majorChange, userCallback)
@@ -544,7 +556,7 @@
return;
}
- resource.requestContent(this._setContentWithInitialContent.bind(this, rawSourceCode.sourceMapping.uiSourceCode, content, userCallback));
+ resource.requestContent(this._setContentWithInitialContent.bind(this, rawSourceCode.sourceMapping.uiSourceCodeList()[0], content, userCallback));
},
_setContentWithInitialContent: function(uiSourceCode, content, userCallback, oldContent)
Modified: trunk/Source/WebCore/inspector/front-end/RawSourceCode.js (97062 => 97063)
--- trunk/Source/WebCore/inspector/front-end/RawSourceCode.js 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/Source/WebCore/inspector/front-end/RawSourceCode.js 2011-10-10 16:09:22 UTC (rev 97063)
@@ -190,11 +190,11 @@
_saveSourceMapping: function(sourceMapping)
{
- var oldUISourceCode;
+ var oldSourceMapping;
if (this._sourceMapping)
- oldUISourceCode = this._sourceMapping.uiSourceCode;
+ oldSourceMapping = this._sourceMapping;
this._sourceMapping = sourceMapping;
- this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.SourceMappingUpdated, { oldUISourceCode: oldUISourceCode });
+ this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.SourceMappingUpdated, { oldSourceMapping: oldSourceMapping });
}
}
@@ -207,26 +207,26 @@
WebInspector.RawSourceCode.PlainSourceMapping = function(rawSourceCode, uiSourceCode)
{
this._rawSourceCode = rawSourceCode;
- this._uiSourceCode = uiSourceCode;
+ this._uiSourceCodeList = [uiSourceCode];
}
WebInspector.RawSourceCode.PlainSourceMapping.prototype = {
rawLocationToUILocation: function(rawLocation)
{
- return new WebInspector.UILocation(this._uiSourceCode, rawLocation.lineNumber, rawLocation.columnNumber);
+ return new WebInspector.UILocation(this._uiSourceCodeList[0], rawLocation.lineNumber, rawLocation.columnNumber);
},
uiLocationToRawLocation: function(uiSourceCode, lineNumber)
{
- console.assert(uiSourceCode === this._uiSourceCode);
+ console.assert(uiSourceCode === this._uiSourceCodeList[0]);
var rawLocation = { lineNumber: lineNumber, columnNumber: 0 };
rawLocation.scriptId = this._rawSourceCode._scriptForRawLocation(rawLocation.lineNumber, rawLocation.columnNumber).scriptId;
return rawLocation;
},
- get uiSourceCode()
+ uiSourceCodeList: function()
{
- return this._uiSourceCode;
+ return this._uiSourceCodeList;
}
}
@@ -236,7 +236,7 @@
WebInspector.RawSourceCode.FormattedSourceMapping = function(rawSourceCode, uiSourceCode, mapping)
{
this._rawSourceCode = rawSourceCode;
- this._uiSourceCode = uiSourceCode;
+ this._uiSourceCodeList = [uiSourceCode];
this._mapping = mapping;
}
@@ -244,20 +244,20 @@
rawLocationToUILocation: function(rawLocation)
{
var location = this._mapping.originalToFormatted(rawLocation);
- return new WebInspector.UILocation(this._uiSourceCode, location.lineNumber, location.columnNumber);
+ return new WebInspector.UILocation(this._uiSourceCodeList[0], location.lineNumber, location.columnNumber);
},
uiLocationToRawLocation: function(uiSourceCode, lineNumber)
{
- console.assert(uiSourceCode === this._uiSourceCode);
+ console.assert(uiSourceCode === this._uiSourceCodeList[0]);
var rawLocation = this._mapping.formattedToOriginal({ lineNumber: lineNumber, columnNumber: 0 });
rawLocation.scriptId = this._rawSourceCode._scriptForRawLocation(rawLocation.lineNumber, rawLocation.columnNumber).scriptId;
return rawLocation;
},
- get uiSourceCode()
+ uiSourceCodeList: function()
{
- return this._uiSourceCode;
+ return this._uiSourceCodeList;
}
}
Modified: trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js (97062 => 97063)
--- trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2011-10-10 16:09:22 UTC (rev 97063)
@@ -696,8 +696,9 @@
_uiSourceCodeReplaced: function(event)
{
- var oldUISourceCode = event.data.oldUISourceCode;
- var uiSourceCode = event.data.uiSourceCode;
+ // FIXME: support multiple entries.
+ var oldUISourceCode = event.data.oldUISourceCodeList[0];
+ var uiSourceCode = event.data.uiSourceCodeList[0];
// Re-bind file select option from old source file to new one.
var option = oldUISourceCode._option;
Modified: trunk/Source/WebCore/inspector/front-end/UISourceCode.js (97062 => 97063)
--- trunk/Source/WebCore/inspector/front-end/UISourceCode.js 2011-10-10 14:51:44 UTC (rev 97062)
+++ trunk/Source/WebCore/inspector/front-end/UISourceCode.js 2011-10-10 16:09:22 UTC (rev 97063)
@@ -30,6 +30,7 @@
/**
* @constructor
+ * @extends {WebInspector.Object}
*/
WebInspector.UISourceCode = function(id, url, isContentScript, rawSourceCode, contentProvider)
{