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

Unified Diff: Source/devtools/blink/chromeServerProfile/Default/Cache/f_00005b

Issue 242263007: Add <label> to items in Event Listener Breakpoint of Chrome Dev Tools Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Created 6 years, 8 months 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: Source/devtools/blink/chromeServerProfile/Default/Cache/f_00005b
diff --git a/Source/devtools/front_end/FileSystemWorkspaceBinding.js b/Source/devtools/blink/chromeServerProfile/Default/Cache/f_00005b
similarity index 67%
copy from Source/devtools/front_end/FileSystemWorkspaceBinding.js
copy to Source/devtools/blink/chromeServerProfile/Default/Cache/f_00005b
index 32afaa5244884e58d532b24b6fe1f70d83d19708..efaca2deb9efb91af1983c7d4ed43fa3121a3f9d 100644
--- a/Source/devtools/front_end/FileSystemWorkspaceBinding.js
+++ b/Source/devtools/blink/chromeServerProfile/Default/Cache/f_00005b
@@ -30,178 +30,52 @@
/**
* @constructor
- * @param {!WebInspector.IsolatedFileSystemManager} isolatedFileSystemManager
+ * @implements {WebInspector.ProjectDelegate}
+ * @extends {WebInspector.Object}
+ * @param {!WebInspector.IsolatedFileSystem} isolatedFileSystem
* @param {!WebInspector.Workspace} workspace
*/
-WebInspector.FileSystemWorkspaceBinding = function(isolatedFileSystemManager, workspace)
+WebInspector.FileSystemProjectDelegate = function(isolatedFileSystem, workspace)
{
- this._isolatedFileSystemManager = isolatedFileSystemManager;
+ this._fileSystem = isolatedFileSystem;
+ this._normalizedFileSystemPath = this._fileSystem.path();
+ if (WebInspector.isWin())
+ this._normalizedFileSystemPath = this._normalizedFileSystemPath.replace(/\\/g, "/");
+ this._fileSystemURL = "file://" + this._normalizedFileSystemPath + "/";
this._workspace = workspace;
- this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemAdded, this._fileSystemAdded, this);
- this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemRemoved, this._fileSystemRemoved, this);
- /** @type {!StringMap.<!WebInspector.FileSystemWorkspaceBinding.FileSystem>} */
- this._boundFileSystems = new StringMap();
-
/** @type {!Object.<number, function(!Array.<string>)>} */
- this._callbacks = {};
+ this._searchCallbacks = {};
+ /** @type {!Object.<number, function()>} */
+ this._indexingCallbacks = {};
/** @type {!Object.<number, !WebInspector.Progress>} */
- this._progresses = {};
+ this._indexingProgresses = {};
}
-WebInspector.FileSystemWorkspaceBinding._scriptExtensions = ["js", "java", "coffee", "ts", "dart"].keySet();
-WebInspector.FileSystemWorkspaceBinding._styleSheetExtensions = ["css", "scss", "sass", "less"].keySet();
-WebInspector.FileSystemWorkspaceBinding._documentExtensions = ["htm", "html", "asp", "aspx", "phtml", "jsp"].keySet();
-
-WebInspector.FileSystemWorkspaceBinding._lastRequestId = 0;
+WebInspector.FileSystemProjectDelegate._scriptExtensions = ["js", "java", "coffee", "ts", "dart"].keySet();
+WebInspector.FileSystemProjectDelegate._styleSheetExtensions = ["css", "scss", "sass", "less"].keySet();
+WebInspector.FileSystemProjectDelegate._documentExtensions = ["htm", "html", "asp", "aspx", "phtml", "jsp"].keySet();
/**
* @param {string} fileSystemPath
* @return {string}
*/
-WebInspector.FileSystemWorkspaceBinding.projectId = function(fileSystemPath)
+WebInspector.FileSystemProjectDelegate.projectId = function(fileSystemPath)
{
return "filesystem:" + fileSystemPath;
}
-WebInspector.FileSystemWorkspaceBinding.prototype = {
- /**
- * @param {!WebInspector.Event} event
- */
- _fileSystemAdded: function(event)
- {
- var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
- var boundFileSystem = new WebInspector.FileSystemWorkspaceBinding.FileSystem(this, fileSystem, this._workspace);
- this._boundFileSystems.put(fileSystem.normalizedPath(), boundFileSystem);
- },
+WebInspector.FileSystemProjectDelegate._lastRequestId = 0;
+WebInspector.FileSystemProjectDelegate.prototype = {
/**
- * @param {!WebInspector.Event} event
- */
- _fileSystemRemoved: function(event)
- {
- var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
- var boundFileSystem = this._boundFileSystems.get(fileSystem.normalizedPath());
- boundFileSystem.dispose();
- this._boundFileSystems.remove(fileSystem.normalizedPath());
- },
-
- /**
- * @param {string} projectId
* @return {string}
*/
- fileSystemPath: function(projectId)
- {
- var fileSystemPath = projectId.substr("filesystem:".length);
- var boundFileSystem = this._boundFileSystems.get(fileSystemPath);
- return boundFileSystem.fileSystemPath();
- },
-
- /**
- * @return {number}
- */
- _nextId: function()
- {
- return ++WebInspector.FileSystemWorkspaceBinding._lastRequestId;
- },
-
- /**
- * @param {function(!Array.<string>)} callback
- * @return {number}
- */
- registerCallback: function(callback)
- {
- var requestId = this._nextId();
- this._callbacks[requestId] = callback;
- return requestId;
- },
-
- /**
- * @param {!WebInspector.Progress} progress
- * @return {number}
- */
- registerProgress: function(progress)
- {
- var requestId = this._nextId();
- this._progresses[requestId] = progress;
- return requestId;
- },
-
- /**
- * @param {number} requestId
- * @param {string} fileSystemPath
- * @param {number} totalWork
- */
- indexingTotalWorkCalculated: function(requestId, fileSystemPath, totalWork)
+ id: function()
{
- var progress = this._progresses[requestId];
- if (!progress)
- return;
- progress.setTotalWork(totalWork);
+ return WebInspector.FileSystemProjectDelegate.projectId(this._fileSystem.path());
},
/**
- * @param {number} requestId
- * @param {string} fileSystemPath
- * @param {number} worked
- */
- indexingWorked: function(requestId, fileSystemPath, worked)
- {
- var progress = this._progresses[requestId];
- if (!progress)
- return;
- progress.worked(worked);
- },
-
- /**
- * @param {number} requestId
- * @param {string} fileSystemPath
- */
- indexingDone: function(requestId, fileSystemPath)
- {
- var progress = this._progresses[requestId];
- if (!progress)
- return;
- progress.done();
- delete this._progresses[requestId];
- },
-
- /**
- * @param {number} requestId
- * @param {string} fileSystemPath
- * @param {!Array.<string>} files
- */
- searchCompleted: function(requestId, fileSystemPath, files)
- {
- var callback = this._callbacks[requestId];
- if (!callback)
- return;
- callback.call(null, files);
- delete this._callbacks[requestId];
- },
-}
-
-/**
- * @constructor
- * @implements {WebInspector.ProjectDelegate}
- * @param {!WebInspector.IsolatedFileSystem} isolatedFileSystem
- * @param {!WebInspector.Workspace} workspace
- * @param {!WebInspector.FileSystemWorkspaceBinding} fileSystemWorkspaceBinding
- */
-WebInspector.FileSystemWorkspaceBinding.FileSystem = function(fileSystemWorkspaceBinding, isolatedFileSystem, workspace)
-{
- this._fileSystemWorkspaceBinding = fileSystemWorkspaceBinding;
- this._fileSystem = isolatedFileSystem;
- this._fileSystemURL = "file://" + this._fileSystem.normalizedPath() + "/";
- this._workspace = workspace;
-
- this._projectId = WebInspector.FileSystemWorkspaceBinding.projectId(this._fileSystem.path());
- console.assert(!this._workspace.project(this._projectId));
- this._projectStore = this._workspace.addProject(this._projectId, this);
- this.populate();
-}
-
-WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
- /**
* @return {string}
*/
type: function()
@@ -222,8 +96,7 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
*/
displayName: function()
{
- var normalizedPath = this._fileSystem.normalizedPath();
- return normalizedPath.substr(normalizedPath.lastIndexOf("/") + 1);
+ return this._normalizedFileSystemPath.substr(this._normalizedFileSystemPath.lastIndexOf("/") + 1);
},
/**
@@ -295,7 +168,7 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
/**
* @param {boolean} success
* @param {string=} newName
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function innerCallback(success, newName)
{
@@ -341,21 +214,24 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
},
/**
- * @param {!WebInspector.ProjectSearchConfig} searchConfig
+ * @param {!Array.<string>} queries
+ * @param {!Array.<string>} fileQueries
+ * @param {boolean} caseSensitive
+ * @param {boolean} isRegex
* @param {!WebInspector.Progress} progress
* @param {function(!Array.<string>)} callback
*/
- findFilesMatchingSearchRequest: function(searchConfig, progress, callback)
+ findFilesMatchingSearchRequest: function(queries, fileQueries, caseSensitive, isRegex, progress, callback)
{
var result = null;
- var queriesToRun = searchConfig.queries().slice();
+ var queriesToRun = queries.slice();
if (!queriesToRun.length)
queriesToRun.push("");
progress.setTotalWork(queriesToRun.length);
searchNextQuery.call(this);
/**
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function searchNextQuery()
{
@@ -364,12 +240,12 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
return;
}
var query = queriesToRun.shift();
- this._searchInPath(searchConfig.isRegex() ? "" : query, progress, innerCallback.bind(this));
+ this._searchInPath(isRegex ? "" : query, progress, innerCallback.bind(this));
}
/**
* @param {!Array.<string>} files
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function innerCallback(files)
{
@@ -387,7 +263,23 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
*/
function matchFileQueries(files)
{
- files = files.filter(searchConfig.filePathMatchesFileQuery.bind(searchConfig));
+ var fileRegexes = [];
+ for (var i = 0; i < fileQueries.length; ++i)
+ fileRegexes.push(new RegExp(fileQueries[i], caseSensitive ? "" : "i"));
+
+ /**
+ * @param {!string} file
+ */
+ function filterOutNonMatchingFiles(file)
+ {
+ for (var i = 0; i < fileRegexes.length; ++i) {
+ if (!file.match(fileRegexes[i]))
+ return false;
+ }
+ return true;
+ }
+
+ files = files.filter(filterOutNonMatchingFiles);
progress.done();
callback(files);
}
@@ -400,18 +292,19 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
*/
_searchInPath: function(query, progress, callback)
{
- var requestId = this._fileSystemWorkspaceBinding.registerCallback(innerCallback.bind(this));
+ var requestId = ++WebInspector.FileSystemProjectDelegate._lastRequestId;
+ this._searchCallbacks[requestId] = innerCallback.bind(this);
InspectorFrontendHost.searchInPath(requestId, this._fileSystem.path(), query);
/**
* @param {!Array.<string>} files
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function innerCallback(files)
{
/**
* @param {string} fullPath
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function trimAndNormalizeFileSystemPath(fullPath)
{
@@ -428,12 +321,28 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
},
/**
+ * @param {number} requestId
+ * @param {!Array.<string>} files
+ */
+ searchCompleted: function(requestId, files)
+ {
+ if (!this._searchCallbacks[requestId])
+ return;
+ var callback = this._searchCallbacks[requestId];
+ delete this._searchCallbacks[requestId];
+ callback(files);
+ },
+
+ /**
* @param {!WebInspector.Progress} progress
+ * @param {function()} callback
*/
- indexContent: function(progress)
+ indexContent: function(progress, callback)
{
+ var requestId = ++WebInspector.FileSystemProjectDelegate._lastRequestId;
+ this._indexingCallbacks[requestId] = callback;
+ this._indexingProgresses[requestId] = progress;
progress.setTotalWork(1);
- var requestId = this._fileSystemWorkspaceBinding.registerProgress(progress);
progress.addEventListener(WebInspector.Progress.Events.Canceled, this._indexingCanceled.bind(this, requestId));
InspectorFrontendHost.indexPath(requestId, this._fileSystem.path());
},
@@ -443,7 +352,50 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
*/
_indexingCanceled: function(requestId)
{
+ if (!this._indexingProgresses[requestId])
+ return;
InspectorFrontendHost.stopIndexing(requestId);
+ delete this._indexingProgresses[requestId];
+ delete this._indexingCallbacks[requestId];
+ },
+
+ /**
+ * @param {number} requestId
+ * @param {number} totalWork
+ */
+ indexingTotalWorkCalculated: function(requestId, totalWork)
+ {
+ if (!this._indexingProgresses[requestId])
+ return;
+ var progress = this._indexingProgresses[requestId];
+ progress.setTotalWork(totalWork);
+ },
+
+ /**
+ * @param {number} requestId
+ * @param {number} worked
+ */
+ indexingWorked: function(requestId, worked)
+ {
+ if (!this._indexingProgresses[requestId])
+ return;
+ var progress = this._indexingProgresses[requestId];
+ progress.worked(worked);
+ },
+
+ /**
+ * @param {number} requestId
+ */
+ indexingDone: function(requestId)
+ {
+ if (!this._indexingProgresses[requestId])
+ return;
+ var progress = this._indexingProgresses[requestId];
+ var callback = this._indexingCallbacks[requestId];
+ delete this._indexingProgresses[requestId];
+ delete this._indexingCallbacks[requestId];
+ progress.done();
+ callback.call();
},
/**
@@ -464,11 +416,11 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
*/
_contentTypeForExtension: function(extension)
{
- if (WebInspector.FileSystemWorkspaceBinding._scriptExtensions[extension])
+ if (WebInspector.FileSystemProjectDelegate._scriptExtensions[extension])
return WebInspector.resourceTypes.Script;
- if (WebInspector.FileSystemWorkspaceBinding._styleSheetExtensions[extension])
+ if (WebInspector.FileSystemProjectDelegate._styleSheetExtensions[extension])
return WebInspector.resourceTypes.Stylesheet;
- if (WebInspector.FileSystemWorkspaceBinding._documentExtensions[extension])
+ if (WebInspector.FileSystemProjectDelegate._documentExtensions[extension])
return WebInspector.resourceTypes.Document;
return WebInspector.resourceTypes.Other;
},
@@ -507,7 +459,7 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
/**
* @param {?string} filePath
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function innerCallback(filePath)
{
@@ -524,7 +476,7 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
}
/**
- * @this {WebInspector.FileSystemWorkspaceBinding.FileSystem}
+ * @this {WebInspector.FileSystemProjectDelegate}
*/
function contentSet()
{
@@ -564,7 +516,7 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
var contentType = this._contentTypeForExtension(extension);
var fileDescriptor = new WebInspector.FileDescriptor(parentPath, name, this._fileSystemURL + filePath, url, contentType, true);
- this._projectStore.addFile(fileDescriptor);
+ this.dispatchEventToListeners(WebInspector.ProjectDelegate.Events.FileAdded, fileDescriptor);
},
/**
@@ -572,16 +524,84 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = {
*/
_removeFile: function(path)
{
- this._projectStore.removeFile(path);
+ this.dispatchEventToListeners(WebInspector.ProjectDelegate.Events.FileRemoved, path);
},
- dispose: function()
+ reset: function()
+ {
+ this.dispatchEventToListeners(WebInspector.ProjectDelegate.Events.Reset, null);
+ },
+
+ __proto__: WebInspector.Object.prototype
+}
+
+/**
+ * @type {!WebInspector.FileSystemProjectDelegate}
+ */
+WebInspector.fileSystemProjectDelegate;
+
+/**
+ * @constructor
+ * @param {!WebInspector.IsolatedFileSystemManager} isolatedFileSystemManager
+ * @param {!WebInspector.Workspace} workspace
+ */
+WebInspector.FileSystemWorkspaceProvider = function(isolatedFileSystemManager, workspace)
+{
+ this._isolatedFileSystemManager = isolatedFileSystemManager;
+ this._workspace = workspace;
+ this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemAdded, this._fileSystemAdded, this);
+ this._isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.FileSystemRemoved, this._fileSystemRemoved, this);
+ this._projectDelegates = {};
+}
+
+WebInspector.FileSystemWorkspaceProvider.prototype = {
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _fileSystemAdded: function(event)
+ {
+ var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
+ var projectId = WebInspector.FileSystemProjectDelegate.projectId(fileSystem.path());
+ var projectDelegate = new WebInspector.FileSystemProjectDelegate(fileSystem, this._workspace)
+ this._projectDelegates[projectDelegate.id()] = projectDelegate;
+ console.assert(!this._workspace.project(projectDelegate.id()));
+ this._workspace.addProject(projectDelegate);
+ projectDelegate.populate();
+ },
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _fileSystemRemoved: function(event)
+ {
+ var fileSystem = /** @type {!WebInspector.IsolatedFileSystem} */ (event.data);
+ var projectId = WebInspector.FileSystemProjectDelegate.projectId(fileSystem.path());
+ this._workspace.removeProject(projectId);
+ delete this._projectDelegates[projectId];
+ },
+
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @return {string}
+ */
+ fileSystemPath: function(uiSourceCode)
+ {
+ var projectDelegate = this._projectDelegates[uiSourceCode.project().id()];
+ return projectDelegate.fileSystemPath();
+ },
+
+ /**
+ * @param {string} fileSystemPath
+ * @return {!WebInspector.FileSystemProjectDelegate}
+ */
+ delegate: function(fileSystemPath)
{
- this._workspace.removeProject(this._projectId);
+ var projectId = WebInspector.FileSystemProjectDelegate.projectId(fileSystemPath);
+ return this._projectDelegates[projectId];
}
}
/**
- * @type {!WebInspector.FileSystemWorkspaceBinding}
+ * @type {!WebInspector.FileSystemWorkspaceProvider}
*/
-WebInspector.fileSystemWorkspaceBinding;
+WebInspector.fileSystemWorkspaceProvider;

Powered by Google App Engine
This is Rietveld 408576698