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

Unified Diff: third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.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/FileSystemWorkspaceBinding.js
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js b/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js
index e827132b4ad9754666fd3e310557735f2cdb7ecd..d5abd2f689a0ebf639f53ae70a38dde166bb3e8a 100644
--- a/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js
+++ b/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js
@@ -27,557 +27,521 @@
* (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 {!WebInspector.IsolatedFileSystemManager} isolatedFileSystemManager
- * @param {!WebInspector.Workspace} workspace
+ * @unrestricted
*/
-WebInspector.FileSystemWorkspaceBinding = function(isolatedFileSystemManager, workspace)
-{
+WebInspector.FileSystemWorkspaceBinding = class {
+ /**
+ * @param {!WebInspector.IsolatedFileSystemManager} isolatedFileSystemManager
+ * @param {!WebInspector.Workspace} workspace
+ */
+ constructor(isolatedFileSystemManager, workspace) {
this._isolatedFileSystemManager = isolatedFileSystemManager;
this._workspace = workspace;
this._eventListeners = [
- this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemAdded, this._onFileSystemAdded, this),
- this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemRemoved, this._onFileSystemRemoved, this),
- this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemFilesChanged, this._fileSystemFilesChanged, this)
+ this._isolatedFileSystemManager.addEventListener(
+ WebInspector.IsolatedFileSystemManager.Events.FileSystemAdded, this._onFileSystemAdded, this),
+ this._isolatedFileSystemManager.addEventListener(
+ WebInspector.IsolatedFileSystemManager.Events.FileSystemRemoved, this._onFileSystemRemoved, this),
+ this._isolatedFileSystemManager.addEventListener(
+ WebInspector.IsolatedFileSystemManager.Events.FileSystemFilesChanged, this._fileSystemFilesChanged, this)
];
/** @type {!Map.<string, !WebInspector.FileSystemWorkspaceBinding.FileSystem>} */
this._boundFileSystems = new Map();
- this._isolatedFileSystemManager.waitForFileSystems()
- .then(this._onFileSystemsLoaded.bind(this));
-};
-
-WebInspector.FileSystemWorkspaceBinding._styleSheetExtensions = new Set(["css", "scss", "sass", "less"]);
-WebInspector.FileSystemWorkspaceBinding._documentExtensions = new Set(["htm", "html", "asp", "aspx", "phtml", "jsp"]);
-WebInspector.FileSystemWorkspaceBinding._scriptExtensions = new Set(["asp", "aspx", "c", "cc", "cljs", "coffee", "cpp", "cs", "dart", "java", "js", "jsp", "jsx", "h", "m", "mm", "py", "sh", "ts", "tsx", "ls"]);
-
-WebInspector.FileSystemWorkspaceBinding._imageExtensions = WebInspector.IsolatedFileSystem.ImageExtensions;
-
-/**
- * @param {string} fileSystemPath
- * @return {string}
- */
-WebInspector.FileSystemWorkspaceBinding.projectId = function(fileSystemPath)
-{
+ this._isolatedFileSystemManager.waitForFileSystems().then(this._onFileSystemsLoaded.bind(this));
+ }
+
+ /**
+ * @param {string} fileSystemPath
+ * @return {string}
+ */
+ static projectId(fileSystemPath) {
return fileSystemPath;
-};
-
-/**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @return {!Array<string>}
- */
-WebInspector.FileSystemWorkspaceBinding.relativePath = function(uiSourceCode)
-{
- var baseURL = /** @type {!WebInspector.FileSystemWorkspaceBinding.FileSystem}*/(uiSourceCode.project())._fileSystemBaseURL;
- return uiSourceCode.url().substring(baseURL.length).split("/");
-};
-
-/**
- * @param {!WebInspector.Project} project
- * @param {string} relativePath
- * @return {string}
- */
-WebInspector.FileSystemWorkspaceBinding.completeURL = function(project, relativePath)
-{
- var fsProject = /** @type {!WebInspector.FileSystemWorkspaceBinding.FileSystem}*/(project);
+ }
+
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @return {!Array<string>}
+ */
+ static relativePath(uiSourceCode) {
+ var baseURL =
+ /** @type {!WebInspector.FileSystemWorkspaceBinding.FileSystem}*/ (uiSourceCode.project())._fileSystemBaseURL;
+ return uiSourceCode.url().substring(baseURL.length).split('/');
+ }
+
+ /**
+ * @param {!WebInspector.Project} project
+ * @param {string} relativePath
+ * @return {string}
+ */
+ static completeURL(project, relativePath) {
+ var fsProject = /** @type {!WebInspector.FileSystemWorkspaceBinding.FileSystem}*/ (project);
return fsProject._fileSystemBaseURL + relativePath;
-};
+ }
-/**
- * @param {string} extension
- * @return {!WebInspector.ResourceType}
- */
-WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension = function(extension)
-{
+ /**
+ * @param {string} extension
+ * @return {!WebInspector.ResourceType}
+ */
+ static _contentTypeForExtension(extension) {
if (WebInspector.FileSystemWorkspaceBinding._styleSheetExtensions.has(extension))
- return WebInspector.resourceTypes.Stylesheet;
+ return WebInspector.resourceTypes.Stylesheet;
if (WebInspector.FileSystemWorkspaceBinding._documentExtensions.has(extension))
- return WebInspector.resourceTypes.Document;
+ return WebInspector.resourceTypes.Document;
if (WebInspector.FileSystemWorkspaceBinding._imageExtensions.has(extension))
- return WebInspector.resourceTypes.Image;
+ return WebInspector.resourceTypes.Image;
if (WebInspector.FileSystemWorkspaceBinding._scriptExtensions.has(extension))
- return WebInspector.resourceTypes.Script;
+ return WebInspector.resourceTypes.Script;
return WebInspector.resourceTypes.Other;
-};
-
-WebInspector.FileSystemWorkspaceBinding.prototype = {
- /**
- * @return {!WebInspector.IsolatedFileSystemManager}
- */
- fileSystemManager: function()
- {
- return this._isolatedFileSystemManager;
- },
-
- /**
- * @param {!Array<!WebInspector.IsolatedFileSystem>} fileSystems
- */
- _onFileSystemsLoaded: function(fileSystems)
- {
- for (var fileSystem of fileSystems)
- this._addFileSystem(fileSystem);
- },
+ }
- /**
- * @param {!WebInspector.Event} event
- */
- _onFileSystemAdded: function(event)
- {
- var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
- this._addFileSystem(fileSystem);
- },
-
- /**
- * @param {!WebInspector.IsolatedFileSystem} fileSystem
- */
- _addFileSystem: function(fileSystem)
- {
- var boundFileSystem = new WebInspector.FileSystemWorkspaceBinding.FileSystem(this, fileSystem, this._workspace);
- this._boundFileSystems.set(fileSystem.path(), boundFileSystem);
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onFileSystemRemoved: function(event)
- {
- var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
- var boundFileSystem = this._boundFileSystems.get(fileSystem.path());
- boundFileSystem.dispose();
- this._boundFileSystems.remove(fileSystem.path());
- },
+ /**
+ * @param {string} projectId
+ * @return {string}
+ */
+ static fileSystemPath(projectId) {
+ return projectId;
+ }
+
+ /**
+ * @return {!WebInspector.IsolatedFileSystemManager}
+ */
+ fileSystemManager() {
+ return this._isolatedFileSystemManager;
+ }
+
+ /**
+ * @param {!Array<!WebInspector.IsolatedFileSystem>} fileSystems
+ */
+ _onFileSystemsLoaded(fileSystems) {
+ for (var fileSystem of fileSystems)
+ this._addFileSystem(fileSystem);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onFileSystemAdded(event) {
+ var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
+ this._addFileSystem(fileSystem);
+ }
+
+ /**
+ * @param {!WebInspector.IsolatedFileSystem} fileSystem
+ */
+ _addFileSystem(fileSystem) {
+ var boundFileSystem = new WebInspector.FileSystemWorkspaceBinding.FileSystem(this, fileSystem, this._workspace);
+ this._boundFileSystems.set(fileSystem.path(), boundFileSystem);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onFileSystemRemoved(event) {
+ var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
+ var boundFileSystem = this._boundFileSystems.get(fileSystem.path());
+ boundFileSystem.dispose();
+ this._boundFileSystems.remove(fileSystem.path());
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _fileSystemFilesChanged(event) {
+ var paths = /** @type {!Array<string>} */ (event.data);
+ for (var path of paths) {
+ for (var key of this._boundFileSystems.keys()) {
+ if (!path.startsWith(key))
+ continue;
+ this._boundFileSystems.get(key)._fileChanged(path);
+ }
+ }
+ }
- /**
- * @param {!WebInspector.Event} event
- */
- _fileSystemFilesChanged: function(event)
- {
- var paths = /** @type {!Array<string>} */ (event.data);
- for (var path of paths) {
- for (var key of this._boundFileSystems.keys()) {
- if (!path.startsWith(key))
- continue;
- this._boundFileSystems.get(key)._fileChanged(path);
- }
- }
- },
-
- dispose: function()
- {
- WebInspector.EventTarget.removeEventListeners(this._eventListeners);
- for (var fileSystem of this._boundFileSystems.values()) {
- fileSystem.dispose();
- this._boundFileSystems.remove(fileSystem._fileSystem.path());
- }
+ dispose() {
+ WebInspector.EventTarget.removeEventListeners(this._eventListeners);
+ for (var fileSystem of this._boundFileSystems.values()) {
+ fileSystem.dispose();
+ this._boundFileSystems.remove(fileSystem._fileSystem.path());
}
+ }
};
-/**
- * @param {string} projectId
- * @return {string}
- */
-WebInspector.FileSystemWorkspaceBinding.fileSystemPath = function(projectId)
-{
- return projectId;
-};
+WebInspector.FileSystemWorkspaceBinding._styleSheetExtensions = new Set(['css', 'scss', 'sass', 'less']);
+WebInspector.FileSystemWorkspaceBinding._documentExtensions = new Set(['htm', 'html', 'asp', 'aspx', 'phtml', 'jsp']);
+WebInspector.FileSystemWorkspaceBinding._scriptExtensions = new Set([
+ 'asp', 'aspx', 'c', 'cc', 'cljs', 'coffee', 'cpp', 'cs', 'dart', 'java', 'js',
+ 'jsp', 'jsx', 'h', 'm', 'mm', 'py', 'sh', 'ts', 'tsx', 'ls'
+]);
+
+WebInspector.FileSystemWorkspaceBinding._imageExtensions = WebInspector.IsolatedFileSystem.ImageExtensions;
+
/**
- * @constructor
- * @extends {WebInspector.ProjectStore}
* @implements {WebInspector.Project}
- * @param {!WebInspector.FileSystemWorkspaceBinding} fileSystemWorkspaceBinding
- * @param {!WebInspector.IsolatedFileSystem} isolatedFileSystem
- * @param {!WebInspector.Workspace} workspace
+ * @unrestricted
*/
-WebInspector.FileSystemWorkspaceBinding.FileSystem = function(fileSystemWorkspaceBinding, isolatedFileSystem, workspace)
-{
+WebInspector.FileSystemWorkspaceBinding.FileSystem = class extends WebInspector.ProjectStore {
+ /**
+ * @param {!WebInspector.FileSystemWorkspaceBinding} fileSystemWorkspaceBinding
+ * @param {!WebInspector.IsolatedFileSystem} isolatedFileSystem
+ * @param {!WebInspector.Workspace} workspace
+ */
+ constructor(fileSystemWorkspaceBinding, isolatedFileSystem, workspace) {
var fileSystemPath = isolatedFileSystem.path();
var id = WebInspector.FileSystemWorkspaceBinding.projectId(fileSystemPath);
console.assert(!workspace.project(id));
- var displayName = fileSystemPath.substr(fileSystemPath.lastIndexOf("/") + 1);
+ var displayName = fileSystemPath.substr(fileSystemPath.lastIndexOf('/') + 1);
- WebInspector.ProjectStore.call(this, workspace, id, WebInspector.projectTypes.FileSystem, displayName);
+ super(workspace, id, WebInspector.projectTypes.FileSystem, displayName);
this._fileSystem = isolatedFileSystem;
- this._fileSystemBaseURL = this._fileSystem.path() + "/";
+ this._fileSystemBaseURL = this._fileSystem.path() + '/';
this._fileSystemWorkspaceBinding = fileSystemWorkspaceBinding;
this._fileSystemPath = fileSystemPath;
workspace.addProject(this);
this.populate();
-};
-
-WebInspector.FileSystemWorkspaceBinding._metadata = Symbol("FileSystemWorkspaceBinding.Metadata");
-
-WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
- /**
- * @return {string}
- */
- fileSystemPath: function()
- {
- return this._fileSystemPath;
- },
-
- /**
- * @return {!Array<string>}
- */
- gitFolders: function()
- {
- return this._fileSystem.gitFolders().map(folder => this._fileSystemPath + "/" + folder);
- },
-
- /**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @return {string}
- */
- _filePathForUISourceCode: function(uiSourceCode)
- {
- return uiSourceCode.url().substring(this._fileSystemPath.length);
- },
+ }
+
+ /**
+ * @return {string}
+ */
+ fileSystemPath() {
+ return this._fileSystemPath;
+ }
+
+ /**
+ * @return {!Array<string>}
+ */
+ gitFolders() {
+ return this._fileSystem.gitFolders().map(folder => this._fileSystemPath + '/' + folder);
+ }
+
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @return {string}
+ */
+ _filePathForUISourceCode(uiSourceCode) {
+ return uiSourceCode.url().substring(this._fileSystemPath.length);
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @return {!Promise<?WebInspector.UISourceCodeMetadata>}
+ */
+ requestMetadata(uiSourceCode) {
+ if (uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata])
+ return uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata];
+ var relativePath = this._filePathForUISourceCode(uiSourceCode);
+ var promise = this._fileSystem.getMetadata(relativePath).then(onMetadata);
+ uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata] = promise;
+ return promise;
/**
- * @override
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @return {!Promise<?WebInspector.UISourceCodeMetadata>}
+ * @param {?{modificationTime: !Date, size: number}} metadata
+ * @return {?WebInspector.UISourceCodeMetadata}
*/
- requestMetadata: function(uiSourceCode)
- {
- if (uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata])
- return uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata];
- var relativePath = this._filePathForUISourceCode(uiSourceCode);
- var promise = this._fileSystem.getMetadata(relativePath).then(onMetadata);
- uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata] = promise;
- return promise;
-
- /**
- * @param {?{modificationTime: !Date, size: number}} metadata
- * @return {?WebInspector.UISourceCodeMetadata}
- */
- function onMetadata(metadata)
- {
- if (!metadata)
- return null;
- return new WebInspector.UISourceCodeMetadata(metadata.modificationTime, metadata.size);
- }
- },
+ function onMetadata(metadata) {
+ if (!metadata)
+ return null;
+ return new WebInspector.UISourceCodeMetadata(metadata.modificationTime, metadata.size);
+ }
+ }
- /**
- * @override
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @param {function(?string)} callback
- */
- requestFileContent: function(uiSourceCode, callback)
- {
- var filePath = this._filePathForUISourceCode(uiSourceCode);
- var isImage = WebInspector.FileSystemWorkspaceBinding._imageExtensions.has(WebInspector.ParsedURL.extractExtension(filePath));
-
- this._fileSystem.requestFileContent(filePath, isImage ? base64CallbackWrapper : callback);
-
- /**
- * @param {?string} result
- */
- function base64CallbackWrapper(result)
- {
- if (!result) {
- callback(result);
- return;
- }
- var index = result.indexOf(",");
- callback(result.substring(index + 1));
- }
- },
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @param {function(?string)} callback
+ */
+ requestFileContent(uiSourceCode, callback) {
+ var filePath = this._filePathForUISourceCode(uiSourceCode);
+ var isImage =
+ WebInspector.FileSystemWorkspaceBinding._imageExtensions.has(WebInspector.ParsedURL.extractExtension(filePath));
- /**
- * @override
- * @return {boolean}
- */
- canSetFileContent: function()
- {
- return true;
- },
+ this._fileSystem.requestFileContent(filePath, isImage ? base64CallbackWrapper : callback);
/**
- * @override
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @param {string} newContent
- * @param {function(?string)} callback
+ * @param {?string} result
*/
- setFileContent: function(uiSourceCode, newContent, callback)
- {
- var filePath = this._filePathForUISourceCode(uiSourceCode);
- this._fileSystem.setFileContent(filePath, newContent, callback.bind(this, ""));
- },
-
- /**
- * @override
- * @return {boolean}
- */
- canRename: function()
- {
- return true;
- },
-
- /**
- * @override
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @param {string} newName
- * @param {function(boolean, string=, string=, !WebInspector.ResourceType=)} callback
- */
- rename: function(uiSourceCode, newName, callback)
- {
- if (newName === uiSourceCode.name()) {
- callback(true, uiSourceCode.name(), uiSourceCode.url(), uiSourceCode.contentType());
- return;
- }
-
- var filePath = this._filePathForUISourceCode(uiSourceCode);
- this._fileSystem.renameFile(filePath, newName, innerCallback.bind(this));
-
- /**
- * @param {boolean} success
- * @param {string=} newName
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
- */
- function innerCallback(success, newName)
- {
- if (!success || !newName) {
- callback(false, newName);
- return;
- }
- console.assert(newName);
- var slash = filePath.lastIndexOf("/");
- var parentPath = filePath.substring(0, slash);
- filePath = parentPath + "/" + newName;
- filePath = filePath.substr(1);
- var extension = this._extensionForPath(newName);
- var newURL = this._fileSystemBaseURL + filePath;
- var newContentType = WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension(extension);
- this.renameUISourceCode(uiSourceCode, newName);
- callback(true, newName, newURL, newContentType);
- }
- },
+ function base64CallbackWrapper(result) {
+ if (!result) {
+ callback(result);
+ return;
+ }
+ var index = result.indexOf(',');
+ callback(result.substring(index + 1));
+ }
+ }
+
+ /**
+ * @override
+ * @return {boolean}
+ */
+ canSetFileContent() {
+ return true;
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @param {string} newContent
+ * @param {function(?string)} callback
+ */
+ setFileContent(uiSourceCode, newContent, callback) {
+ var filePath = this._filePathForUISourceCode(uiSourceCode);
+ this._fileSystem.setFileContent(filePath, newContent, callback.bind(this, ''));
+ }
+
+ /**
+ * @override
+ * @return {boolean}
+ */
+ canRename() {
+ return true;
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @param {string} newName
+ * @param {function(boolean, string=, string=, !WebInspector.ResourceType=)} callback
+ */
+ rename(uiSourceCode, newName, callback) {
+ if (newName === uiSourceCode.name()) {
+ callback(true, uiSourceCode.name(), uiSourceCode.url(), uiSourceCode.contentType());
+ return;
+ }
- /**
- * @override
- * @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)
- {
- var filePath = this._filePathForUISourceCode(uiSourceCode);
- this._fileSystem.requestFileContent(filePath, contentCallback);
-
- /**
- * @param {?string} content
- */
- function contentCallback(content)
- {
- var result = [];
- if (content !== null)
- result = WebInspector.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex);
- callback(result);
- }
- },
+ var filePath = this._filePathForUISourceCode(uiSourceCode);
+ this._fileSystem.renameFile(filePath, newName, innerCallback.bind(this));
/**
- * @override
- * @param {!WebInspector.ProjectSearchConfig} searchConfig
- * @param {!Array.<string>} filesMathingFileQuery
- * @param {!WebInspector.Progress} progress
- * @param {function(!Array.<string>)} callback
+ * @param {boolean} success
+ * @param {string=} newName
+ * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
*/
- findFilesMatchingSearchRequest: function(searchConfig, filesMathingFileQuery, progress, callback)
- {
- var result = filesMathingFileQuery;
- var queriesToRun = searchConfig.queries().slice();
- if (!queriesToRun.length)
- queriesToRun.push("");
- progress.setTotalWork(queriesToRun.length);
- searchNextQuery.call(this);
-
- /**
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
- */
- function searchNextQuery()
- {
- if (!queriesToRun.length) {
- progress.done();
- callback(result);
- return;
- }
- var query = queriesToRun.shift();
- this._fileSystem.searchInPath(searchConfig.isRegex() ? "" : query, progress, innerCallback.bind(this));
- }
-
- /**
- * @param {!Array.<string>} files
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
- */
- function innerCallback(files)
- {
- files = files.sort();
- progress.worked(1);
- result = result.intersectOrdered(files, String.naturalOrderComparator);
- searchNextQuery.call(this);
- }
- },
-
- /**
- * @override
- * @param {!WebInspector.Progress} progress
- */
- indexContent: function(progress)
- {
- this._fileSystem.indexContent(progress);
- },
+ function innerCallback(success, newName) {
+ if (!success || !newName) {
+ callback(false, newName);
+ return;
+ }
+ console.assert(newName);
+ var slash = filePath.lastIndexOf('/');
+ var parentPath = filePath.substring(0, slash);
+ filePath = parentPath + '/' + newName;
+ filePath = filePath.substr(1);
+ var extension = this._extensionForPath(newName);
+ var newURL = this._fileSystemBaseURL + filePath;
+ var newContentType = WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension(extension);
+ this.renameUISourceCode(uiSourceCode, newName);
+ callback(true, newName, newURL, newContentType);
+ }
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @param {string} query
+ * @param {boolean} caseSensitive
+ * @param {boolean} isRegex
+ * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} callback
+ */
+ searchInFileContent(uiSourceCode, query, caseSensitive, isRegex, callback) {
+ var filePath = this._filePathForUISourceCode(uiSourceCode);
+ this._fileSystem.requestFileContent(filePath, contentCallback);
/**
- * @param {string} path
- * @return {string}
+ * @param {?string} content
*/
- _extensionForPath: function(path)
- {
- var extensionIndex = path.lastIndexOf(".");
- if (extensionIndex === -1)
- return "";
- return path.substring(extensionIndex + 1).toLowerCase();
- },
-
- populate: function()
- {
- var chunkSize = 1000;
- var filePaths = this._fileSystem.filePaths();
- reportFileChunk.call(this, 0);
-
- /**
- * @param {number} from
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
- */
- function reportFileChunk(from)
- {
- var to = Math.min(from + chunkSize, filePaths.length);
- for (var i = from; i < to; ++i)
- this._addFile(filePaths[i]);
- if (to < filePaths.length)
- setTimeout(reportFileChunk.bind(this, to), 100);
- }
- },
+ function contentCallback(content) {
+ var result = [];
+ if (content !== null)
+ result = WebInspector.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex);
+ callback(result);
+ }
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.ProjectSearchConfig} searchConfig
+ * @param {!Array.<string>} filesMathingFileQuery
+ * @param {!WebInspector.Progress} progress
+ * @param {function(!Array.<string>)} callback
+ */
+ findFilesMatchingSearchRequest(searchConfig, filesMathingFileQuery, progress, callback) {
+ var result = filesMathingFileQuery;
+ var queriesToRun = searchConfig.queries().slice();
+ if (!queriesToRun.length)
+ queriesToRun.push('');
+ progress.setTotalWork(queriesToRun.length);
+ searchNextQuery.call(this);
/**
- * @override
- * @param {string} url
+ * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
*/
- excludeFolder: function(url)
- {
- var relativeFolder = url.substring(this._fileSystemBaseURL.length);
- if (!relativeFolder.startsWith("/"))
- relativeFolder = "/" + relativeFolder;
- if (!relativeFolder.endsWith("/"))
- relativeFolder += "/";
- this._fileSystem.addExcludedFolder(relativeFolder);
-
- var uiSourceCodes = this.uiSourceCodes().slice();
- for (var i = 0; i < uiSourceCodes.length; ++i) {
- var uiSourceCode = uiSourceCodes[i];
- if (uiSourceCode.url().startsWith(url))
- this.removeUISourceCode(uiSourceCode.url());
- }
- },
+ function searchNextQuery() {
+ if (!queriesToRun.length) {
+ progress.done();
+ callback(result);
+ return;
+ }
+ var query = queriesToRun.shift();
+ this._fileSystem.searchInPath(searchConfig.isRegex() ? '' : query, progress, innerCallback.bind(this));
+ }
/**
- * @override
- * @param {string} path
- * @param {?string} name
- * @param {string} content
- * @param {function(?WebInspector.UISourceCode)} callback
+ * @param {!Array.<string>} files
+ * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
*/
- createFile: function(path, name, content, callback)
- {
- this._fileSystem.createFile(path, name, innerCallback.bind(this));
- var createFilePath;
-
- /**
- * @param {?string} filePath
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
- */
- function innerCallback(filePath)
- {
- if (!filePath) {
- callback(null);
- return;
- }
- createFilePath = filePath;
- if (!content) {
- contentSet.call(this);
- return;
- }
- this._fileSystem.setFileContent(filePath, content, contentSet.bind(this));
- }
-
- /**
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
- */
- function contentSet()
- {
- callback(this._addFile(createFilePath));
- }
- },
+ function innerCallback(files) {
+ files = files.sort();
+ progress.worked(1);
+ result = result.intersectOrdered(files, String.naturalOrderComparator);
+ searchNextQuery.call(this);
+ }
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.Progress} progress
+ */
+ indexContent(progress) {
+ this._fileSystem.indexContent(progress);
+ }
+
+ /**
+ * @param {string} path
+ * @return {string}
+ */
+ _extensionForPath(path) {
+ var extensionIndex = path.lastIndexOf('.');
+ if (extensionIndex === -1)
+ return '';
+ return path.substring(extensionIndex + 1).toLowerCase();
+ }
+
+ populate() {
+ var chunkSize = 1000;
+ var filePaths = this._fileSystem.filePaths();
+ reportFileChunk.call(this, 0);
/**
- * @override
- * @param {string} path
+ * @param {number} from
+ * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
*/
- deleteFile: function(path)
- {
- this._fileSystem.deleteFile(path);
- this.removeUISourceCode(path);
- },
+ function reportFileChunk(from) {
+ var to = Math.min(from + chunkSize, filePaths.length);
+ for (var i = from; i < to; ++i)
+ this._addFile(filePaths[i]);
+ if (to < filePaths.length)
+ setTimeout(reportFileChunk.bind(this, to), 100);
+ }
+ }
+
+ /**
+ * @override
+ * @param {string} url
+ */
+ excludeFolder(url) {
+ var relativeFolder = url.substring(this._fileSystemBaseURL.length);
+ if (!relativeFolder.startsWith('/'))
+ relativeFolder = '/' + relativeFolder;
+ if (!relativeFolder.endsWith('/'))
+ relativeFolder += '/';
+ this._fileSystem.addExcludedFolder(relativeFolder);
+
+ var uiSourceCodes = this.uiSourceCodes().slice();
+ for (var i = 0; i < uiSourceCodes.length; ++i) {
+ var uiSourceCode = uiSourceCodes[i];
+ if (uiSourceCode.url().startsWith(url))
+ this.removeUISourceCode(uiSourceCode.url());
+ }
+ }
+
+ /**
+ * @override
+ * @param {string} path
+ * @param {?string} name
+ * @param {string} content
+ * @param {function(?WebInspector.UISourceCode)} callback
+ */
+ createFile(path, name, content, callback) {
+ this._fileSystem.createFile(path, name, innerCallback.bind(this));
+ var createFilePath;
/**
- * @override
+ * @param {?string} filePath
+ * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
*/
- remove: function()
- {
- this._fileSystemWorkspaceBinding._isolatedFileSystemManager.removeFileSystem(this._fileSystem);
- },
+ function innerCallback(filePath) {
+ if (!filePath) {
+ callback(null);
+ return;
+ }
+ createFilePath = filePath;
+ if (!content) {
+ contentSet.call(this);
+ return;
+ }
+ this._fileSystem.setFileContent(filePath, content, contentSet.bind(this));
+ }
/**
- * @param {string} filePath
- * @return {!WebInspector.UISourceCode}
+ * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
*/
- _addFile: function(filePath)
- {
- var extension = this._extensionForPath(filePath);
- var contentType = WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension(extension);
-
- var uiSourceCode = this.createUISourceCode(this._fileSystemBaseURL + filePath, contentType);
- this.addUISourceCode(uiSourceCode);
- return uiSourceCode;
- },
+ function contentSet() {
+ callback(this._addFile(createFilePath));
+ }
+ }
+
+ /**
+ * @override
+ * @param {string} path
+ */
+ deleteFile(path) {
+ this._fileSystem.deleteFile(path);
+ this.removeUISourceCode(path);
+ }
+
+ /**
+ * @override
+ */
+ remove() {
+ this._fileSystemWorkspaceBinding._isolatedFileSystemManager.removeFileSystem(this._fileSystem);
+ }
+
+ /**
+ * @param {string} filePath
+ * @return {!WebInspector.UISourceCode}
+ */
+ _addFile(filePath) {
+ var extension = this._extensionForPath(filePath);
+ var contentType = WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension(extension);
+
+ var uiSourceCode = this.createUISourceCode(this._fileSystemBaseURL + filePath, contentType);
+ this.addUISourceCode(uiSourceCode);
+ return uiSourceCode;
+ }
+
+ /**
+ * @param {string} path
+ */
+ _fileChanged(path) {
+ var uiSourceCode = this.uiSourceCodeForURL(path);
+ if (!uiSourceCode) {
+ var contentType = WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension(this._extensionForPath(path));
+ this.addUISourceCode(this.createUISourceCode(path, contentType));
+ return;
+ }
+ uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata] = null;
+ uiSourceCode.checkContentUpdated();
+ }
- /**
- * @param {string} path
- */
- _fileChanged: function(path)
- {
- var uiSourceCode = this.uiSourceCodeForURL(path);
- if (!uiSourceCode) {
- var contentType = WebInspector.FileSystemWorkspaceBinding._contentTypeForExtension(this._extensionForPath(path));
- this.addUISourceCode(this.createUISourceCode(path, contentType));
- return;
- }
- uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata] = null;
- uiSourceCode.checkContentUpdated();
- },
-
- dispose: function()
- {
- this.removeProject();
- },
-
- __proto__: WebInspector.ProjectStore.prototype
+ dispose() {
+ this.removeProject();
+ }
};
+
+WebInspector.FileSystemWorkspaceBinding._metadata = Symbol('FileSystemWorkspaceBinding.Metadata');

Powered by Google App Engine
This is Rietveld 408576698