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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js

Issue 2349343002: DevTools: introduce persistence/ module (Closed)
Patch Set: reupload 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 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 project[WebInspector.NetworkProject._targetSymbol] = this.target(); 195 project[WebInspector.NetworkProject._targetSymbol] = this.target();
196 project[WebInspector.NetworkProject._frameSymbol] = frame; 196 project[WebInspector.NetworkProject._frameSymbol] = frame;
197 this._workspaceProjects.set(projectId, project); 197 this._workspaceProjects.set(projectId, project);
198 return project; 198 return project;
199 }, 199 },
200 200
201 /** 201 /**
202 * @param {!WebInspector.ContentProvider} contentProvider 202 * @param {!WebInspector.ContentProvider} contentProvider
203 * @param {?WebInspector.ResourceTreeFrame} frame 203 * @param {?WebInspector.ResourceTreeFrame} frame
204 * @param {boolean=} isContentScript 204 * @param {boolean=} isContentScript
205 * @return {?WebInspector.UISourceCode} 205 * @return {!WebInspector.UISourceCode}
206 */ 206 */
207 addFile: function(contentProvider, frame, isContentScript) 207 addFile: function(contentProvider, frame, isContentScript)
208 { 208 {
209 var uiSourceCode = this._createFile(contentProvider, frame, isContentScr ipt || false); 209 var uiSourceCode = this._createFile(contentProvider, frame, isContentScr ipt || false);
210 if (uiSourceCode) 210 this._addUISourceCodeWithProvider(uiSourceCode, contentProvider);
211 this._addUISourceCodeWithProvider(uiSourceCode, contentProvider);
212 return uiSourceCode; 211 return uiSourceCode;
213 }, 212 },
214 213
215 /** 214 /**
216 * @param {?WebInspector.ResourceTreeFrame} frame 215 * @param {?WebInspector.ResourceTreeFrame} frame
217 * @param {string} url 216 * @param {string} url
218 */ 217 */
219 _removeFileForURL: function(frame, url) 218 _removeFileForURL: function(frame, url)
220 { 219 {
221 var project = this._workspaceProjects.get(WebInspector.NetworkProject.pr ojectId(this.target(), frame, false)); 220 var project = this._workspaceProjects.get(WebInspector.NetworkProject.pr ojectId(this.target(), frame, false));
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 var script = /** @type {!WebInspector.Script} */ (event.data); 262 var script = /** @type {!WebInspector.Script} */ (event.data);
264 if (!script.sourceURL || script.isLiveEdit() || (script.isInlineScript() && !script.hasSourceURL)) 263 if (!script.sourceURL || script.isLiveEdit() || (script.isInlineScript() && !script.hasSourceURL))
265 return; 264 return;
266 // Filter out embedder injected content scripts. 265 // Filter out embedder injected content scripts.
267 if (script.isContentScript() && !script.hasSourceURL) { 266 if (script.isContentScript() && !script.hasSourceURL) {
268 var parsedURL = new WebInspector.ParsedURL(script.sourceURL); 267 var parsedURL = new WebInspector.ParsedURL(script.sourceURL);
269 if (!parsedURL.isValid) 268 if (!parsedURL.isValid)
270 return; 269 return;
271 } 270 }
272 var uiSourceCode = this._createFile(script, WebInspector.ResourceTreeFra me.fromScript(script), script.isContentScript()); 271 var uiSourceCode = this._createFile(script, WebInspector.ResourceTreeFra me.fromScript(script), script.isContentScript());
273 if (uiSourceCode) { 272 uiSourceCode[WebInspector.NetworkProject._scriptSymbol] = script;
274 uiSourceCode[WebInspector.NetworkProject._scriptSymbol] = script; 273 this._addUISourceCodeWithProvider(uiSourceCode, script);
275 this._addUISourceCodeWithProvider(uiSourceCode, script);
276 }
277 }, 274 },
278 275
279 /** 276 /**
280 * @param {!WebInspector.Event} event 277 * @param {!WebInspector.Event} event
281 */ 278 */
282 _styleSheetAdded: function(event) 279 _styleSheetAdded: function(event)
283 { 280 {
284 var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.dat a); 281 var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.dat a);
285 if (header.isInline && !header.hasSourceURL && header.origin !== "inspec tor") 282 if (header.isInline && !header.hasSourceURL && header.origin !== "inspec tor")
286 return; 283 return;
287 284
288 var originalContentProvider = header.originalContentProvider(); 285 var originalContentProvider = header.originalContentProvider();
289 var uiSourceCode = this._createFile(originalContentProvider, WebInspecto r.ResourceTreeFrame.fromStyleSheet(header), false); 286 var uiSourceCode = this._createFile(originalContentProvider, WebInspecto r.ResourceTreeFrame.fromStyleSheet(header), false);
290 if (uiSourceCode) { 287 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol] = header;
291 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol] = header ; 288 this._addUISourceCodeWithProvider(uiSourceCode, originalContentProvider) ;
292 this._addUISourceCodeWithProvider(uiSourceCode, originalContentProvi der);
293 }
294 }, 289 },
295 290
296 /** 291 /**
297 * @param {!WebInspector.Event} event 292 * @param {!WebInspector.Event} event
298 */ 293 */
299 _styleSheetRemoved: function(event) 294 _styleSheetRemoved: function(event)
300 { 295 {
301 var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.dat a); 296 var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.dat a);
302 if (header.isInline && !header.hasSourceURL && header.origin !== "inspec tor") 297 if (header.isInline && !header.hasSourceURL && header.origin !== "inspec tor")
303 return; 298 return;
(...skipping 30 matching lines...) Expand all
334 if (resourceType === WebInspector.resourceTypes.Font && resource.mimeTyp e && !resource.mimeType.includes("font")) 329 if (resourceType === WebInspector.resourceTypes.Font && resource.mimeTyp e && !resource.mimeType.includes("font"))
335 return; 330 return;
336 if ((resourceType === WebInspector.resourceTypes.Image || resourceType = == WebInspector.resourceTypes.Font) && resource.contentURL().startsWith("data:") ) 331 if ((resourceType === WebInspector.resourceTypes.Image || resourceType = == WebInspector.resourceTypes.Font) && resource.contentURL().startsWith("data:") )
337 return; 332 return;
338 333
339 // Never load document twice. 334 // Never load document twice.
340 if (this._workspace.uiSourceCodeForURL(resource.url)) 335 if (this._workspace.uiSourceCodeForURL(resource.url))
341 return; 336 return;
342 337
343 var uiSourceCode = this._createFile(resource, WebInspector.ResourceTreeF rame.fromResource(resource), false); 338 var uiSourceCode = this._createFile(resource, WebInspector.ResourceTreeF rame.fromResource(resource), false);
344 if (uiSourceCode) { 339 uiSourceCode[WebInspector.NetworkProject._resourceSymbol] = resource;
345 uiSourceCode[WebInspector.NetworkProject._resourceSymbol] = resource ; 340 this._addUISourceCodeWithProvider(uiSourceCode, resource);
346 this._addUISourceCodeWithProvider(uiSourceCode, resource);
347 }
348 }, 341 },
349 342
350 /** 343 /**
351 * @param {!WebInspector.Event} event 344 * @param {!WebInspector.Event} event
352 */ 345 */
353 _frameWillNavigate: function(event) 346 _frameWillNavigate: function(event)
354 { 347 {
355 var frame = /** @type {!WebInspector.ResourceTreeFrame} */ (event.data); 348 var frame = /** @type {!WebInspector.ResourceTreeFrame} */ (event.data);
356 var project = this._workspaceProject(frame, false); 349 var project = this._workspaceProject(frame, false);
357 for (var resource of frame.resources()) 350 for (var resource of frame.resources())
(...skipping 17 matching lines...) Expand all
375 if (this.target().targetManager().allTargetsSuspended()) 368 if (this.target().targetManager().allTargetsSuspended())
376 this._reset(); 369 this._reset();
377 else 370 else
378 this._populate(); 371 this._populate();
379 }, 372 },
380 373
381 /** 374 /**
382 * @param {!WebInspector.ContentProvider} contentProvider 375 * @param {!WebInspector.ContentProvider} contentProvider
383 * @param {?WebInspector.ResourceTreeFrame} frame 376 * @param {?WebInspector.ResourceTreeFrame} frame
384 * @param {boolean} isContentScript 377 * @param {boolean} isContentScript
385 * @return {?WebInspector.UISourceCode} 378 * @return {!WebInspector.UISourceCode}
386 */ 379 */
387 _createFile: function(contentProvider, frame, isContentScript) 380 _createFile: function(contentProvider, frame, isContentScript)
388 { 381 {
389 var url = contentProvider.contentURL(); 382 var url = contentProvider.contentURL();
390 if (this._networkMapping.hasMappingForNetworkURL(url))
391 return null;
392
393 var project = this._workspaceProject(frame, isContentScript); 383 var project = this._workspaceProject(frame, isContentScript);
394 var uiSourceCode = project.createUISourceCode(url, contentProvider.conte ntType()); 384 var uiSourceCode = project.createUISourceCode(url, contentProvider.conte ntType());
395 uiSourceCode[WebInspector.NetworkProject._targetSymbol] = this.target(); 385 uiSourceCode[WebInspector.NetworkProject._targetSymbol] = this.target();
396 return uiSourceCode; 386 return uiSourceCode;
397 }, 387 },
398 388
399 _dispose: function() 389 _dispose: function()
400 { 390 {
401 this._reset(); 391 this._reset();
402 WebInspector.EventTarget.removeEventListeners(this._eventListeners); 392 WebInspector.EventTarget.removeEventListeners(this._eventListeners);
403 delete this.target()[WebInspector.NetworkProject._networkProjectSymbol]; 393 delete this.target()[WebInspector.NetworkProject._networkProjectSymbol];
404 }, 394 },
405 395
406 _reset: function() 396 _reset: function()
407 { 397 {
408 for (var project of this._workspaceProjects.values()) 398 for (var project of this._workspaceProjects.values())
409 project.removeProject(); 399 project.removeProject();
410 this._workspaceProjects.clear(); 400 this._workspaceProjects.clear();
411 }, 401 },
412 402
413 __proto__: WebInspector.SDKObject.prototype 403 __proto__: WebInspector.SDKObject.prototype
414 } 404 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698