 Chromium Code Reviews
 Chromium Code Reviews Issue 2893523002:
  DevTools: make StyleSourceMapping in charge of managing UISourceCodes  (Closed)
    
  
    Issue 2893523002:
  DevTools: make StyleSourceMapping in charge of managing UISourceCodes  (Closed) 
  | Index: third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js | 
| diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js b/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js | 
| index 35e44e96ce718e8312c392fabd0a1f0d454a357d..31475e3602747e0c37c9b16851a65812755f7068 100644 | 
| --- a/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js | 
| +++ b/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js | 
| @@ -78,7 +78,6 @@ Bindings.NetworkProject = class { | 
| this._workspace = workspace; | 
| /** @type {!Map<string, !Bindings.ContentProviderBasedProject>} */ | 
| this._workspaceProjects = new Map(); | 
| - this._resourceTreeModel = resourceTreeModel; | 
| target[Bindings.NetworkProject._networkProjectSymbol] = this; | 
| this._eventListeners = []; | 
| @@ -106,12 +105,6 @@ Bindings.NetworkProject = class { | 
| this._debuggerModel.addEventListener( | 
| SDK.DebuggerModel.Events.FailedToParseScriptSource, this._parsedScriptSource, this)); | 
| } | 
| - var cssModel = target.model(SDK.CSSModel); | 
| - if (cssModel) { | 
| - this._eventListeners.push( | 
| - cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this), | 
| - cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this)); | 
| - } | 
| } | 
| /** | 
| @@ -224,10 +217,17 @@ Bindings.NetworkProject = class { | 
| /** | 
| * @param {!Workspace.UISourceCode} uiSourceCode | 
| + */ | 
| + static forceCanonicalMimeType(uiSourceCode) { | 
| + uiSourceCode[Bindings.NetworkProject._forceCanonicalMimeType] = true; | 
| 
dgozman
2017/05/17 16:46:20
I feel like we should incorporate mime type into m
 
lushnikov
2017/05/20 01:24:18
Done - here: https://codereview.chromium.org/28890
 | 
| + } | 
| + | 
| + /** | 
| + * @param {!Workspace.UISourceCode} uiSourceCode | 
| * @return {string} | 
| */ | 
| static uiSourceCodeMimeType(uiSourceCode) { | 
| - if (uiSourceCode[Bindings.NetworkProject._scriptSymbol] || uiSourceCode[Bindings.NetworkProject._styleSheetSymbol]) | 
| + if (uiSourceCode[Bindings.NetworkProject._forceCanonicalMimeType]) | 
| return uiSourceCode.contentType().canonicalMimeType(); | 
| var resource = uiSourceCode[Bindings.NetworkProject._resourceSymbol]; | 
| @@ -308,8 +308,8 @@ Bindings.NetworkProject = class { | 
| var frameId = Bindings.frameIdForScript(script); | 
| script[Bindings.NetworkProject._frameIdSymbol] = frameId; | 
| var uiSourceCode = this._createFile(originalContentProvider, frameId, script.isContentScript()); | 
| - uiSourceCode[Bindings.NetworkProject._scriptSymbol] = script; | 
| - var metadata = this._fetchMetadata(frameId, uiSourceCode.url()); | 
| + Bindings.NetworkProject.forceCanonicalMimeType(uiSourceCode); | 
| + var metadata = Bindings.metadataForURL(this._target, frameId, uiSourceCode.url()); | 
| this._addUISourceCodeWithProvider(uiSourceCode, originalContentProvider, metadata); | 
| } | 
| @@ -343,42 +343,6 @@ Bindings.NetworkProject = class { | 
| } | 
| /** | 
| - * @param {!SDK.CSSStyleSheetHeader} header | 
| - */ | 
| - _acceptsHeader(header) { | 
| - if (header.isInline && !header.hasSourceURL && header.origin !== 'inspector') | 
| - return false; | 
| - if (!header.resourceURL()) | 
| - return false; | 
| - return true; | 
| - } | 
| - | 
| - /** | 
| - * @param {!Common.Event} event | 
| - */ | 
| - _styleSheetAdded(event) { | 
| - var header = /** @type {!SDK.CSSStyleSheetHeader} */ (event.data); | 
| - if (!this._acceptsHeader(header)) | 
| - return; | 
| - | 
| - var originalContentProvider = header.originalContentProvider(); | 
| - var uiSourceCode = this._createFile(originalContentProvider, header.frameId, false); | 
| - uiSourceCode[Bindings.NetworkProject._styleSheetSymbol] = header; | 
| - var metadata = this._fetchMetadata(header.frameId, uiSourceCode.url()); | 
| - this._addUISourceCodeWithProvider(uiSourceCode, originalContentProvider, metadata); | 
| - } | 
| - | 
| - /** | 
| - * @param {!Common.Event} event | 
| - */ | 
| - _styleSheetRemoved(event) { | 
| - var header = /** @type {!SDK.CSSStyleSheetHeader} */ (event.data); | 
| - if (!this._acceptsHeader(header)) | 
| - return; | 
| - this._removeFileForURL(header.resourceURL(), header.frameId, false); | 
| - } | 
| - | 
| - /** | 
| * @param {!Common.Event} event | 
| */ | 
| _resourceAdded(event) { | 
| @@ -464,20 +428,6 @@ Bindings.NetworkProject = class { | 
| return uiSourceCode; | 
| } | 
| - /** | 
| - * @param {string} frameId | 
| - * @param {string} url | 
| - * @return {?Workspace.UISourceCodeMetadata} | 
| - */ | 
| - _fetchMetadata(frameId, url) { | 
| - if (!this._resourceTreeModel) | 
| - return null; | 
| - var frame = this._resourceTreeModel.frameForId(frameId); | 
| - if (!frame) | 
| - return null; | 
| - return Bindings.resourceMetadata(frame.resourceForURL(url)); | 
| - } | 
| - | 
| _dispose() { | 
| this._reset(); | 
| Common.EventTarget.removeEventListeners(this._eventListeners); | 
| @@ -491,43 +441,34 @@ Bindings.NetworkProject = class { | 
| } | 
| /** | 
| + * @param {!SDK.Target} target | 
| * @param {!Workspace.Workspace} workspace | 
| * @param {string} url | 
| - * @param {!SDK.Script} script | 
| + * @param {string} frameId | 
| * @return {?Workspace.UISourceCode} | 
| */ | 
| - static uiSourceCodeForScriptURL(workspace, url, script) { | 
| - var target = script.debuggerModel.target(); | 
| - var executionContext = script.executionContext(); | 
| - var frameId = executionContext ? executionContext.frameId || '' : ''; | 
| - return workspace.uiSourceCode(Bindings.NetworkProject.projectId(target, frameId, false), url) || | 
| - workspace.uiSourceCode(Bindings.NetworkProject.projectId(target, frameId, true), url); | 
| + static uiSourceCodeForResourceURL(target, workspace, url, frameId) { | 
| + return workspace.uiSourceCode(Bindings.NetworkProject.projectId(target, frameId, false), url); | 
| } | 
| /** | 
| * @param {!Workspace.Workspace} workspace | 
| * @param {string} url | 
| - * @param {!SDK.CSSStyleSheetHeader} header | 
| + * @param {!SDK.Script} script | 
| * @return {?Workspace.UISourceCode} | 
| */ | 
| - static uiSourceCodeForStyleURL(workspace, url, header) { | 
| - return workspace.uiSourceCode( | 
| - Bindings.NetworkProject.projectId(header.cssModel().target(), header.frameId, false), url); | 
| - } | 
| - | 
| - /** | 
| - * @param {!Workspace.UISourceCode} uiSourceCode | 
| - * @return {?SDK.CSSStyleSheetHeader} | 
| - */ | 
| - static styleHeaderForUISourceCode(uiSourceCode) { | 
| - return uiSourceCode[Bindings.NetworkProject._styleSheetSymbol]; | 
| + static uiSourceCodeForScriptURL(workspace, url, script) { | 
| + var target = script.debuggerModel.target(); | 
| + var executionContext = script.executionContext(); | 
| + var frameId = executionContext ? executionContext.frameId || '' : ''; | 
| + return workspace.uiSourceCode(Bindings.NetworkProject.projectId(target, frameId, false), url) || | 
| + workspace.uiSourceCode(Bindings.NetworkProject.projectId(target, frameId, true), url); | 
| } | 
| }; | 
| Bindings.NetworkProject._networkProjectSymbol = Symbol('networkProject'); | 
| Bindings.NetworkProject._resourceSymbol = Symbol('resource'); | 
| -Bindings.NetworkProject._scriptSymbol = Symbol('script'); | 
| -Bindings.NetworkProject._styleSheetSymbol = Symbol('styleSheet'); | 
| +Bindings.NetworkProject._forceCanonicalMimeType = Symbol('Bindings.NetworkProject._forceCanonicalMimeType'); | 
| Bindings.NetworkProject._targetSymbol = Symbol('target'); | 
| Bindings.NetworkProject._frameIdSymbol = Symbol('frameid'); |