function createRawSourceCode(script, resource, formatted, compilerSourceMapping)
{
var rawSourceCode = new WebInspector.RawSourceCode("id", script, resource, createScriptFormatterMock(), !!formatted, compilerSourceMapping);
- rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, defaultUISourceCodeListChangedHandler);
+ rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, defaultUISourceCodeChangedHandler);
return rawSourceCode;
}
- function waitForUISourceCodeListChangedEvent(rawSourceCode, callback)
+ function waitForUISourceCodeChangedEvent(rawSourceCode, callback)
{
- rawSourceCode.removeEventListener(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, defaultUISourceCodeListChangedHandler);
- rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, uiSourceCodeListChanged);
- function uiSourceCodeListChanged(event)
+ rawSourceCode.removeEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, defaultUISourceCodeChangedHandler);
+ rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, uiSourceCodeChanged);
+ function uiSourceCodeChanged(event)
{
- rawSourceCode.removeEventListener(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, uiSourceCodeListChanged);
- rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, defaultUISourceCodeListChangedHandler);
+ rawSourceCode.removeEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, uiSourceCodeChanged);
+ rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, defaultUISourceCodeChangedHandler);
callback(event);
}
}
- function defaultUISourceCodeListChangedHandler()
+ function defaultUISourceCodeChangedHandler()
{
- throw "Unexpected UISourceCodeListChanged event.";
+ throw "Unexpected UISourceCodeChanged event.";
}
function createRawLocation(lineNumber, columnNumber)
var script = InspectorTest.createScriptMock("foo.js", 0, 0, true, "<script source>");
var rawSourceCode = createRawSourceCode(script, null);
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.assertEquals("foo.js", uiSourceCode.url);
InspectorTest.assertEquals(true, uiSourceCode.isContentScript);
InspectorTest.checkUILocation(uiSourceCode, 0, 5, rawSourceCode.rawLocationToUILocation(createRawLocation(0, 5)));
var resource = createPendingResourceMock("document", "<resource content>");
var rawSourceCode = createRawSourceCode(script1, resource);
- InspectorTest.assertEquals(0, rawSourceCode.uiSourceCodeList().length);
- waitForUISourceCodeListChangedEvent(rawSourceCode, uiSourceCodeListChanged);
+ InspectorTest.assertTrue(!rawSourceCode.uiSourceCode());
+ waitForUISourceCodeChangedEvent(rawSourceCode, uiSourceCodeChanged);
resource.finish();
- function uiSourceCodeListChanged(event)
+ function uiSourceCodeChanged(event)
{
- InspectorTest.assertEquals(event.data.oldUISourceCodeList.length, 0);
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!event.data.oldUISourceCode);
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.assertEquals("index.html", uiSourceCode.url);
InspectorTest.assertEquals(false, uiSourceCode.isContentScript);
uiSourceCode.requestContent(didRequestContent);
var resource = createFinishedResourceMock("document", "<resource content>");
var rawSourceCode = createRawSourceCode(script1, resource);
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.assertEquals("index.html", uiSourceCode.url);
InspectorTest.assertEquals(false, uiSourceCode.isContentScript);
uiSourceCode.requestContent(didRequestContent);
var resource = createPendingResourceMock("document", "<resource content>");
var rawSourceCode = createRawSourceCode(script1, resource);
- InspectorTest.assertEquals(0, rawSourceCode.uiSourceCodeList().length);
- waitForUISourceCodeListChangedEvent(rawSourceCode, requestContent);
+ InspectorTest.assertTrue(!rawSourceCode.uiSourceCode());
+ waitForUISourceCodeChangedEvent(rawSourceCode, requestContent);
rawSourceCode.forceUpdateSourceMapping();
function requestContent()
{
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
uiSourceCode.requestContent(didRequestContentOneScript);
}
rawSourceCode.forceUpdateSourceMapping();
rawSourceCode.addScript(script2);
- waitForUISourceCodeListChangedEvent(rawSourceCode, requestContentTwoScripts);
+ waitForUISourceCodeChangedEvent(rawSourceCode, requestContentTwoScripts);
rawSourceCode.forceUpdateSourceMapping();
}
function requestContentTwoScripts()
{
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
uiSourceCode.requestContent(didRequestContentTwoScripts);
}
InspectorTest.assertEquals(" <script><script source 1></" + "script> <script><script source 2></" + "script>", content);
rawSourceCode.forceUpdateSourceMapping();
- waitForUISourceCodeListChangedEvent(rawSourceCode, requestContentResource);
+ waitForUISourceCodeChangedEvent(rawSourceCode, requestContentResource);
resource.finish();
}
function requestContentResource()
{
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
uiSourceCode.requestContent(didRequestContentResource);
}
var resource = createFinishedResourceMock("script", "<resource content>");
var rawSourceCode = createRawSourceCode(script, resource, false);
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.checkUILocation(uiSourceCode, 1, 2, rawSourceCode.rawLocationToUILocation(createRawLocation(1, 2)));
InspectorTest.checkRawLocation(script, 2, 0, rawSourceCode.uiLocationToRawLocation(uiSourceCode, 2, 0));
uiSourceCode.requestContent(didRequestContent);
InspectorTest.assertEquals("<resource content>", content);
rawSourceCode.setFormatted(true);
- waitForUISourceCodeListChangedEvent(rawSourceCode, requestFormattedContent);
+ waitForUISourceCodeChangedEvent(rawSourceCode, requestFormattedContent);
rawSourceCode._formatter.finish();
}
function requestFormattedContent()
{
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.checkUILocation(uiSourceCode, 2, 4, rawSourceCode.rawLocationToUILocation(createRawLocation(1, 2)));
InspectorTest.checkRawLocation(script, 1, 0, rawSourceCode.uiLocationToRawLocation(uiSourceCode, 2, 0));
uiSourceCode.requestContent(didRequestFormattedContent);
InspectorTest.assertEquals(mimeType, "text/javascript");
InspectorTest.assertEquals("<formatted> <resource content>", content);
- waitForUISourceCodeListChangedEvent(rawSourceCode, requestNotFormattedContent);
+ waitForUISourceCodeChangedEvent(rawSourceCode, requestNotFormattedContent);
rawSourceCode.setFormatted(false);
}
function requestNotFormattedContent()
{
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.checkUILocation(uiSourceCode, 1, 2, rawSourceCode.rawLocationToUILocation(createRawLocation(1, 2)));
InspectorTest.checkRawLocation(script, 2, 0, rawSourceCode.uiLocationToRawLocation(uiSourceCode, 2, 0));
uiSourceCode.requestContent(didRequestNotFormattedContent);
var resource = createPendingResourceMock("script", "<resource content>");
var rawSourceCode = createRawSourceCode(script, resource, true);
- InspectorTest.assertEquals(0, rawSourceCode.uiSourceCodeList().length);
+ InspectorTest.assertTrue(!rawSourceCode.uiSourceCode());
resource.finish();
- waitForUISourceCodeListChangedEvent(rawSourceCode, checkMapping);
+ waitForUISourceCodeChangedEvent(rawSourceCode, checkMapping);
rawSourceCode._formatter.finish();
function checkMapping()
{
- InspectorTest.assertEquals(1, rawSourceCode.uiSourceCodeList().length);
- var uiSourceCode = rawSourceCode.uiSourceCodeList()[0];
+ InspectorTest.assertTrue(!!rawSourceCode.uiSourceCode());
+ var uiSourceCode = rawSourceCode.uiSourceCode();
InspectorTest.checkUILocation(uiSourceCode, 2, 4, rawSourceCode.rawLocationToUILocation(createRawLocation(1, 2)));
InspectorTest.checkRawLocation(script, 1, 0, rawSourceCode.uiLocationToRawLocation(uiSourceCode, 2, 0));
next();
}
WebInspector.RawSourceCode.Events = {
- UISourceCodeListChanged: "us-source-code-list-changed"
+ UISourceCodeChanged: "us-source-code-changed"
}
WebInspector.RawSourceCode.prototype = {
},
/**
- * @return {Array.<WebInspector.UISourceCode>}
+ * @return {WebInspector.UISourceCode|null}
*/
- uiSourceCodeList: function()
+ uiSourceCode: function()
{
if (this._sourceMapping)
- return this._sourceMapping.uiSourceCodeList();
- return [];
+ return this._sourceMapping.uiSourceCode();
+ return null;
},
/**
*/
_saveSourceMapping: function(sourceMapping)
{
- var oldUISourceCodeList = [];
+ var oldUISourceCode;
if (this._sourceMapping)
- oldUISourceCodeList = this._sourceMapping.uiSourceCodeList();
+ oldUISourceCode = this._sourceMapping.uiSourceCode();
this._sourceMapping = sourceMapping;
- this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, { oldUISourceCodeList: oldUISourceCodeList });
+ this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.UISourceCodeChanged, { oldUISourceCode: oldUISourceCode });
}
}
* @param {number} columnNumber
* @return {DebuggerAgent.Location}
*/
- uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber) { }
+ uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber) { },
+
+ /**
+ * @return {WebInspector.UISourceCode}
+ */
+ uiSourceCode: function() { }
}
/**
WebInspector.RawSourceCode.PlainSourceMapping = function(rawSourceCode, uiSourceCode)
{
this._rawSourceCode = rawSourceCode;
- this._uiSourceCodeList = [uiSourceCode];
+ this._uiSourceCode = uiSourceCode;
}
WebInspector.RawSourceCode.PlainSourceMapping.prototype = {
*/
rawLocationToUILocation: function(rawLocation)
{
- return new WebInspector.UILocation(this._uiSourceCodeList[0], rawLocation.lineNumber, rawLocation.columnNumber || 0);
+ return new WebInspector.UILocation(this._uiSourceCode, rawLocation.lineNumber, rawLocation.columnNumber || 0);
},
/**
*/
uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
{
- console.assert(uiSourceCode === this._uiSourceCodeList[0]);
+ console.assert(uiSourceCode === this._uiSourceCode);
return WebInspector.debuggerModel.createRawLocation(this._rawSourceCode._scripts[0], lineNumber, columnNumber);
},
/**
- * @return {Array.<WebInspector.UISourceCode>}
+ * @return {WebInspector.UISourceCode}
*/
- uiSourceCodeList: function()
+ uiSourceCode: function()
{
- return this._uiSourceCodeList;
+ return this._uiSourceCode;
}
}
WebInspector.RawSourceCode.FormattedSourceMapping = function(rawSourceCode, uiSourceCode, mapping)
{
this._rawSourceCode = rawSourceCode;
- this._uiSourceCodeList = [uiSourceCode];
+ this._uiSourceCode = uiSourceCode;
this._mapping = mapping;
}
rawLocationToUILocation: function(rawLocation)
{
var location = this._mapping.originalToFormatted(rawLocation.lineNumber, rawLocation.columnNumber || 0);
- return new WebInspector.UILocation(this._uiSourceCodeList[0], location[0], location[1]);
+ return new WebInspector.UILocation(this._uiSourceCode, location[0], location[1]);
},
/**
*/
uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
{
- console.assert(uiSourceCode === this._uiSourceCodeList[0]);
+ console.assert(uiSourceCode === this._uiSourceCode);
var location = this._mapping.formattedToOriginal(lineNumber, columnNumber);
return WebInspector.debuggerModel.createRawLocation(this._rawSourceCode._scripts[0], location[0], location[1]);
},
/**
- * @return {Array.<WebInspector.UISourceCode>}
+ * @return {WebInspector.UISourceCode}
*/
- uiSourceCodeList: function()
+ uiSourceCode: function()
{
- return this._uiSourceCodeList;
+ return this._uiSourceCode;
}
}
{
var result = [];
for (var i = 0; i < this._rawSourceCodes.length; ++i) {
- var uiSourceCodeList = this._rawSourceCodes[i].uiSourceCodeList();
- for (var j = 0; j < uiSourceCodeList.length; ++j)
- result.push(uiSourceCodeList[j]);
+ var uiSourceCode = this._rawSourceCodes[i].uiSourceCode();
+ if (uiSourceCode)
+ result.push(uiSourceCode);
}
return result;
},
if (isInlineScript)
this._rawSourceCodeForDocumentURL[script.sourceURL] = rawSourceCode;
- if (rawSourceCode.uiSourceCodeList().length)
- this._uiSourceCodeListChanged(rawSourceCode, [], rawSourceCode.uiSourceCodeList());
- rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeListChanged, this._handleUISourceCodeListChanged, this);
+ if (rawSourceCode.uiSourceCode())
+ this._uiSourceCodeChanged(rawSourceCode, null, rawSourceCode.uiSourceCode());
+ rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, this._handleUISourceCodeChanged, this);
},
/**
* @param {WebInspector.Event} event
*/
- _handleUISourceCodeListChanged: function(event)
+ _handleUISourceCodeChanged: function(event)
{
var rawSourceCode = /** @type {WebInspector.RawSourceCode} */ event.target;
- var oldUISourceCodeList = /** @type {Array.<WebInspector.UISourceCode>} */ event.data["oldUISourceCodeList"];
- this._uiSourceCodeListChanged(rawSourceCode, oldUISourceCodeList, rawSourceCode.uiSourceCodeList());
+ var oldUISourceCode = /** @type {WebInspector.UISourceCode} */ event.data.oldUISourceCode;
+ this._uiSourceCodeChanged(rawSourceCode, oldUISourceCode, rawSourceCode.uiSourceCode());
},
/**
* @param {WebInspector.RawSourceCode} rawSourceCode
- * @param {Array.<WebInspector.UISourceCode>} removedItems
- * @param {Array.<WebInspector.UISourceCode>} addedItems
+ * @param {WebInspector.UISourceCode} removedItem
+ * @param {WebInspector.UISourceCode} addedItem
*/
- _uiSourceCodeListChanged: function(rawSourceCode, removedItems, addedItems)
+ _uiSourceCodeChanged: function(rawSourceCode, removedItem, addedItem)
{
- for (var i = 0; i < removedItems.length; ++i)
- this._rawSourceCodeForUISourceCode.remove(removedItems[i]);
- for (var i = 0; i < addedItems.length; ++i)
- this._rawSourceCodeForUISourceCode.put(addedItems[i], rawSourceCode);
+ if (removedItem)
+ this._rawSourceCodeForUISourceCode.remove(removedItem);
+ if (addedItem)
+ this._rawSourceCodeForUISourceCode.put(addedItem, rawSourceCode);
var scriptIds = [];
for (var i = 0; i < rawSourceCode._scripts.length; ++i)
scriptIds.push(rawSourceCode._scripts[i].scriptId);
+ var removedItems = removedItem ? [removedItem] : [];
+ var addedItems = addedItem ? [addedItem] : [];
var data = { removedItems: removedItems, addedItems: addedItems, scriptIds: scriptIds };
this.dispatchEventToListeners(WebInspector.ScriptMapping.Events.UISourceCodeListChanged, data);
},
{
for (var i = 0; i < this._rawSourceCodes.length; ++i) {
var rawSourceCode = this._rawSourceCodes[i];
- this._uiSourceCodeListChanged(rawSourceCode, rawSourceCode.uiSourceCodeList(), []);
+ this._uiSourceCodeChanged(rawSourceCode, rawSourceCode.uiSourceCode(), null);
rawSourceCode.removeAllListeners();
}
this._rawSourceCodes = [];