| Index: Source/devtools/front_end/sdk/Workspace.js
|
| diff --git a/Source/devtools/front_end/sdk/Workspace.js b/Source/devtools/front_end/sdk/Workspace.js
|
| deleted file mode 100644
|
| index b615741b1dbdc9fb32f22926bd6eeac7beaf2141..0000000000000000000000000000000000000000
|
| --- a/Source/devtools/front_end/sdk/Workspace.js
|
| +++ /dev/null
|
| @@ -1,815 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2012 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions are
|
| - * met:
|
| - *
|
| - * * Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * * Redistributions in binary form must reproduce the above
|
| - * copyright notice, this list of conditions and the following disclaimer
|
| - * in the documentation and/or other materials provided with the
|
| - * distribution.
|
| - * * Neither the name of Google Inc. nor the names of its
|
| - * contributors may be used to endorse or promote products derived from
|
| - * this software without specific prior written permission.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (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
|
| - * @param {string} parentPath
|
| - * @param {string} name
|
| - * @param {string} originURL
|
| - * @param {string} url
|
| - * @param {!WebInspector.ResourceType} contentType
|
| - */
|
| -WebInspector.FileDescriptor = function(parentPath, name, originURL, url, contentType)
|
| -{
|
| - this.parentPath = parentPath;
|
| - this.name = name;
|
| - this.originURL = originURL;
|
| - this.url = url;
|
| - this.contentType = contentType;
|
| -}
|
| -
|
| -/**
|
| - * @interface
|
| - */
|
| -WebInspector.ProjectDelegate = function() { }
|
| -
|
| -WebInspector.ProjectDelegate.prototype = {
|
| - /**
|
| - * @return {string}
|
| - */
|
| - type: function() { },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - displayName: function() { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {function(?Date, ?number)} callback
|
| - */
|
| - requestMetadata: function(path, callback) { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {function(?string)} callback
|
| - */
|
| - requestFileContent: function(path, callback) { },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - canSetFileContent: function() { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {string} newContent
|
| - * @param {function(?string)} callback
|
| - */
|
| - setFileContent: function(path, newContent, callback) { },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - canRename: function() { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {string} newName
|
| - * @param {function(boolean, string=, string=, string=, !WebInspector.ResourceType=)} callback
|
| - */
|
| - rename: function(path, newName, callback) { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {function()=} callback
|
| - */
|
| - refresh: function(path, callback) { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - */
|
| - excludeFolder: function(path) { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {?string} name
|
| - * @param {string} content
|
| - * @param {function(?string)} callback
|
| - */
|
| - createFile: function(path, name, content, callback) { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - */
|
| - deleteFile: function(path) { },
|
| -
|
| - remove: function() { },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {string} query
|
| - * @param {boolean} caseSensitive
|
| - * @param {boolean} isRegex
|
| - * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} callback
|
| - */
|
| - searchInFileContent: function(path, query, caseSensitive, isRegex, callback) { },
|
| -
|
| - /**
|
| - * @param {!WebInspector.ProjectSearchConfig} searchConfig
|
| - * @param {!Array.<string>} filesMathingFileQuery
|
| - * @param {!WebInspector.Progress} progress
|
| - * @param {function(!Array.<string>)} callback
|
| - */
|
| - findFilesMatchingSearchRequest: function(searchConfig, filesMathingFileQuery, progress, callback) { },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Progress} progress
|
| - */
|
| - indexContent: function(progress) { }
|
| -}
|
| -
|
| -/**
|
| - * @interface
|
| - */
|
| -WebInspector.ProjectSearchConfig = function() {}
|
| -
|
| -WebInspector.ProjectSearchConfig.prototype = {
|
| - /**
|
| - * @return {string}
|
| - */
|
| - query: function() { },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - ignoreCase: function() { },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - isRegex: function() { },
|
| -
|
| - /**
|
| - * @return {!Array.<string>}
|
| - */
|
| - queries: function() { },
|
| -
|
| - /**
|
| - * @param {string} filePath
|
| - * @return {boolean}
|
| - */
|
| - filePathMatchesFileQuery: function(filePath) { }
|
| -}
|
| -
|
| -/**
|
| - * @constructor
|
| - * @param {!WebInspector.Project} project
|
| - */
|
| -WebInspector.ProjectStore = function(project)
|
| -{
|
| - this._project = project;
|
| -}
|
| -
|
| -WebInspector.ProjectStore.prototype = {
|
| - /**
|
| - * @param {!WebInspector.FileDescriptor} fileDescriptor
|
| - */
|
| - addFile: function(fileDescriptor)
|
| - {
|
| - this._project._addFile(fileDescriptor);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - */
|
| - removeFile: function(path)
|
| - {
|
| - this._project._removeFile(path);
|
| - },
|
| -
|
| - /**
|
| - * @return {!WebInspector.Project}
|
| - */
|
| - project: function()
|
| - {
|
| - return this._project;
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * @param {!WebInspector.Workspace} workspace
|
| - * @param {string} projectId
|
| - * @param {!WebInspector.ProjectDelegate} projectDelegate
|
| - * @constructor
|
| - */
|
| -WebInspector.Project = function(workspace, projectId, projectDelegate)
|
| -{
|
| - /** @type {!Object.<string, !{uiSourceCode: !WebInspector.UISourceCode, index: number}>} */
|
| - this._uiSourceCodesMap = {};
|
| - /** @type {!Array.<!WebInspector.UISourceCode>} */
|
| - this._uiSourceCodesList = [];
|
| - this._workspace = workspace;
|
| - this._projectId = projectId;
|
| - this._projectDelegate = projectDelegate;
|
| - this._displayName = this._projectDelegate.displayName();
|
| -}
|
| -
|
| -WebInspector.Project.prototype = {
|
| - /**
|
| - * @return {string}
|
| - */
|
| - id: function()
|
| - {
|
| - return this._projectId;
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - type: function()
|
| - {
|
| - return this._projectDelegate.type();
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - displayName: function()
|
| - {
|
| - return this._displayName;
|
| - },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - isServiceProject: function()
|
| - {
|
| - return this._projectDelegate.type() === WebInspector.projectTypes.Debugger || this._projectDelegate.type() === WebInspector.projectTypes.Formatter || this._projectDelegate.type() === WebInspector.projectTypes.LiveEdit;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.FileDescriptor} fileDescriptor
|
| - */
|
| - _addFile: function(fileDescriptor)
|
| - {
|
| - var path = fileDescriptor.parentPath ? fileDescriptor.parentPath + "/" + fileDescriptor.name : fileDescriptor.name;
|
| - var uiSourceCode = this.uiSourceCode(path);
|
| - if (uiSourceCode)
|
| - return;
|
| -
|
| - uiSourceCode = new WebInspector.UISourceCode(this, fileDescriptor.parentPath, fileDescriptor.name, fileDescriptor.originURL, fileDescriptor.url, fileDescriptor.contentType);
|
| -
|
| - this._uiSourceCodesMap[path] = {uiSourceCode: uiSourceCode, index: this._uiSourceCodesList.length};
|
| - this._uiSourceCodesList.push(uiSourceCode);
|
| - this._workspace.dispatchEventToListeners(WebInspector.Workspace.Events.UISourceCodeAdded, uiSourceCode);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - */
|
| - _removeFile: function(path)
|
| - {
|
| - var uiSourceCode = this.uiSourceCode(path);
|
| - if (!uiSourceCode)
|
| - return;
|
| -
|
| - var entry = this._uiSourceCodesMap[path];
|
| - var movedUISourceCode = this._uiSourceCodesList[this._uiSourceCodesList.length - 1];
|
| - this._uiSourceCodesList[entry.index] = movedUISourceCode;
|
| - var movedEntry = this._uiSourceCodesMap[movedUISourceCode.path()];
|
| - movedEntry.index = entry.index;
|
| - this._uiSourceCodesList.splice(this._uiSourceCodesList.length - 1, 1);
|
| - delete this._uiSourceCodesMap[path];
|
| - this._workspace.dispatchEventToListeners(WebInspector.Workspace.Events.UISourceCodeRemoved, entry.uiSourceCode);
|
| - },
|
| -
|
| - _remove: function()
|
| - {
|
| - this._workspace.dispatchEventToListeners(WebInspector.Workspace.Events.ProjectRemoved, this);
|
| - this._uiSourceCodesMap = {};
|
| - this._uiSourceCodesList = [];
|
| - },
|
| -
|
| - /**
|
| - * @return {!WebInspector.Workspace}
|
| - */
|
| - workspace: function()
|
| - {
|
| - return this._workspace;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - uiSourceCode: function(path)
|
| - {
|
| - var entry = this._uiSourceCodesMap[path];
|
| - return entry ? entry.uiSourceCode : null;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} originURL
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - uiSourceCodeForOriginURL: function(originURL)
|
| - {
|
| - for (var i = 0; i < this._uiSourceCodesList.length; ++i) {
|
| - var uiSourceCode = this._uiSourceCodesList[i];
|
| - if (uiSourceCode.originURL() === originURL)
|
| - return uiSourceCode;
|
| - }
|
| - return null;
|
| - },
|
| -
|
| - /**
|
| - * @return {!Array.<!WebInspector.UISourceCode>}
|
| - */
|
| - uiSourceCodes: function()
|
| - {
|
| - return this._uiSourceCodesList;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @param {function(?Date, ?number)} callback
|
| - */
|
| - requestMetadata: function(uiSourceCode, callback)
|
| - {
|
| - this._projectDelegate.requestMetadata(uiSourceCode.path(), callback);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @param {function(?string)} callback
|
| - */
|
| - requestFileContent: function(uiSourceCode, callback)
|
| - {
|
| - this._projectDelegate.requestFileContent(uiSourceCode.path(), callback);
|
| - },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - canSetFileContent: function()
|
| - {
|
| - return this._projectDelegate.canSetFileContent();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @param {string} newContent
|
| - * @param {function(?string)} callback
|
| - */
|
| - setFileContent: function(uiSourceCode, newContent, callback)
|
| - {
|
| - this._projectDelegate.setFileContent(uiSourceCode.path(), newContent, onSetContent.bind(this));
|
| -
|
| - /**
|
| - * @param {?string} content
|
| - * @this {WebInspector.Project}
|
| - */
|
| - function onSetContent(content)
|
| - {
|
| - this._workspace.dispatchEventToListeners(WebInspector.Workspace.Events.UISourceCodeContentCommitted, { uiSourceCode: uiSourceCode, content: newContent });
|
| - callback(content);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - canRename: function()
|
| - {
|
| - return this._projectDelegate.canRename();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @param {string} newName
|
| - * @param {function(boolean, string=, string=, string=, !WebInspector.ResourceType=)} callback
|
| - */
|
| - rename: function(uiSourceCode, newName, callback)
|
| - {
|
| - if (newName === uiSourceCode.name()) {
|
| - callback(true, uiSourceCode.name(), uiSourceCode.url, uiSourceCode.originURL(), uiSourceCode.contentType());
|
| - return;
|
| - }
|
| -
|
| - this._projectDelegate.rename(uiSourceCode.path(), newName, innerCallback.bind(this));
|
| -
|
| - /**
|
| - * @param {boolean} success
|
| - * @param {string=} newName
|
| - * @param {string=} newURL
|
| - * @param {string=} newOriginURL
|
| - * @param {!WebInspector.ResourceType=} newContentType
|
| - * @this {WebInspector.Project}
|
| - */
|
| - function innerCallback(success, newName, newURL, newOriginURL, newContentType)
|
| - {
|
| - if (!success || !newName) {
|
| - callback(false);
|
| - return;
|
| - }
|
| - var oldPath = uiSourceCode.path();
|
| - var newPath = uiSourceCode.parentPath() ? uiSourceCode.parentPath() + "/" + newName : newName;
|
| - this._uiSourceCodesMap[newPath] = this._uiSourceCodesMap[oldPath];
|
| - delete this._uiSourceCodesMap[oldPath];
|
| - callback(true, newName, newURL, newOriginURL, newContentType);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {function()=} callback
|
| - */
|
| - refresh: function(path, callback)
|
| - {
|
| - this._projectDelegate.refresh(path, callback);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - */
|
| - excludeFolder: function(path)
|
| - {
|
| - this._projectDelegate.excludeFolder(path);
|
| - var uiSourceCodes = this._uiSourceCodesList.slice();
|
| - for (var i = 0; i < uiSourceCodes.length; ++i) {
|
| - var uiSourceCode = uiSourceCodes[i];
|
| - if (uiSourceCode.path().startsWith(path.substr(1)))
|
| - this._removeFile(uiSourceCode.path());
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - * @param {?string} name
|
| - * @param {string} content
|
| - * @param {function(?string)} callback
|
| - */
|
| - createFile: function(path, name, content, callback)
|
| - {
|
| - this._projectDelegate.createFile(path, name, content, innerCallback);
|
| -
|
| - function innerCallback(filePath)
|
| - {
|
| - callback(filePath);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {string} path
|
| - */
|
| - deleteFile: function(path)
|
| - {
|
| - this._projectDelegate.deleteFile(path);
|
| - },
|
| -
|
| - remove: function()
|
| - {
|
| - this._projectDelegate.remove();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @param {string} query
|
| - * @param {boolean} caseSensitive
|
| - * @param {boolean} isRegex
|
| - * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} callback
|
| - */
|
| - searchInFileContent: function(uiSourceCode, query, caseSensitive, isRegex, callback)
|
| - {
|
| - this._projectDelegate.searchInFileContent(uiSourceCode.path(), query, caseSensitive, isRegex, callback);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.ProjectSearchConfig} searchConfig
|
| - * @param {!Array.<string>} filesMathingFileQuery
|
| - * @param {!WebInspector.Progress} progress
|
| - * @param {function(!Array.<string>)} callback
|
| - */
|
| - findFilesMatchingSearchRequest: function(searchConfig, filesMathingFileQuery, progress, callback)
|
| - {
|
| - this._projectDelegate.findFilesMatchingSearchRequest(searchConfig, filesMathingFileQuery, progress, callback);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Progress} progress
|
| - */
|
| - indexContent: function(progress)
|
| - {
|
| - this._projectDelegate.indexContent(progress);
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * @enum {string}
|
| - */
|
| -WebInspector.projectTypes = {
|
| - Debugger: "debugger",
|
| - Formatter: "formatter",
|
| - LiveEdit: "liveedit",
|
| - Network: "network",
|
| - Snippets: "snippets",
|
| - FileSystem: "filesystem",
|
| - ContentScripts: "contentscripts"
|
| -}
|
| -
|
| -/**
|
| - * @constructor
|
| - * @extends {WebInspector.Object}
|
| - * @param {!WebInspector.FileSystemMapping} fileSystemMapping
|
| - */
|
| -WebInspector.Workspace = function(fileSystemMapping)
|
| -{
|
| - this._fileSystemMapping = fileSystemMapping;
|
| - /** @type {!Object.<string, !WebInspector.Project>} */
|
| - this._projects = {};
|
| - this._hasResourceContentTrackingExtensions = false;
|
| - InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.Events.RevealSourceLine, this._revealSourceLine, this);
|
| -}
|
| -
|
| -WebInspector.Workspace.Events = {
|
| - UISourceCodeAdded: "UISourceCodeAdded",
|
| - UISourceCodeRemoved: "UISourceCodeRemoved",
|
| - UISourceCodeContentCommitted: "UISourceCodeContentCommitted",
|
| - ProjectRemoved: "ProjectRemoved"
|
| -}
|
| -
|
| -WebInspector.Workspace.prototype = {
|
| - /**
|
| - * @return {!Array.<!WebInspector.UISourceCode>}
|
| - */
|
| - unsavedSourceCodes: function()
|
| - {
|
| - function filterUnsaved(sourceCode)
|
| - {
|
| - return sourceCode.isDirty();
|
| - }
|
| - return this.uiSourceCodes().filter(filterUnsaved);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} projectId
|
| - * @param {string} path
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - uiSourceCode: function(projectId, path)
|
| - {
|
| - var project = this._projects[projectId];
|
| - return project ? project.uiSourceCode(path) : null;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} originURL
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - uiSourceCodeForOriginURL: function(originURL)
|
| - {
|
| - var projects = this.projectsForType(WebInspector.projectTypes.Network);
|
| - projects = projects.concat(this.projectsForType(WebInspector.projectTypes.ContentScripts));
|
| - for (var i = 0; i < projects.length; ++i) {
|
| - var project = projects[i];
|
| - var uiSourceCode = project.uiSourceCodeForOriginURL(originURL);
|
| - if (uiSourceCode)
|
| - return uiSourceCode;
|
| - }
|
| - return null;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} type
|
| - * @return {!Array.<!WebInspector.UISourceCode>}
|
| - */
|
| - uiSourceCodesForProjectType: function(type)
|
| - {
|
| - var result = [];
|
| - for (var projectName in this._projects) {
|
| - var project = this._projects[projectName];
|
| - if (project.type() === type)
|
| - result = result.concat(project.uiSourceCodes());
|
| - }
|
| - return result;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} projectId
|
| - * @param {!WebInspector.ProjectDelegate} projectDelegate
|
| - * @return {!WebInspector.ProjectStore}
|
| - */
|
| - addProject: function(projectId, projectDelegate)
|
| - {
|
| - var project = new WebInspector.Project(this, projectId, projectDelegate);
|
| - this._projects[projectId] = project;
|
| - var projectStore = new WebInspector.ProjectStore(project);
|
| - return projectStore;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} projectId
|
| - */
|
| - removeProject: function(projectId)
|
| - {
|
| - var project = this._projects[projectId];
|
| - if (!project)
|
| - return;
|
| - delete this._projects[projectId];
|
| - project._remove();
|
| - },
|
| -
|
| - /**
|
| - * @param {string} projectId
|
| - * @return {!WebInspector.Project}
|
| - */
|
| - project: function(projectId)
|
| - {
|
| - return this._projects[projectId];
|
| - },
|
| -
|
| - /**
|
| - * @return {!Array.<!WebInspector.Project>}
|
| - */
|
| - projects: function()
|
| - {
|
| - return Object.values(this._projects);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} type
|
| - * @return {!Array.<!WebInspector.Project>}
|
| - */
|
| - projectsForType: function(type)
|
| - {
|
| - function filterByType(project)
|
| - {
|
| - return project.type() === type;
|
| - }
|
| - return this.projects().filter(filterByType);
|
| - },
|
| -
|
| - /**
|
| - * @return {!Array.<!WebInspector.UISourceCode>}
|
| - */
|
| - uiSourceCodes: function()
|
| - {
|
| - var result = [];
|
| - for (var projectId in this._projects) {
|
| - var project = this._projects[projectId];
|
| - result = result.concat(project.uiSourceCodes());
|
| - }
|
| - return result;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} url
|
| - * @return {boolean}
|
| - */
|
| - hasMappingForURL: function(url)
|
| - {
|
| - return this._fileSystemMapping.hasMappingForURL(url);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} url
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - _networkUISourceCodeForURL: function(url)
|
| - {
|
| - var splitURL = WebInspector.ParsedURL.splitURL(url);
|
| - var projectId = splitURL[0];
|
| - var project = this.project(projectId);
|
| - return project ? project.uiSourceCode(splitURL.slice(1).join("/")) : null;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} url
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - _contentScriptUISourceCodeForURL: function(url)
|
| - {
|
| - var splitURL = WebInspector.ParsedURL.splitURL(url);
|
| - var projectId = "contentscripts:" + splitURL[0];
|
| - var project = this.project(projectId);
|
| - return project ? project.uiSourceCode(splitURL.slice(1).join("/")) : null;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} url
|
| - * @return {?WebInspector.UISourceCode}
|
| - */
|
| - uiSourceCodeForURL: function(url)
|
| - {
|
| - var file = this._fileSystemMapping.fileForURL(url);
|
| - if (!file)
|
| - return this._networkUISourceCodeForURL(url) || this._contentScriptUISourceCodeForURL(url);
|
| -
|
| - var projectId = WebInspector.FileSystemWorkspaceBinding.projectId(file.fileSystemPath);
|
| - var project = this.project(projectId);
|
| - return project ? project.uiSourceCode(file.filePath) : null;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} fileSystemPath
|
| - * @param {string} filePath
|
| - * @return {string}
|
| - */
|
| - urlForPath: function(fileSystemPath, filePath)
|
| - {
|
| - return this._fileSystemMapping.urlForPath(fileSystemPath, filePath);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} networkUISourceCode
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @param {!WebInspector.FileSystemWorkspaceBinding} fileSystemWorkspaceBinding
|
| - */
|
| - addMapping: function(networkUISourceCode, uiSourceCode, fileSystemWorkspaceBinding)
|
| - {
|
| - var url = networkUISourceCode.url;
|
| - var path = uiSourceCode.path();
|
| - var fileSystemPath = fileSystemWorkspaceBinding.fileSystemPath(uiSourceCode.project().id());
|
| - this._fileSystemMapping.addMappingForResource(url, fileSystemPath, path);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - */
|
| - removeMapping: function(uiSourceCode)
|
| - {
|
| - this._fileSystemMapping.removeMappingForURL(uiSourceCode.url);
|
| - },
|
| -
|
| - /**
|
| - * @param {boolean} hasExtensions
|
| - */
|
| - setHasResourceContentTrackingExtensions: function(hasExtensions)
|
| - {
|
| - this._hasResourceContentTrackingExtensions = hasExtensions;
|
| - },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - hasResourceContentTrackingExtensions: function()
|
| - {
|
| - return this._hasResourceContentTrackingExtensions;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _revealSourceLine: function(event)
|
| - {
|
| - var url = /** @type {string} */ (event.data["url"]);
|
| - var lineNumber = /** @type {number} */ (event.data["lineNumber"]);
|
| - var columnNumber = /** @type {number} */ (event.data["columnNumber"]);
|
| -
|
| - var uiSourceCode = this.uiSourceCodeForURL(url);
|
| - if (uiSourceCode) {
|
| - WebInspector.Revealer.reveal(uiSourceCode.uiLocation(lineNumber, columnNumber));
|
| - return;
|
| - }
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - * @this {WebInspector.Workspace}
|
| - */
|
| - function listener(event)
|
| - {
|
| - var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
|
| - if (uiSourceCode.url === url) {
|
| - WebInspector.Revealer.reveal(uiSourceCode.uiLocation(lineNumber, columnNumber));
|
| - this.removeEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, listener, this);
|
| - }
|
| - }
|
| -
|
| - this.addEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, listener, this);
|
| - },
|
| -
|
| - __proto__: WebInspector.Object.prototype
|
| -}
|
| -
|
| -/**
|
| - * @type {!WebInspector.Workspace}
|
| - */
|
| -WebInspector.workspace;
|
|
|