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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/workspace/IsolatedFileSystemManager.js

Issue 2422803002: DevTools: prefix node.js scripts's sourceURL with "file://" to make them a valid url (Closed)
Patch Set: WI.ParsedURL.platformPathToURL Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 WebInspector.IsolatedFileSystemManager.Events = { 63 WebInspector.IsolatedFileSystemManager.Events = {
64 FileSystemAdded: Symbol("FileSystemAdded"), 64 FileSystemAdded: Symbol("FileSystemAdded"),
65 FileSystemRemoved: Symbol("FileSystemRemoved"), 65 FileSystemRemoved: Symbol("FileSystemRemoved"),
66 FileSystemFilesChanged: Symbol("FileSystemFilesChanged"), 66 FileSystemFilesChanged: Symbol("FileSystemFilesChanged"),
67 ExcludedFolderAdded: Symbol("ExcludedFolderAdded"), 67 ExcludedFolderAdded: Symbol("ExcludedFolderAdded"),
68 ExcludedFolderRemoved: Symbol("ExcludedFolderRemoved") 68 ExcludedFolderRemoved: Symbol("ExcludedFolderRemoved")
69 } 69 }
70 70
71 WebInspector.IsolatedFileSystemManager._lastRequestId = 0; 71 WebInspector.IsolatedFileSystemManager._lastRequestId = 0;
72 72
73 /**
74 * @param {string} fileSystemPath
75 * @return {string}
76 */
77 WebInspector.IsolatedFileSystemManager.normalizePath = function(fileSystemPath)
78 {
79 fileSystemPath = fileSystemPath.replace(/\\/g, "/");
80 if (!fileSystemPath.startsWith("file://")) {
81 if (fileSystemPath.startsWith("/"))
82 fileSystemPath = "file://" + fileSystemPath;
83 else
84 fileSystemPath = "file:///" + fileSystemPath;
85 }
86 return fileSystemPath;
87 }
88
89 WebInspector.IsolatedFileSystemManager.prototype = { 73 WebInspector.IsolatedFileSystemManager.prototype = {
90 /** 74 /**
91 * @return {!Promise<!Array<!WebInspector.IsolatedFileSystem>>} 75 * @return {!Promise<!Array<!WebInspector.IsolatedFileSystem>>}
92 */ 76 */
93 _requestFileSystems: function() 77 _requestFileSystems: function()
94 { 78 {
95 var fulfill; 79 var fulfill;
96 var promise = new Promise(f => fulfill = f); 80 var promise = new Promise(f => fulfill = f);
97 InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.E vents.FileSystemsLoaded, onFileSystemsLoaded, this); 81 InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.E vents.FileSystemsLoaded, onFileSystemsLoaded, this);
98 InspectorFrontendHost.requestFileSystems(); 82 InspectorFrontendHost.requestFileSystems();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 }, 126 },
143 127
144 /** 128 /**
145 * @param {!WebInspector.IsolatedFileSystemManager.FileSystem} fileSystem 129 * @param {!WebInspector.IsolatedFileSystemManager.FileSystem} fileSystem
146 * @param {boolean} dispatchEvent 130 * @param {boolean} dispatchEvent
147 * @return {!Promise<?WebInspector.IsolatedFileSystem>} 131 * @return {!Promise<?WebInspector.IsolatedFileSystem>}
148 */ 132 */
149 _innerAddFileSystem: function(fileSystem, dispatchEvent) 133 _innerAddFileSystem: function(fileSystem, dispatchEvent)
150 { 134 {
151 var embedderPath = fileSystem.fileSystemPath; 135 var embedderPath = fileSystem.fileSystemPath;
152 var fileSystemPath = WebInspector.IsolatedFileSystemManager.normalizePat h(fileSystem.fileSystemPath); 136 var fileSystemURL = WebInspector.ParsedURL.platformPathToURL(fileSystem. fileSystemPath);
153 var promise = WebInspector.IsolatedFileSystem.create(this, fileSystemPat h, embedderPath, fileSystem.fileSystemName, fileSystem.rootURL); 137 var promise = WebInspector.IsolatedFileSystem.create(this, fileSystemURL , embedderPath, fileSystem.fileSystemName, fileSystem.rootURL);
154 return promise.then(storeFileSystem.bind(this)); 138 return promise.then(storeFileSystem.bind(this));
155 139
156 /** 140 /**
157 * @param {?WebInspector.IsolatedFileSystem} fileSystem 141 * @param {?WebInspector.IsolatedFileSystem} fileSystem
158 * @this {WebInspector.IsolatedFileSystemManager} 142 * @this {WebInspector.IsolatedFileSystemManager}
159 */ 143 */
160 function storeFileSystem(fileSystem) 144 function storeFileSystem(fileSystem)
161 { 145 {
162 if (!fileSystem) 146 if (!fileSystem)
163 return null; 147 return null;
164 this._fileSystems.set(fileSystemPath, fileSystem); 148 this._fileSystems.set(fileSystemURL, fileSystem);
165 if (dispatchEvent) 149 if (dispatchEvent)
166 this.dispatchEventToListeners(WebInspector.IsolatedFileSystemMan ager.Events.FileSystemAdded, fileSystem); 150 this.dispatchEventToListeners(WebInspector.IsolatedFileSystemMan ager.Events.FileSystemAdded, fileSystem);
167 return fileSystem; 151 return fileSystem;
168 } 152 }
169 }, 153 },
170 154
171 /** 155 /**
172 * @param {!WebInspector.Event} event 156 * @param {!WebInspector.Event} event
173 */ 157 */
174 _onFileSystemAdded: function(event) 158 _onFileSystemAdded: function(event)
175 { 159 {
176 var errorMessage = /** @type {string} */ (event.data["errorMessage"]); 160 var errorMessage = /** @type {string} */ (event.data["errorMessage"]);
177 var fileSystem = /** @type {?WebInspector.IsolatedFileSystemManager.File System} */ (event.data["fileSystem"]); 161 var fileSystem = /** @type {?WebInspector.IsolatedFileSystemManager.File System} */ (event.data["fileSystem"]);
178 if (errorMessage) 162 if (errorMessage)
179 WebInspector.console.error(errorMessage); 163 WebInspector.console.error(errorMessage);
180 else if (fileSystem) 164 else if (fileSystem)
181 this._innerAddFileSystem(fileSystem, true); 165 this._innerAddFileSystem(fileSystem, true);
182 }, 166 },
183 167
184 /** 168 /**
185 * @param {!WebInspector.Event} event 169 * @param {!WebInspector.Event} event
186 */ 170 */
187 _onFileSystemRemoved: function(event) 171 _onFileSystemRemoved: function(event)
188 { 172 {
189 var embedderPath = /** @type {string} */ (event.data); 173 var embedderPath = /** @type {string} */ (event.data);
190 var fileSystemPath = WebInspector.IsolatedFileSystemManager.normalizePat h(embedderPath); 174 var fileSystemPath = WebInspector.ParsedURL.platformPathToURL(embedderPa th);
191 var isolatedFileSystem = this._fileSystems.get(fileSystemPath); 175 var isolatedFileSystem = this._fileSystems.get(fileSystemPath);
192 if (!isolatedFileSystem) 176 if (!isolatedFileSystem)
193 return; 177 return;
194 this._fileSystems.delete(fileSystemPath); 178 this._fileSystems.delete(fileSystemPath);
195 isolatedFileSystem.fileSystemRemoved(); 179 isolatedFileSystem.fileSystemRemoved();
196 this.dispatchEventToListeners(WebInspector.IsolatedFileSystemManager.Eve nts.FileSystemRemoved, isolatedFileSystem); 180 this.dispatchEventToListeners(WebInspector.IsolatedFileSystemManager.Eve nts.FileSystemRemoved, isolatedFileSystem);
197 }, 181 },
198 182
199 /** 183 /**
200 * @param {!WebInspector.Event} event 184 * @param {!WebInspector.Event} event
201 */ 185 */
202 _onFileSystemFilesChanged: function(event) 186 _onFileSystemFilesChanged: function(event)
203 { 187 {
204 var embedderPaths = /** @type {!Array<string>} */ (event.data); 188 var embedderPaths = /** @type {!Array<string>} */ (event.data);
205 var paths = embedderPaths.map(embedderPath => WebInspector.IsolatedFileS ystemManager.normalizePath(embedderPath)); 189 var paths = embedderPaths.map(embedderPath => WebInspector.ParsedURL.pla tformPathToURL(embedderPath));
206 this.dispatchEventToListeners(WebInspector.IsolatedFileSystemManager.Eve nts.FileSystemFilesChanged, paths); 190 this.dispatchEventToListeners(WebInspector.IsolatedFileSystemManager.Eve nts.FileSystemFilesChanged, paths);
207 }, 191 },
208 192
209 /** 193 /**
210 * @return {!Array<!WebInspector.IsolatedFileSystem>} 194 * @return {!Array<!WebInspector.IsolatedFileSystem>}
211 */ 195 */
212 fileSystems: function() 196 fileSystems: function()
213 { 197 {
214 return this._fileSystems.valuesArray(); 198 return this._fileSystems.valuesArray();
215 }, 199 },
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 this._callbacks.delete(requestId); 341 this._callbacks.delete(requestId);
358 }, 342 },
359 343
360 __proto__: WebInspector.Object.prototype 344 __proto__: WebInspector.Object.prototype
361 } 345 }
362 346
363 /** 347 /**
364 * @type {!WebInspector.IsolatedFileSystemManager} 348 * @type {!WebInspector.IsolatedFileSystemManager}
365 */ 349 */
366 WebInspector.isolatedFileSystemManager; 350 WebInspector.isolatedFileSystemManager;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698