Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 42 targetManager.observeTargets(this); | 42 targetManager.observeTargets(this); |
| 43 } | 43 } |
| 44 | 44 |
| 45 WebInspector.NetworkProjectManager.prototype = { | 45 WebInspector.NetworkProjectManager.prototype = { |
| 46 /** | 46 /** |
| 47 * @override | 47 * @override |
| 48 * @param {!WebInspector.Target} target | 48 * @param {!WebInspector.Target} target |
| 49 */ | 49 */ |
| 50 targetAdded: function(target) | 50 targetAdded: function(target) |
| 51 { | 51 { |
| 52 new WebInspector.NetworkProject(target, this._workspace, this._networkMa pping); | 52 new WebInspector.NetworkProject(target, this._workspace, this._networkMa pping, WebInspector.ResourceTreeModel.fromTarget(target)); |
| 53 }, | 53 }, |
| 54 | 54 |
| 55 /** | 55 /** |
| 56 * @override | 56 * @override |
| 57 * @param {!WebInspector.Target} target | 57 * @param {!WebInspector.Target} target |
| 58 */ | 58 */ |
| 59 targetRemoved: function(target) | 59 targetRemoved: function(target) |
| 60 { | 60 { |
| 61 WebInspector.NetworkProject.forTarget(target)._dispose(); | 61 WebInspector.NetworkProject.forTarget(target)._dispose(); |
| 62 } | 62 } |
| 63 } | 63 } |
| 64 | 64 |
| 65 /** | 65 /** |
| 66 * @constructor | 66 * @constructor |
| 67 * @extends {WebInspector.SDKObject} | 67 * @extends {WebInspector.SDKObject} |
| 68 * @param {!WebInspector.Target} target | 68 * @param {!WebInspector.Target} target |
| 69 * @param {!WebInspector.Workspace} workspace | 69 * @param {!WebInspector.Workspace} workspace |
| 70 * @param {!WebInspector.NetworkMapping} networkMapping | 70 * @param {!WebInspector.NetworkMapping} networkMapping |
| 71 * @param {?WebInspector.ResourceTreeModel} resourceTreeModel | |
| 71 */ | 72 */ |
| 72 WebInspector.NetworkProject = function(target, workspace, networkMapping) | 73 WebInspector.NetworkProject = function(target, workspace, networkMapping, resour ceTreeModel) |
| 73 { | 74 { |
| 74 WebInspector.SDKObject.call(this, target); | 75 WebInspector.SDKObject.call(this, target); |
| 75 this._workspace = workspace; | 76 this._workspace = workspace; |
| 76 this._networkMapping = networkMapping; | 77 this._networkMapping = networkMapping; |
| 77 /** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */ | 78 /** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */ |
| 78 this._workspaceProjects = new Map(); | 79 this._workspaceProjects = new Map(); |
| 80 this._resourceTreeModel = resourceTreeModel; | |
| 79 target[WebInspector.NetworkProject._networkProjectSymbol] = this; | 81 target[WebInspector.NetworkProject._networkProjectSymbol] = this; |
| 80 | 82 |
| 81 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Eve ntTypes.ResourceAdded, this._resourceAdded, this); | 83 if (resourceTreeModel) { |
|
dgozman
2016/08/19 20:23:37
Let's make sure we have service worker script in t
eostroukhov
2016/08/20 01:22:30
I see the service worker in the view. It is added
| |
| 82 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Eve ntTypes.FrameWillNavigate, this._frameWillNavigate, this); | 84 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventT ypes.ResourceAdded, this._resourceAdded, this); |
| 83 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Eve ntTypes.MainFrameNavigated, this._mainFrameNavigated, this); | 85 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventT ypes.FrameWillNavigate, this._frameWillNavigate, this); |
| 86 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventT ypes.MainFrameNavigated, this._mainFrameNavigated, this); | |
| 87 } | |
| 84 | 88 |
| 85 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); | 89 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| 86 if (debuggerModel) { | 90 if (debuggerModel) { |
| 87 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedS criptSource, this._parsedScriptSource, this); | 91 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedS criptSource, this._parsedScriptSource, this); |
| 88 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.FailedT oParseScriptSource, this._parsedScriptSource, this); | 92 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.FailedT oParseScriptSource, this._parsedScriptSource, this); |
| 89 } | 93 } |
| 90 var cssModel = WebInspector.CSSModel.fromTarget(target); | 94 var cssModel = WebInspector.CSSModel.fromTarget(target); |
| 91 if (cssModel) { | 95 if (cssModel) { |
| 92 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this); | 96 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this); |
| 93 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRemoved , this._styleSheetRemoved, this); | 97 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRemoved , this._styleSheetRemoved, this); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 159 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol]) { | 163 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol]) { |
| 160 return uiSourceCode.contentType().canonicalMimeType(); | 164 return uiSourceCode.contentType().canonicalMimeType(); |
| 161 } | 165 } |
| 162 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol]; | 166 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol]; |
| 163 if (resource) | 167 if (resource) |
| 164 return resource.mimeType; | 168 return resource.mimeType; |
| 165 var mimeType = WebInspector.ResourceType.mimeFromURL(uiSourceCode.url()); | 169 var mimeType = WebInspector.ResourceType.mimeFromURL(uiSourceCode.url()); |
| 166 return mimeType || uiSourceCode.contentType().canonicalMimeType(); | 170 return mimeType || uiSourceCode.contentType().canonicalMimeType(); |
| 167 } | 171 } |
| 168 | 172 |
| 169 /** | |
| 170 * @param {!WebInspector.UISourceCode} uiSourceCode | |
| 171 * @return {?WebInspector.ResourceTreeFrame} | |
| 172 */ | |
| 173 WebInspector.NetworkProject.uiSourceCodeFrame = function(uiSourceCode) | |
| 174 { | |
| 175 var target = uiSourceCode[WebInspector.NetworkProject._targetSymbol]; | |
| 176 if (!target) | |
| 177 return null; | |
| 178 | |
| 179 var frameId; | |
| 180 | |
| 181 var script = uiSourceCode[WebInspector.NetworkProject._scriptSymbol]; | |
| 182 if (script) { | |
| 183 var executionContext = script.executionContext(); | |
| 184 if (executionContext) | |
| 185 frameId = executionContext.frameId; | |
| 186 } | |
| 187 | |
| 188 if (!frameId) { | |
| 189 var header = uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol] ; | |
| 190 if (header) | |
| 191 frameId = header.frameId; | |
| 192 } | |
| 193 | |
| 194 if (!frameId) { | |
| 195 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol] ; | |
| 196 if (resource) | |
| 197 frameId = resource.frameId; | |
| 198 } | |
| 199 | |
| 200 return frameId ? target.resourceTreeModel.frameForId(frameId) : null; | |
| 201 } | |
| 202 | |
| 203 WebInspector.NetworkProject.prototype = { | 173 WebInspector.NetworkProject.prototype = { |
| 204 /** | 174 /** |
| 205 * @param {?WebInspector.ResourceTreeFrame} frame | 175 * @param {?WebInspector.ResourceTreeFrame} frame |
| 206 * @param {boolean} isContentScripts | 176 * @param {boolean} isContentScripts |
| 207 * @return {!WebInspector.ContentProviderBasedProject} | 177 * @return {!WebInspector.ContentProviderBasedProject} |
| 208 */ | 178 */ |
| 209 _workspaceProject: function(frame, isContentScripts) | 179 _workspaceProject: function(frame, isContentScripts) |
| 210 { | 180 { |
| 211 var projectId = WebInspector.NetworkProject.projectId(this.target(), fra me, isContentScripts); | 181 var projectId = WebInspector.NetworkProject.projectId(this.target(), fra me, isContentScripts); |
| 212 var projectType = isContentScripts ? WebInspector.projectTypes.ContentSc ripts : WebInspector.projectTypes.Network; | 182 var projectType = isContentScripts ? WebInspector.projectTypes.ContentSc ripts : WebInspector.projectTypes.Network; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 257 function populateFrame(frame) | 227 function populateFrame(frame) |
| 258 { | 228 { |
| 259 for (var i = 0; i < frame.childFrames.length; ++i) | 229 for (var i = 0; i < frame.childFrames.length; ++i) |
| 260 populateFrame.call(this, frame.childFrames[i]); | 230 populateFrame.call(this, frame.childFrames[i]); |
| 261 | 231 |
| 262 var resources = frame.resources(); | 232 var resources = frame.resources(); |
| 263 for (var i = 0; i < resources.length; ++i) | 233 for (var i = 0; i < resources.length; ++i) |
| 264 this._addResource(resources[i]); | 234 this._addResource(resources[i]); |
| 265 } | 235 } |
| 266 | 236 |
| 267 var mainFrame = this.target().resourceTreeModel.mainFrame; | 237 var resourceTreeModel = this._resourceTreeModel; |
| 238 var mainFrame = resourceTreeModel && resourceTreeModel.mainFrame; | |
| 268 if (mainFrame) | 239 if (mainFrame) |
| 269 populateFrame.call(this, mainFrame); | 240 populateFrame.call(this, mainFrame); |
| 270 }, | 241 }, |
| 271 | 242 |
| 272 /** | 243 /** |
| 273 * @param {!WebInspector.UISourceCode} uiSourceCode | 244 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 274 * @param {!WebInspector.ContentProvider} contentProvider | 245 * @param {!WebInspector.ContentProvider} contentProvider |
| 275 */ | 246 */ |
| 276 _addUISourceCodeWithProvider: function(uiSourceCode, contentProvider) | 247 _addUISourceCodeWithProvider: function(uiSourceCode, contentProvider) |
| 277 { | 248 { |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 415 | 386 |
| 416 var project = this._workspaceProject(frame, isContentScript); | 387 var project = this._workspaceProject(frame, isContentScript); |
| 417 var uiSourceCode = project.createUISourceCode(url, contentProvider.conte ntType()); | 388 var uiSourceCode = project.createUISourceCode(url, contentProvider.conte ntType()); |
| 418 uiSourceCode[WebInspector.NetworkProject._targetSymbol] = this.target(); | 389 uiSourceCode[WebInspector.NetworkProject._targetSymbol] = this.target(); |
| 419 return uiSourceCode; | 390 return uiSourceCode; |
| 420 }, | 391 }, |
| 421 | 392 |
| 422 _dispose: function() | 393 _dispose: function() |
| 423 { | 394 { |
| 424 this._reset(); | 395 this._reset(); |
| 396 if (this._resourceTreeModel) { | |
| 397 this._resourceTreeModel.removeEventListener(WebInspector.ResourceTre eModel.EventTypes.ResourceAdded, this._resourceAdded, this); | |
|
dgozman
2016/08/19 20:23:37
nit: while you are here, let's migrate to WebInspe
eostroukhov
2016/08/20 01:22:30
Done.
| |
| 398 this._resourceTreeModel.removeEventListener(WebInspector.ResourceTre eModel.EventTypes.FrameWillNavigate, this._frameWillNavigate, this); | |
| 399 this._resourceTreeModel.removeEventListener(WebInspector.ResourceTre eModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this); | |
| 400 } | |
| 425 var target = this.target(); | 401 var target = this.target(); |
| 426 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeMo del.EventTypes.ResourceAdded, this._resourceAdded, this); | |
| 427 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeMo del.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this); | |
| 428 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); | 402 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| 429 if (debuggerModel) { | 403 if (debuggerModel) { |
| 430 debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events. ParsedScriptSource, this._parsedScriptSource, this); | 404 debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events. ParsedScriptSource, this._parsedScriptSource, this); |
| 431 debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events. FailedToParseScriptSource, this._parsedScriptSource, this); | 405 debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events. FailedToParseScriptSource, this._parsedScriptSource, this); |
| 432 } | 406 } |
| 433 var cssModel = WebInspector.CSSModel.fromTarget(target); | 407 var cssModel = WebInspector.CSSModel.fromTarget(target); |
| 434 if (cssModel) { | 408 if (cssModel) { |
| 435 cssModel.removeEventListener(WebInspector.CSSModel.Events.StyleSheet Added, this._styleSheetAdded, this); | 409 cssModel.removeEventListener(WebInspector.CSSModel.Events.StyleSheet Added, this._styleSheetAdded, this); |
| 436 cssModel.removeEventListener(WebInspector.CSSModel.Events.StyleSheet Removed, this._styleSheetRemoved, this); | 410 cssModel.removeEventListener(WebInspector.CSSModel.Events.StyleSheet Removed, this._styleSheetRemoved, this); |
| 437 } | 411 } |
| 438 delete target[WebInspector.NetworkProject._networkProjectSymbol]; | 412 delete target[WebInspector.NetworkProject._networkProjectSymbol]; |
| 439 }, | 413 }, |
| 440 | 414 |
| 441 _reset: function() | 415 _reset: function() |
| 442 { | 416 { |
| 443 for (var project of this._workspaceProjects.values()) | 417 for (var project of this._workspaceProjects.values()) |
| 444 project.reset(); | 418 project.reset(); |
| 445 this._workspaceProjects.clear(); | 419 this._workspaceProjects.clear(); |
| 446 }, | 420 }, |
| 447 | 421 |
| 448 __proto__: WebInspector.SDKObject.prototype | 422 __proto__: WebInspector.SDKObject.prototype |
| 449 } | 423 } |
| OLD | NEW |