Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1209)

Unified Diff: third_party/WebKit/Source/devtools/front_end/bindings/CompilerScriptMapping.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/bindings/CompilerScriptMapping.js
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/CompilerScriptMapping.js b/third_party/WebKit/Source/devtools/front_end/bindings/CompilerScriptMapping.js
index 0e849cd825aabaf3a3f007532bf37dc4faa0f910..a61b49d3b6ade02b5c6315388c3a735d5f932eab 100644
--- a/third_party/WebKit/Source/devtools/front_end/bindings/CompilerScriptMapping.js
+++ b/third_party/WebKit/Source/devtools/front_end/bindings/CompilerScriptMapping.js
@@ -27,18 +27,19 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
/**
- * @constructor
* @implements {WebInspector.DebuggerSourceMapping}
- * @param {!WebInspector.DebuggerModel} debuggerModel
- * @param {!WebInspector.Workspace} workspace
- * @param {!WebInspector.NetworkMapping} networkMapping
- * @param {!WebInspector.NetworkProject} networkProject
- * @param {!WebInspector.DebuggerWorkspaceBinding} debuggerWorkspaceBinding
+ * @unrestricted
*/
-WebInspector.CompilerScriptMapping = function(debuggerModel, workspace, networkMapping, networkProject, debuggerWorkspaceBinding)
-{
+WebInspector.CompilerScriptMapping = class {
+ /**
+ * @param {!WebInspector.DebuggerModel} debuggerModel
+ * @param {!WebInspector.Workspace} workspace
+ * @param {!WebInspector.NetworkMapping} networkMapping
+ * @param {!WebInspector.NetworkProject} networkProject
+ * @param {!WebInspector.DebuggerWorkspaceBinding} debuggerWorkspaceBinding
+ */
+ constructor(debuggerModel, workspace, networkMapping, networkProject, debuggerWorkspaceBinding) {
this._target = debuggerModel.target();
this._debuggerModel = debuggerModel;
this._networkMapping = networkMapping;
@@ -57,340 +58,331 @@ WebInspector.CompilerScriptMapping = function(debuggerModel, workspace, networkM
this._stubUISourceCodes = new Map();
var projectId = WebInspector.CompilerScriptMapping.projectIdForTarget(this._target);
- this._stubProject = new WebInspector.ContentProviderBasedProject(workspace, projectId, WebInspector.projectTypes.Service, "");
+ this._stubProject =
+ new WebInspector.ContentProviderBasedProject(workspace, projectId, WebInspector.projectTypes.Service, '');
this._eventListeners = [
- workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAddedToWorkspace, this),
- debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.GlobalObjectCleared, this._debuggerReset, this)
+ workspace.addEventListener(
+ WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAddedToWorkspace, this),
+ debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.GlobalObjectCleared, this._debuggerReset, this)
];
-};
+ }
-WebInspector.CompilerScriptMapping._originSymbol = Symbol("origin");
-
-/**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @return {?string}
- */
-WebInspector.CompilerScriptMapping.uiSourceCodeOrigin = function(uiSourceCode)
-{
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @return {?string}
+ */
+ static uiSourceCodeOrigin(uiSourceCode) {
return uiSourceCode[WebInspector.CompilerScriptMapping._originSymbol] || null;
-};
-
-WebInspector.CompilerScriptMapping.prototype = {
- /**
- * @param {!WebInspector.DebuggerModel.Location} rawLocation
- * @return {boolean}
- */
- mapsToSourceCode: function(rawLocation) {
- var sourceMap = this._sourceMapForScriptId.get(rawLocation.scriptId);
- if (!sourceMap) {
- return true;
- }
- return !!sourceMap.findEntry(rawLocation.lineNumber, rawLocation.columnNumber);
- },
-
- /**
- * @override
- * @param {!WebInspector.DebuggerModel.Location} rawLocation
- * @return {?WebInspector.UILocation}
- */
- rawLocationToUILocation: function(rawLocation)
- {
- var debuggerModelLocation = /** @type {!WebInspector.DebuggerModel.Location} */ (rawLocation);
-
- var stubUISourceCode = this._stubUISourceCodes.get(debuggerModelLocation.scriptId);
- if (stubUISourceCode)
- return new WebInspector.UILocation(stubUISourceCode, rawLocation.lineNumber, rawLocation.columnNumber);
-
- var sourceMap = this._sourceMapForScriptId.get(debuggerModelLocation.scriptId);
- if (!sourceMap)
- return null;
- var lineNumber = debuggerModelLocation.lineNumber;
- var columnNumber = debuggerModelLocation.columnNumber || 0;
- var entry = sourceMap.findEntry(lineNumber, columnNumber);
- if (!entry || !entry.sourceURL)
- return null;
- var script = rawLocation.script();
- if (!script)
- return null;
- var uiSourceCode = this._networkMapping.uiSourceCodeForScriptURL(/** @type {string} */ (entry.sourceURL), script);
- if (!uiSourceCode)
- return null;
- return uiSourceCode.uiLocation(/** @type {number} */ (entry.sourceLineNumber), /** @type {number} */ (entry.sourceColumnNumber));
- },
-
- /**
- * @override
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @param {number} lineNumber
- * @param {number} columnNumber
- * @return {?WebInspector.DebuggerModel.Location}
- */
- uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
- {
- if (uiSourceCode.project().type() === WebInspector.projectTypes.Service)
- return null;
- var sourceMap = this._sourceMapForURL.get(uiSourceCode.url());
- if (!sourceMap)
- return null;
- var script = /** @type {!WebInspector.Script} */ (this._scriptForSourceMap.get(sourceMap));
- console.assert(script);
- var entry = sourceMap.firstSourceLineMapping(uiSourceCode.url(), lineNumber);
- if (!entry)
- return null;
- return this._debuggerModel.createRawLocation(script, entry.lineNumber, entry.columnNumber);
- },
-
- /**
- * @param {!WebInspector.Script} script
- */
- addScript: function(script)
- {
- if (!script.sourceMapURL) {
- script.addEventListener(WebInspector.Script.Events.SourceMapURLAdded, this._sourceMapURLAdded.bind(this));
- return;
- }
-
- this._processScript(script);
- },
+ }
+
+ /**
+ * @param {!WebInspector.Target} target
+ * @return {string}
+ */
+ static projectIdForTarget(target) {
+ return 'compiler-script-project:' + target.id();
+ }
+
+ /**
+ * @param {!WebInspector.DebuggerModel.Location} rawLocation
+ * @return {boolean}
+ */
+ mapsToSourceCode(rawLocation) {
+ var sourceMap = this._sourceMapForScriptId.get(rawLocation.scriptId);
+ if (!sourceMap) {
+ return true;
+ }
+ return !!sourceMap.findEntry(rawLocation.lineNumber, rawLocation.columnNumber);
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.DebuggerModel.Location} rawLocation
+ * @return {?WebInspector.UILocation}
+ */
+ rawLocationToUILocation(rawLocation) {
+ var debuggerModelLocation = /** @type {!WebInspector.DebuggerModel.Location} */ (rawLocation);
+
+ var stubUISourceCode = this._stubUISourceCodes.get(debuggerModelLocation.scriptId);
+ if (stubUISourceCode)
+ return new WebInspector.UILocation(stubUISourceCode, rawLocation.lineNumber, rawLocation.columnNumber);
+
+ var sourceMap = this._sourceMapForScriptId.get(debuggerModelLocation.scriptId);
+ if (!sourceMap)
+ return null;
+ var lineNumber = debuggerModelLocation.lineNumber;
+ var columnNumber = debuggerModelLocation.columnNumber || 0;
+ var entry = sourceMap.findEntry(lineNumber, columnNumber);
+ if (!entry || !entry.sourceURL)
+ return null;
+ var script = rawLocation.script();
+ if (!script)
+ return null;
+ var uiSourceCode = this._networkMapping.uiSourceCodeForScriptURL(/** @type {string} */ (entry.sourceURL), script);
+ if (!uiSourceCode)
+ return null;
+ return uiSourceCode.uiLocation(
+ /** @type {number} */ (entry.sourceLineNumber), /** @type {number} */ (entry.sourceColumnNumber));
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @param {number} lineNumber
+ * @param {number} columnNumber
+ * @return {?WebInspector.DebuggerModel.Location}
+ */
+ uiLocationToRawLocation(uiSourceCode, lineNumber, columnNumber) {
+ if (uiSourceCode.project().type() === WebInspector.projectTypes.Service)
+ return null;
+ var sourceMap = this._sourceMapForURL.get(uiSourceCode.url());
+ if (!sourceMap)
+ return null;
+ var script = /** @type {!WebInspector.Script} */ (this._scriptForSourceMap.get(sourceMap));
+ console.assert(script);
+ var entry = sourceMap.firstSourceLineMapping(uiSourceCode.url(), lineNumber);
+ if (!entry)
+ return null;
+ return this._debuggerModel.createRawLocation(script, entry.lineNumber, entry.columnNumber);
+ }
+
+ /**
+ * @param {!WebInspector.Script} script
+ */
+ addScript(script) {
+ if (!script.sourceMapURL) {
+ script.addEventListener(WebInspector.Script.Events.SourceMapURLAdded, this._sourceMapURLAdded.bind(this));
+ return;
+ }
- /**
- * @param {!WebInspector.Script} script
- * @return {?WebInspector.TextSourceMap}
- */
- sourceMapForScript: function(script)
- {
- return this._sourceMapForScriptId.get(script.scriptId) || null;
- },
+ this._processScript(script);
+ }
+
+ /**
+ * @param {!WebInspector.Script} script
+ * @return {?WebInspector.TextSourceMap}
+ */
+ sourceMapForScript(script) {
+ return this._sourceMapForScriptId.get(script.scriptId) || null;
+ }
+
+ /**
+ * @param {!WebInspector.Script} script
+ */
+ maybeLoadSourceMap(script) {
+ if (!script.sourceMapURL)
+ return;
+ if (this._sourceMapLoadingPromises.has(script.sourceMapURL))
+ return;
+ if (this._sourceMapForScriptId.has(script.scriptId))
+ return;
+ this._processScript(script);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _sourceMapURLAdded(event) {
+ var script = /** @type {!WebInspector.Script} */ (event.target);
+ if (!script.sourceMapURL)
+ return;
+ this._processScript(script);
+ }
+
+ /**
+ * @param {!WebInspector.Script} script
+ */
+ _processScript(script) {
+ if (WebInspector.blackboxManager.isBlackboxedURL(script.sourceURL, script.isContentScript()))
+ return;
+ // Create stub UISourceCode for the time source mapping is being loaded.
+ var stubUISourceCode = this._stubProject.addContentProvider(
+ script.sourceURL,
+ WebInspector.StaticContentProvider.fromString(
+ script.sourceURL, WebInspector.resourceTypes.Script,
+ '\n\n\n\n\n// Please wait a bit.\n// Compiled script is not shown while source map is being loaded!'));
+ this._stubUISourceCodes.set(script.scriptId, stubUISourceCode);
+
+ this._debuggerWorkspaceBinding.pushSourceMapping(script, this);
+ this._loadSourceMapForScript(script).then(this._sourceMapLoaded.bind(this, script, stubUISourceCode.url()));
+ }
+
+ /**
+ * @param {!WebInspector.Script} script
+ * @param {string} uiSourceCodePath
+ * @param {?WebInspector.TextSourceMap} sourceMap
+ */
+ _sourceMapLoaded(script, uiSourceCodePath, sourceMap) {
+ WebInspector.blackboxManager.sourceMapLoaded(script, sourceMap);
+
+ this._stubUISourceCodes.delete(script.scriptId);
+ this._stubProject.removeFile(uiSourceCodePath);
+
+ if (!sourceMap) {
+ this._debuggerWorkspaceBinding.updateLocations(script);
+ return;
+ }
- /**
- * @param {!WebInspector.Script} script
- */
- maybeLoadSourceMap: function(script)
- {
- if (!script.sourceMapURL)
- return;
- if (this._sourceMapLoadingPromises.has(script.sourceMapURL))
- return;
- if (this._sourceMapForScriptId.has(script.scriptId))
- return;
- this._processScript(script);
- },
+ if (this._scriptForSourceMap.get(sourceMap)) {
+ this._sourceMapForScriptId.set(script.scriptId, sourceMap);
+ this._debuggerWorkspaceBinding.updateLocations(script);
+ return;
+ }
- /**
- * @param {!WebInspector.Event} event
- */
- _sourceMapURLAdded: function(event)
- {
- var script = /** @type {!WebInspector.Script} */ (event.target);
- if (!script.sourceMapURL)
- return;
- this._processScript(script);
- },
+ this._sourceMapForScriptId.set(script.scriptId, sourceMap);
+ this._scriptForSourceMap.set(sourceMap, script);
+
+ // Report sources.
+ var missingSources = [];
+ for (var sourceURL of sourceMap.sourceURLs()) {
+ if (this._sourceMapForURL.get(sourceURL))
+ continue;
+ this._sourceMapForURL.set(sourceURL, sourceMap);
+ var uiSourceCode = this._networkMapping.uiSourceCodeForScriptURL(sourceURL, script);
+ if (!uiSourceCode) {
+ var contentProvider = sourceMap.sourceContentProvider(sourceURL, WebInspector.resourceTypes.SourceMapScript);
+ var embeddedContent = sourceMap.embeddedContentByURL(sourceURL);
+ var embeddedContentLength = typeof embeddedContent === 'string' ? embeddedContent.length : null;
+ uiSourceCode = this._networkProject.addFile(
+ contentProvider, WebInspector.ResourceTreeFrame.fromScript(script), script.isContentScript(),
+ embeddedContentLength);
+ uiSourceCode[WebInspector.CompilerScriptMapping._originSymbol] = script.sourceURL;
+ }
+ if (uiSourceCode) {
+ this._bindUISourceCode(uiSourceCode);
+ } else {
+ if (missingSources.length < 3)
+ missingSources.push(sourceURL);
+ else if (missingSources.peekLast() !== '\u2026')
+ missingSources.push('\u2026');
+ }
+ }
+ if (missingSources.length) {
+ WebInspector.console.warn(WebInspector.UIString(
+ 'Source map %s points to the files missing from the workspace: [%s]', sourceMap.url(),
+ missingSources.join(', ')));
+ }
- /**
- * @param {!WebInspector.Script} script
- */
- _processScript: function(script)
- {
- if (WebInspector.blackboxManager.isBlackboxedURL(script.sourceURL, script.isContentScript()))
- return;
- // Create stub UISourceCode for the time source mapping is being loaded.
- var stubUISourceCode = this._stubProject.addContentProvider(script.sourceURL, WebInspector.StaticContentProvider.fromString(script.sourceURL, WebInspector.resourceTypes.Script, "\n\n\n\n\n// Please wait a bit.\n// Compiled script is not shown while source map is being loaded!"));
- this._stubUISourceCodes.set(script.scriptId, stubUISourceCode);
-
- this._debuggerWorkspaceBinding.pushSourceMapping(script, this);
- this._loadSourceMapForScript(script).then(this._sourceMapLoaded.bind(this, script, stubUISourceCode.url()));
- },
+ this._debuggerWorkspaceBinding.updateLocations(script);
+ }
+
+ /**
+ * @override
+ * @return {boolean}
+ */
+ isIdentity() {
+ return false;
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @param {number} lineNumber
+ * @return {boolean}
+ */
+ uiLineHasMapping(uiSourceCode, lineNumber) {
+ var sourceMap = this._sourceMapForURL.get(uiSourceCode.url());
+ if (!sourceMap)
+ return true;
+ return !!sourceMap.firstSourceLineMapping(uiSourceCode.url(), lineNumber);
+ }
+
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ */
+ _bindUISourceCode(uiSourceCode) {
+ this._debuggerWorkspaceBinding.setSourceMapping(this._target, uiSourceCode, this);
+ }
+
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ */
+ _unbindUISourceCode(uiSourceCode) {
+ this._debuggerWorkspaceBinding.setSourceMapping(this._target, uiSourceCode, null);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _uiSourceCodeAddedToWorkspace(event) {
+ var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
+ if (!this._sourceMapForURL.get(uiSourceCode.url()))
+ return;
+ this._bindUISourceCode(uiSourceCode);
+ }
+
+ /**
+ * @param {!WebInspector.Script} script
+ * @return {!Promise<?WebInspector.TextSourceMap>}
+ */
+ _loadSourceMapForScript(script) {
+ // script.sourceURL can be a random string, but is generally an absolute path -> complete it to inspected page url for
+ // relative links.
+ var scriptURL = WebInspector.ParsedURL.completeURL(this._target.inspectedURL(), script.sourceURL);
+ if (!scriptURL)
+ return Promise.resolve(/** @type {?WebInspector.TextSourceMap} */ (null));
+
+ console.assert(script.sourceMapURL);
+ var scriptSourceMapURL = /** @type {string} */ (script.sourceMapURL);
+
+ var sourceMapURL = WebInspector.ParsedURL.completeURL(scriptURL, scriptSourceMapURL);
+ if (!sourceMapURL)
+ return Promise.resolve(/** @type {?WebInspector.TextSourceMap} */ (null));
+
+ var loadingPromise = this._sourceMapLoadingPromises.get(sourceMapURL);
+ if (!loadingPromise) {
+ loadingPromise =
+ WebInspector.TextSourceMap.load(sourceMapURL, scriptURL).then(sourceMapLoaded.bind(this, sourceMapURL));
+ this._sourceMapLoadingPromises.set(sourceMapURL, loadingPromise);
+ }
+ return loadingPromise;
/**
- * @param {!WebInspector.Script} script
- * @param {string} uiSourceCodePath
+ * @param {string} url
* @param {?WebInspector.TextSourceMap} sourceMap
+ * @this {WebInspector.CompilerScriptMapping}
*/
- _sourceMapLoaded: function(script, uiSourceCodePath, sourceMap)
- {
- WebInspector.blackboxManager.sourceMapLoaded(script, sourceMap);
-
- this._stubUISourceCodes.delete(script.scriptId);
- this._stubProject.removeFile(uiSourceCodePath);
-
- if (!sourceMap) {
- this._debuggerWorkspaceBinding.updateLocations(script);
- return;
- }
-
- if (this._scriptForSourceMap.get(sourceMap)) {
- this._sourceMapForScriptId.set(script.scriptId, sourceMap);
- this._debuggerWorkspaceBinding.updateLocations(script);
- return;
- }
-
- this._sourceMapForScriptId.set(script.scriptId, sourceMap);
- this._scriptForSourceMap.set(sourceMap, script);
-
- // Report sources.
- var missingSources = [];
- for (var sourceURL of sourceMap.sourceURLs()) {
- if (this._sourceMapForURL.get(sourceURL))
- continue;
- this._sourceMapForURL.set(sourceURL, sourceMap);
- var uiSourceCode = this._networkMapping.uiSourceCodeForScriptURL(sourceURL, script);
- if (!uiSourceCode) {
- var contentProvider = sourceMap.sourceContentProvider(sourceURL, WebInspector.resourceTypes.SourceMapScript);
- var embeddedContent = sourceMap.embeddedContentByURL(sourceURL);
- var embeddedContentLength = typeof embeddedContent === "string" ? embeddedContent.length : null;
- uiSourceCode = this._networkProject.addFile(contentProvider, WebInspector.ResourceTreeFrame.fromScript(script), script.isContentScript(), embeddedContentLength);
- uiSourceCode[WebInspector.CompilerScriptMapping._originSymbol] = script.sourceURL;
- }
- if (uiSourceCode) {
- this._bindUISourceCode(uiSourceCode);
- } else {
- if (missingSources.length < 3)
- missingSources.push(sourceURL);
- else if (missingSources.peekLast() !== "\u2026")
- missingSources.push("\u2026");
- }
- }
- if (missingSources.length) {
- WebInspector.console.warn(
- WebInspector.UIString("Source map %s points to the files missing from the workspace: [%s]",
- sourceMap.url(), missingSources.join(", ")));
- }
-
- this._debuggerWorkspaceBinding.updateLocations(script);
- },
+ function sourceMapLoaded(url, sourceMap) {
+ if (!sourceMap) {
+ this._sourceMapLoadingPromises.delete(url);
+ return null;
+ }
- /**
- * @override
- * @return {boolean}
- */
- isIdentity: function()
- {
- return false;
- },
+ return sourceMap;
+ }
+ }
+ _debuggerReset() {
/**
- * @override
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @param {number} lineNumber
- * @return {boolean}
+ * @param {!WebInspector.TextSourceMap} sourceMap
+ * @this {WebInspector.CompilerScriptMapping}
*/
- uiLineHasMapping: function(uiSourceCode, lineNumber)
- {
- var sourceMap = this._sourceMapForURL.get(uiSourceCode.url());
- if (!sourceMap)
- return true;
- return !!sourceMap.firstSourceLineMapping(uiSourceCode.url(), lineNumber);
- },
+ function unbindSourceMapSources(sourceMap) {
+ var script = this._scriptForSourceMap.get(sourceMap);
+ if (!script)
+ return;
+ for (var sourceURL of sourceMap.sourceURLs()) {
+ var uiSourceCode = this._networkMapping.uiSourceCodeForScriptURL(sourceURL, script);
+ if (uiSourceCode)
+ this._unbindUISourceCode(uiSourceCode);
+ }
+ }
- /**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- */
- _bindUISourceCode: function(uiSourceCode)
- {
- this._debuggerWorkspaceBinding.setSourceMapping(this._target, uiSourceCode, this);
- },
+ this._sourceMapForURL.valuesArray().forEach(unbindSourceMapSources.bind(this));
- /**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- */
- _unbindUISourceCode: function(uiSourceCode)
- {
- this._debuggerWorkspaceBinding.setSourceMapping(this._target, uiSourceCode, null);
- },
+ this._sourceMapLoadingPromises.clear();
+ this._sourceMapForScriptId.clear();
+ this._scriptForSourceMap.clear();
+ this._sourceMapForURL.clear();
+ }
- /**
- * @param {!WebInspector.Event} event
- */
- _uiSourceCodeAddedToWorkspace: function(event)
- {
- var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
- if (!this._sourceMapForURL.get(uiSourceCode.url()))
- return;
- this._bindUISourceCode(uiSourceCode);
- },
-
- /**
- * @param {!WebInspector.Script} script
- * @return {!Promise<?WebInspector.TextSourceMap>}
- */
- _loadSourceMapForScript: function(script)
- {
- // script.sourceURL can be a random string, but is generally an absolute path -> complete it to inspected page url for
- // relative links.
- var scriptURL = WebInspector.ParsedURL.completeURL(this._target.inspectedURL(), script.sourceURL);
- if (!scriptURL)
- return Promise.resolve(/** @type {?WebInspector.TextSourceMap} */(null));
-
- console.assert(script.sourceMapURL);
- var scriptSourceMapURL = /** @type {string} */ (script.sourceMapURL);
-
- var sourceMapURL = WebInspector.ParsedURL.completeURL(scriptURL, scriptSourceMapURL);
- if (!sourceMapURL)
- return Promise.resolve(/** @type {?WebInspector.TextSourceMap} */(null));
-
- var loadingPromise = this._sourceMapLoadingPromises.get(sourceMapURL);
- if (!loadingPromise) {
- loadingPromise = WebInspector.TextSourceMap.load(sourceMapURL, scriptURL).then(sourceMapLoaded.bind(this, sourceMapURL));
- this._sourceMapLoadingPromises.set(sourceMapURL, loadingPromise);
- }
- return loadingPromise;
-
- /**
- * @param {string} url
- * @param {?WebInspector.TextSourceMap} sourceMap
- * @this {WebInspector.CompilerScriptMapping}
- */
- function sourceMapLoaded(url, sourceMap)
- {
- if (!sourceMap) {
- this._sourceMapLoadingPromises.delete(url);
- return null;
- }
-
- return sourceMap;
- }
- },
-
- _debuggerReset: function()
- {
- /**
- * @param {!WebInspector.TextSourceMap} sourceMap
- * @this {WebInspector.CompilerScriptMapping}
- */
- function unbindSourceMapSources(sourceMap)
- {
- var script = this._scriptForSourceMap.get(sourceMap);
- if (!script)
- return;
- for (var sourceURL of sourceMap.sourceURLs()) {
- var uiSourceCode = this._networkMapping.uiSourceCodeForScriptURL(sourceURL, script);
- if (uiSourceCode)
- this._unbindUISourceCode(uiSourceCode);
- }
- }
-
- this._sourceMapForURL.valuesArray().forEach(unbindSourceMapSources.bind(this));
-
- this._sourceMapLoadingPromises.clear();
- this._sourceMapForScriptId.clear();
- this._scriptForSourceMap.clear();
- this._sourceMapForURL.clear();
- },
-
- dispose: function()
- {
- WebInspector.EventTarget.removeEventListeners(this._eventListeners);
- this._debuggerReset();
- this._stubProject.dispose();
- }
+ dispose() {
+ WebInspector.EventTarget.removeEventListeners(this._eventListeners);
+ this._debuggerReset();
+ this._stubProject.dispose();
+ }
};
-/**
- * @param {!WebInspector.Target} target
- * @return {string}
- */
-WebInspector.CompilerScriptMapping.projectIdForTarget = function(target)
-{
- return "compiler-script-project:" + target.id();
-};
+WebInspector.CompilerScriptMapping._originSymbol = Symbol('origin');
+
+

Powered by Google App Engine
This is Rietveld 408576698