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

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

Issue 1523193002: DevTools: merge UISourceCode's parentPath, name, originURL and uri. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebaselined Created 5 years 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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 FileMappingRemoved: "FileMappingRemoved" 46 FileMappingRemoved: "FileMappingRemoved"
47 } 47 }
48 48
49 WebInspector.FileSystemMapping.prototype = { 49 WebInspector.FileSystemMapping.prototype = {
50 _loadFromSettings: function() 50 _loadFromSettings: function()
51 { 51 {
52 var savedMapping = this._fileSystemMappingSetting.get(); 52 var savedMapping = this._fileSystemMappingSetting.get();
53 this._fileSystemMappings = {}; 53 this._fileSystemMappings = {};
54 for (var fileSystemPath in savedMapping) { 54 for (var fileSystemPath in savedMapping) {
55 var savedFileSystemMappings = savedMapping[fileSystemPath]; 55 var savedFileSystemMappings = savedMapping[fileSystemPath];
56
57 this._fileSystemMappings[fileSystemPath] = []; 56 this._fileSystemMappings[fileSystemPath] = [];
58 var fileSystemMappings = this._fileSystemMappings[fileSystemPath]; 57 var fileSystemMappings = this._fileSystemMappings[fileSystemPath];
59 58
60 for (var i = 0; i < savedFileSystemMappings.length; ++i) { 59 for (var i = 0; i < savedFileSystemMappings.length; ++i) {
61 var savedEntry = savedFileSystemMappings[i]; 60 var savedEntry = savedFileSystemMappings[i];
62 var entry = new WebInspector.FileSystemMapping.Entry(savedEntry. fileSystemPath, savedEntry.urlPrefix, savedEntry.pathPrefix, true); 61 var entry = new WebInspector.FileSystemMapping.Entry(savedEntry. fileSystemPath, savedEntry.urlPrefix, savedEntry.pathPrefix, true);
63 fileSystemMappings.push(entry); 62 fileSystemMappings.push(entry);
64 } 63 }
65 } 64 }
66 65
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 this._saveToSettings(); 124 this._saveToSettings();
126 }, 125 },
127 126
128 /** 127 /**
129 * @param {string} fileSystemPath 128 * @param {string} fileSystemPath
130 * @param {string} urlPrefix 129 * @param {string} urlPrefix
131 * @param {string} pathPrefix 130 * @param {string} pathPrefix
132 */ 131 */
133 addFileMapping: function(fileSystemPath, urlPrefix, pathPrefix) 132 addFileMapping: function(fileSystemPath, urlPrefix, pathPrefix)
134 { 133 {
134 if (!urlPrefix.endsWith("/"))
135 urlPrefix += "/";
136 if (!pathPrefix.endsWith("/"))
137 pathPrefix += "/";
138 if (!pathPrefix.startsWith("/"))
139 pathPrefix = "/" + pathPrefix;
135 this._innerAddFileMapping(fileSystemPath, urlPrefix, pathPrefix, true); 140 this._innerAddFileMapping(fileSystemPath, urlPrefix, pathPrefix, true);
136 this._saveToSettings(); 141 this._saveToSettings();
137 }, 142 },
138 143
139 /** 144 /**
140 * @param {string} fileSystemPath 145 * @param {string} fileSystemPath
141 * @param {string} urlPrefix 146 * @param {string} urlPrefix
142 * @param {string} pathPrefix 147 * @param {string} pathPrefix
143 */ 148 */
144 addNonConfigurableFileMapping: function(fileSystemPath, urlPrefix, pathPrefi x) 149 addNonConfigurableFileMapping: function(fileSystemPath, urlPrefix, pathPrefi x)
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 return null; 207 return null;
203 208
204 var entry = null; 209 var entry = null;
205 for (var i = 0; i < entries.length; ++i) { 210 for (var i = 0; i < entries.length; ++i) {
206 var pathPrefix = entries[i].pathPrefix; 211 var pathPrefix = entries[i].pathPrefix;
207 if (entry && entry.configurable && !entries[i].configurable) 212 if (entry && entry.configurable && !entries[i].configurable)
208 continue; 213 continue;
209 // We are looking for the longest pathPrefix match. 214 // We are looking for the longest pathPrefix match.
210 if (entry && entry.pathPrefix.length > pathPrefix.length) 215 if (entry && entry.pathPrefix.length > pathPrefix.length)
211 continue; 216 continue;
212 if (filePath.startsWith(pathPrefix.substr(1))) 217 if (filePath.startsWith(pathPrefix))
213 entry = entries[i]; 218 entry = entries[i];
214 } 219 }
215 return entry; 220 return entry;
216 }, 221 },
217 222
218 /** 223 /**
219 * @param {string} fileSystemPath 224 * @param {string} fileSystemPath
220 * @param {string} pathPrefix 225 * @param {string} pathPrefix
221 * @return {?WebInspector.FileSystemMapping.Entry} 226 * @return {?WebInspector.FileSystemMapping.Entry}
222 */ 227 */
(...skipping 20 matching lines...) Expand all
243 * @param {string} url 248 * @param {string} url
244 * @return {boolean} 249 * @return {boolean}
245 */ 250 */
246 hasMappingForURL: function(url) 251 hasMappingForURL: function(url)
247 { 252 {
248 return !!this._mappingEntryForURL(url); 253 return !!this._mappingEntryForURL(url);
249 }, 254 },
250 255
251 /** 256 /**
252 * @param {string} url 257 * @param {string} url
253 * @return {?{fileSystemPath: string, filePath: string}} 258 * @return {?{fileSystemPath: string, fileURL: string}}
254 */ 259 */
255 fileForURL: function(url) 260 fileForURL: function(url)
256 { 261 {
257 var entry = this._mappingEntryForURL(url); 262 var entry = this._mappingEntryForURL(url);
258 if (!entry) 263 if (!entry)
259 return null; 264 return null;
260 var file = {}; 265 var file = {};
261 file.fileSystemPath = entry.fileSystemPath; 266 file.fileSystemPath = entry.fileSystemPath;
262 file.filePath = entry.pathPrefix.substr(1) + url.substr(entry.urlPrefix. length); 267 file.fileURL = "file://" + entry.fileSystemPath + entry.pathPrefix + url .substr(entry.urlPrefix.length);
263 return file; 268 return file;
264 }, 269 },
265 270
266 /** 271 /**
267 * @param {string} fileSystemPath 272 * @param {string} fileSystemPath
268 * @param {string} filePath 273 * @param {string} filePath
269 * @return {string} 274 * @return {string}
270 */ 275 */
271 urlForPath: function(fileSystemPath, filePath) 276 urlForPath: function(fileSystemPath, filePath)
272 { 277 {
273 var entry = this._mappingEntryForPath(fileSystemPath, filePath); 278 var relativePath = filePath.substring("file://".length + fileSystemPath. length);
279 var entry = this._mappingEntryForPath(fileSystemPath, relativePath);
274 if (!entry) 280 if (!entry)
275 return ""; 281 return "";
276 return entry.urlPrefix + filePath.substring(entry.pathPrefix.length - 1) ; 282 return entry.urlPrefix + relativePath.substring(entry.pathPrefix.length) ;
277 }, 283 },
278 284
279 /** 285 /**
280 * @param {string} url 286 * @param {string} url
281 */ 287 */
282 removeMappingForURL: function(url) 288 removeMappingForURL: function(url)
283 { 289 {
284 var entry = this._mappingEntryForURL(url); 290 var entry = this._mappingEntryForURL(url);
285 if (!entry || !entry.configurable) 291 if (!entry || !entry.configurable)
286 return; 292 return;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 this.fileSystemPath = fileSystemPath; 336 this.fileSystemPath = fileSystemPath;
331 this.urlPrefix = urlPrefix; 337 this.urlPrefix = urlPrefix;
332 this.pathPrefix = pathPrefix; 338 this.pathPrefix = pathPrefix;
333 this.configurable = configurable; 339 this.configurable = configurable;
334 } 340 }
335 341
336 /** 342 /**
337 * @type {!WebInspector.FileSystemMapping} 343 * @type {!WebInspector.FileSystemMapping}
338 */ 344 */
339 WebInspector.fileSystemMapping; 345 WebInspector.fileSystemMapping;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698