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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 71 */ | 71 */ |
| 72 WebInspector.NetworkProject = function(target, workspace, networkMapping) | 72 WebInspector.NetworkProject = function(target, workspace, networkMapping) |
| 73 { | 73 { |
| 74 WebInspector.SDKObject.call(this, target); | 74 WebInspector.SDKObject.call(this, target); |
| 75 this._workspace = workspace; | 75 this._workspace = workspace; |
| 76 this._networkMapping = networkMapping; | 76 this._networkMapping = networkMapping; |
| 77 /** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */ | 77 /** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */ |
| 78 this._workspaceProjects = new Map(); | 78 this._workspaceProjects = new Map(); |
| 79 target[WebInspector.NetworkProject._networkProjectSymbol] = this; | 79 target[WebInspector.NetworkProject._networkProjectSymbol] = this; |
| 80 | 80 |
| 81 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Eve ntTypes.ResourceAdded, this._resourceAdded, this); | 81 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target); |
| 82 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Eve ntTypes.FrameWillNavigate, this._frameWillNavigate, this); | 82 if (resourceTreeModel) { |
| 83 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Eve ntTypes.MainFrameNavigated, this._mainFrameNavigated, this); | 83 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventT ypes.ResourceAdded, this._resourceAdded, this); |
| 84 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventT ypes.FrameWillNavigate, this._frameWillNavigate, this); | |
| 85 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventT ypes.MainFrameNavigated, this._mainFrameNavigated, this); | |
| 86 } | |
| 84 | 87 |
| 85 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); | 88 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| 86 if (debuggerModel) { | 89 if (debuggerModel) { |
| 87 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedS criptSource, this._parsedScriptSource, this); | 90 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedS criptSource, this._parsedScriptSource, this); |
| 88 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.FailedT oParseScriptSource, this._parsedScriptSource, this); | 91 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.FailedT oParseScriptSource, this._parsedScriptSource, this); |
| 89 } | 92 } |
| 90 var cssModel = WebInspector.CSSModel.fromTarget(target); | 93 var cssModel = WebInspector.CSSModel.fromTarget(target); |
| 91 if (cssModel) { | 94 if (cssModel) { |
| 92 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this); | 95 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this); |
| 93 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRemoved , this._styleSheetRemoved, this); | 96 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]) { | 162 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol]) { |
| 160 return uiSourceCode.contentType().canonicalMimeType(); | 163 return uiSourceCode.contentType().canonicalMimeType(); |
| 161 } | 164 } |
| 162 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol]; | 165 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol]; |
| 163 if (resource) | 166 if (resource) |
| 164 return resource.mimeType; | 167 return resource.mimeType; |
| 165 var mimeType = WebInspector.ResourceType.mimeFromURL(uiSourceCode.url()); | 168 var mimeType = WebInspector.ResourceType.mimeFromURL(uiSourceCode.url()); |
| 166 return mimeType || uiSourceCode.contentType().canonicalMimeType(); | 169 return mimeType || uiSourceCode.contentType().canonicalMimeType(); |
| 167 } | 170 } |
| 168 | 171 |
| 169 /** | |
| 170 * @param {!WebInspector.UISourceCode} uiSourceCode | |
| 171 * @return {?WebInspector.ResourceTreeFrame} | |
| 172 */ | |
| 173 WebInspector.NetworkProject.uiSourceCodeFrame = function(uiSourceCode) | |
|
pfeldman
2016/07/13 23:55:57
Thanks.
| |
| 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 = { | 172 WebInspector.NetworkProject.prototype = { |
| 204 /** | 173 /** |
| 205 * @param {?WebInspector.ResourceTreeFrame} frame | 174 * @param {?WebInspector.ResourceTreeFrame} frame |
| 206 * @param {boolean} isContentScripts | 175 * @param {boolean} isContentScripts |
| 207 * @return {!WebInspector.ContentProviderBasedProject} | 176 * @return {!WebInspector.ContentProviderBasedProject} |
| 208 */ | 177 */ |
| 209 _workspaceProject: function(frame, isContentScripts) | 178 _workspaceProject: function(frame, isContentScripts) |
| 210 { | 179 { |
| 211 var projectId = WebInspector.NetworkProject.projectId(this.target(), fra me, isContentScripts); | 180 var projectId = WebInspector.NetworkProject.projectId(this.target(), fra me, isContentScripts); |
| 212 var projectType = isContentScripts ? WebInspector.projectTypes.ContentSc ripts : WebInspector.projectTypes.Network; | 181 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) | 226 function populateFrame(frame) |
| 258 { | 227 { |
| 259 for (var i = 0; i < frame.childFrames.length; ++i) | 228 for (var i = 0; i < frame.childFrames.length; ++i) |
| 260 populateFrame.call(this, frame.childFrames[i]); | 229 populateFrame.call(this, frame.childFrames[i]); |
| 261 | 230 |
| 262 var resources = frame.resources(); | 231 var resources = frame.resources(); |
| 263 for (var i = 0; i < resources.length; ++i) | 232 for (var i = 0; i < resources.length; ++i) |
| 264 this._addResource(resources[i]); | 233 this._addResource(resources[i]); |
| 265 } | 234 } |
| 266 | 235 |
| 267 var mainFrame = this.target().resourceTreeModel.mainFrame; | 236 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this.t arget()); |
| 237 var mainFrame = resourceTreeModel && resourceTreeModel.mainFrame; | |
| 268 if (mainFrame) | 238 if (mainFrame) |
| 269 populateFrame.call(this, mainFrame); | 239 populateFrame.call(this, mainFrame); |
| 270 }, | 240 }, |
| 271 | 241 |
| 272 /** | 242 /** |
| 273 * @param {!WebInspector.UISourceCode} uiSourceCode | 243 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 274 * @param {!WebInspector.ContentProvider} contentProvider | 244 * @param {!WebInspector.ContentProvider} contentProvider |
| 275 */ | 245 */ |
| 276 _addUISourceCodeWithProvider: function(uiSourceCode, contentProvider) | 246 _addUISourceCodeWithProvider: function(uiSourceCode, contentProvider) |
| 277 { | 247 { |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 416 var project = this._workspaceProject(frame, isContentScript); | 386 var project = this._workspaceProject(frame, isContentScript); |
| 417 var uiSourceCode = project.createUISourceCode(url, contentProvider.conte ntType()); | 387 var uiSourceCode = project.createUISourceCode(url, contentProvider.conte ntType()); |
| 418 uiSourceCode[WebInspector.NetworkProject._targetSymbol] = this.target(); | 388 uiSourceCode[WebInspector.NetworkProject._targetSymbol] = this.target(); |
| 419 return uiSourceCode; | 389 return uiSourceCode; |
| 420 }, | 390 }, |
| 421 | 391 |
| 422 _dispose: function() | 392 _dispose: function() |
| 423 { | 393 { |
| 424 this._reset(); | 394 this._reset(); |
| 425 var target = this.target(); | 395 var target = this.target(); |
| 426 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeMo del.EventTypes.ResourceAdded, this._resourceAdded, this); | 396 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target ); |
| 427 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeMo del.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this); | 397 if (resourceTreeModel) { |
| 398 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel .EventTypes.ResourceAdded, this._resourceAdded, this); | |
| 399 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel .EventTypes.FrameWillNavigate, this._frameWillNavigate, this); | |
| 400 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel .EventTypes.MainFrameNavigated, this._mainFrameNavigated, this); | |
| 401 } | |
| 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 |