| 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 20 matching lines...) Expand all Loading... |
| 31 /** | 31 /** |
| 32 * @constructor | 32 * @constructor |
| 33 * @param {!WebInspector.TargetManager} targetManager | 33 * @param {!WebInspector.TargetManager} targetManager |
| 34 * @param {!WebInspector.Workspace} workspace | 34 * @param {!WebInspector.Workspace} workspace |
| 35 * @implements {WebInspector.TargetManager.Observer} | 35 * @implements {WebInspector.TargetManager.Observer} |
| 36 */ | 36 */ |
| 37 WebInspector.NetworkProjectManager = function(targetManager, workspace) | 37 WebInspector.NetworkProjectManager = function(targetManager, workspace) |
| 38 { | 38 { |
| 39 this._workspace = workspace; | 39 this._workspace = workspace; |
| 40 targetManager.observeTargets(this); | 40 targetManager.observeTargets(this); |
| 41 } | 41 }; |
| 42 | 42 |
| 43 WebInspector.NetworkProjectManager.prototype = { | 43 WebInspector.NetworkProjectManager.prototype = { |
| 44 /** | 44 /** |
| 45 * @override | 45 * @override |
| 46 * @param {!WebInspector.Target} target | 46 * @param {!WebInspector.Target} target |
| 47 */ | 47 */ |
| 48 targetAdded: function(target) | 48 targetAdded: function(target) |
| 49 { | 49 { |
| 50 new WebInspector.NetworkProject(target, this._workspace, WebInspector.Re
sourceTreeModel.fromTarget(target)); | 50 new WebInspector.NetworkProject(target, this._workspace, WebInspector.Re
sourceTreeModel.fromTarget(target)); |
| 51 }, | 51 }, |
| 52 | 52 |
| 53 /** | 53 /** |
| 54 * @override | 54 * @override |
| 55 * @param {!WebInspector.Target} target | 55 * @param {!WebInspector.Target} target |
| 56 */ | 56 */ |
| 57 targetRemoved: function(target) | 57 targetRemoved: function(target) |
| 58 { | 58 { |
| 59 WebInspector.NetworkProject.forTarget(target)._dispose(); | 59 WebInspector.NetworkProject.forTarget(target)._dispose(); |
| 60 } | 60 } |
| 61 } | 61 }; |
| 62 | 62 |
| 63 /** | 63 /** |
| 64 * @constructor | 64 * @constructor |
| 65 * @extends {WebInspector.SDKObject} | 65 * @extends {WebInspector.SDKObject} |
| 66 * @param {!WebInspector.Target} target | 66 * @param {!WebInspector.Target} target |
| 67 * @param {!WebInspector.Workspace} workspace | 67 * @param {!WebInspector.Workspace} workspace |
| 68 * @param {?WebInspector.ResourceTreeModel} resourceTreeModel | 68 * @param {?WebInspector.ResourceTreeModel} resourceTreeModel |
| 69 */ | 69 */ |
| 70 WebInspector.NetworkProject = function(target, workspace, resourceTreeModel) | 70 WebInspector.NetworkProject = function(target, workspace, resourceTreeModel) |
| 71 { | 71 { |
| 72 WebInspector.SDKObject.call(this, target); | 72 WebInspector.SDKObject.call(this, target); |
| 73 this._workspace = workspace; | 73 this._workspace = workspace; |
| 74 /** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */ | 74 /** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */ |
| 75 this._workspaceProjects = new Map(); | 75 this._workspaceProjects = new Map(); |
| 76 this._resourceTreeModel = resourceTreeModel; | 76 this._resourceTreeModel = resourceTreeModel; |
| 77 target[WebInspector.NetworkProject._networkProjectSymbol] = this; | 77 target[WebInspector.NetworkProject._networkProjectSymbol] = this; |
| 78 | 78 |
| 79 this._eventListeners = []; | 79 this._eventListeners = []; |
| 80 | 80 |
| 81 if (resourceTreeModel) { | 81 if (resourceTreeModel) { |
| 82 this._eventListeners.push( | 82 this._eventListeners.push( |
| 83 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Ev
ents.ResourceAdded, this._resourceAdded, this), | 83 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Ev
ents.ResourceAdded, this._resourceAdded, this), |
| 84 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Ev
ents.FrameWillNavigate, this._frameWillNavigate, this), | 84 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Ev
ents.FrameWillNavigate, this._frameWillNavigate, this), |
| 85 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Ev
ents.MainFrameNavigated, this._mainFrameNavigated, this)) | 85 resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.Ev
ents.MainFrameNavigated, this._mainFrameNavigated, this)); |
| 86 } | 86 } |
| 87 | 87 |
| 88 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); | 88 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| 89 if (debuggerModel) { | 89 if (debuggerModel) { |
| 90 this._eventListeners.push( | 90 this._eventListeners.push( |
| 91 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.Par
sedScriptSource, this._parsedScriptSource, this), | 91 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.Par
sedScriptSource, this._parsedScriptSource, this), |
| 92 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.Fai
ledToParseScriptSource, this._parsedScriptSource, this)); | 92 debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.Fai
ledToParseScriptSource, this._parsedScriptSource, this)); |
| 93 } | 93 } |
| 94 var cssModel = WebInspector.CSSModel.fromTarget(target); | 94 var cssModel = WebInspector.CSSModel.fromTarget(target); |
| 95 if (cssModel) { | 95 if (cssModel) { |
| 96 this._eventListeners.push( | 96 this._eventListeners.push( |
| 97 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdd
ed, this._styleSheetAdded, this), | 97 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdd
ed, this._styleSheetAdded, this), |
| 98 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRem
oved, this._styleSheetRemoved, this)); | 98 cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRem
oved, this._styleSheetRemoved, this)); |
| 99 } | 99 } |
| 100 this._eventListeners.push( | 100 this._eventListeners.push( |
| 101 target.targetManager().addEventListener(WebInspector.TargetManager.Event
s.SuspendStateChanged, this._suspendStateChanged, this)); | 101 target.targetManager().addEventListener(WebInspector.TargetManager.Event
s.SuspendStateChanged, this._suspendStateChanged, this)); |
| 102 } | 102 }; |
| 103 | 103 |
| 104 WebInspector.NetworkProject._networkProjectSymbol = Symbol("networkProject"); | 104 WebInspector.NetworkProject._networkProjectSymbol = Symbol("networkProject"); |
| 105 WebInspector.NetworkProject._resourceSymbol = Symbol("resource"); | 105 WebInspector.NetworkProject._resourceSymbol = Symbol("resource"); |
| 106 WebInspector.NetworkProject._scriptSymbol = Symbol("script"); | 106 WebInspector.NetworkProject._scriptSymbol = Symbol("script"); |
| 107 WebInspector.NetworkProject._styleSheetSymbol = Symbol("styleSheet"); | 107 WebInspector.NetworkProject._styleSheetSymbol = Symbol("styleSheet"); |
| 108 WebInspector.NetworkProject._targetSymbol = Symbol("target"); | 108 WebInspector.NetworkProject._targetSymbol = Symbol("target"); |
| 109 WebInspector.NetworkProject._frameSymbol = Symbol("frame"); | 109 WebInspector.NetworkProject._frameSymbol = Symbol("frame"); |
| 110 | 110 |
| 111 /** | 111 /** |
| 112 * @param {!WebInspector.Target} target | 112 * @param {!WebInspector.Target} target |
| 113 * @param {?WebInspector.ResourceTreeFrame} frame | 113 * @param {?WebInspector.ResourceTreeFrame} frame |
| 114 * @param {boolean} isContentScripts | 114 * @param {boolean} isContentScripts |
| 115 * @return {string} | 115 * @return {string} |
| 116 */ | 116 */ |
| 117 WebInspector.NetworkProject.projectId = function(target, frame, isContentScripts
) | 117 WebInspector.NetworkProject.projectId = function(target, frame, isContentScripts
) |
| 118 { | 118 { |
| 119 return target.id() + ":" + (frame ? frame.id : "") + ":" + (isContentScripts
? "contentscripts" : ""); | 119 return target.id() + ":" + (frame ? frame.id : "") + ":" + (isContentScripts
? "contentscripts" : ""); |
| 120 } | 120 }; |
| 121 | 121 |
| 122 /** | 122 /** |
| 123 * @param {!WebInspector.Target} target | 123 * @param {!WebInspector.Target} target |
| 124 * @return {!WebInspector.NetworkProject} | 124 * @return {!WebInspector.NetworkProject} |
| 125 */ | 125 */ |
| 126 WebInspector.NetworkProject.forTarget = function(target) | 126 WebInspector.NetworkProject.forTarget = function(target) |
| 127 { | 127 { |
| 128 return target[WebInspector.NetworkProject._networkProjectSymbol]; | 128 return target[WebInspector.NetworkProject._networkProjectSymbol]; |
| 129 } | 129 }; |
| 130 | 130 |
| 131 /** | 131 /** |
| 132 * @param {!WebInspector.Project} project | 132 * @param {!WebInspector.Project} project |
| 133 * @return {?WebInspector.Target} target | 133 * @return {?WebInspector.Target} target |
| 134 */ | 134 */ |
| 135 WebInspector.NetworkProject.targetForProject = function(project) | 135 WebInspector.NetworkProject.targetForProject = function(project) |
| 136 { | 136 { |
| 137 return project[WebInspector.NetworkProject._targetSymbol] || null; | 137 return project[WebInspector.NetworkProject._targetSymbol] || null; |
| 138 } | 138 }; |
| 139 | 139 |
| 140 /** | 140 /** |
| 141 * @param {!WebInspector.Project} project | 141 * @param {!WebInspector.Project} project |
| 142 * @return {?WebInspector.ResourceTreeFrame} | 142 * @return {?WebInspector.ResourceTreeFrame} |
| 143 */ | 143 */ |
| 144 WebInspector.NetworkProject.frameForProject = function(project) | 144 WebInspector.NetworkProject.frameForProject = function(project) |
| 145 { | 145 { |
| 146 return project[WebInspector.NetworkProject._frameSymbol] || null; | 146 return project[WebInspector.NetworkProject._frameSymbol] || null; |
| 147 } | 147 }; |
| 148 | 148 |
| 149 /** | 149 /** |
| 150 * @param {!WebInspector.UISourceCode} uiSourceCode | 150 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 151 * @return {?WebInspector.Target} target | 151 * @return {?WebInspector.Target} target |
| 152 */ | 152 */ |
| 153 WebInspector.NetworkProject.targetForUISourceCode = function(uiSourceCode) | 153 WebInspector.NetworkProject.targetForUISourceCode = function(uiSourceCode) |
| 154 { | 154 { |
| 155 return uiSourceCode[WebInspector.NetworkProject._targetSymbol] || null; | 155 return uiSourceCode[WebInspector.NetworkProject._targetSymbol] || null; |
| 156 } | 156 }; |
| 157 | 157 |
| 158 /** | 158 /** |
| 159 * @param {!WebInspector.UISourceCode} uiSourceCode | 159 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 160 * @return {string} | 160 * @return {string} |
| 161 */ | 161 */ |
| 162 WebInspector.NetworkProject.uiSourceCodeMimeType = function(uiSourceCode) | 162 WebInspector.NetworkProject.uiSourceCodeMimeType = function(uiSourceCode) |
| 163 { | 163 { |
| 164 if (uiSourceCode[WebInspector.NetworkProject._scriptSymbol] || | 164 if (uiSourceCode[WebInspector.NetworkProject._scriptSymbol] || |
| 165 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol]) { | 165 uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol]) { |
| 166 return uiSourceCode.contentType().canonicalMimeType(); | 166 return uiSourceCode.contentType().canonicalMimeType(); |
| 167 } | 167 } |
| 168 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol]; | 168 var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol]; |
| 169 if (resource) | 169 if (resource) |
| 170 return resource.mimeType; | 170 return resource.mimeType; |
| 171 var mimeType = WebInspector.ResourceType.mimeFromURL(uiSourceCode.url()); | 171 var mimeType = WebInspector.ResourceType.mimeFromURL(uiSourceCode.url()); |
| 172 return mimeType || uiSourceCode.contentType().canonicalMimeType(); | 172 return mimeType || uiSourceCode.contentType().canonicalMimeType(); |
| 173 } | 173 }; |
| 174 | 174 |
| 175 WebInspector.NetworkProject.prototype = { | 175 WebInspector.NetworkProject.prototype = { |
| 176 /** | 176 /** |
| 177 * @param {?WebInspector.ResourceTreeFrame} frame | 177 * @param {?WebInspector.ResourceTreeFrame} frame |
| 178 * @param {boolean} isContentScripts | 178 * @param {boolean} isContentScripts |
| 179 * @return {!WebInspector.ContentProviderBasedProject} | 179 * @return {!WebInspector.ContentProviderBasedProject} |
| 180 */ | 180 */ |
| 181 _workspaceProject: function(frame, isContentScripts) | 181 _workspaceProject: function(frame, isContentScripts) |
| 182 { | 182 { |
| 183 var projectId = WebInspector.NetworkProject.projectId(this.target(), fra
me, isContentScripts); | 183 var projectId = WebInspector.NetworkProject.projectId(this.target(), fra
me, isContentScripts); |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 }, | 406 }, |
| 407 | 407 |
| 408 _reset: function() | 408 _reset: function() |
| 409 { | 409 { |
| 410 for (var project of this._workspaceProjects.values()) | 410 for (var project of this._workspaceProjects.values()) |
| 411 project.removeProject(); | 411 project.removeProject(); |
| 412 this._workspaceProjects.clear(); | 412 this._workspaceProjects.clear(); |
| 413 }, | 413 }, |
| 414 | 414 |
| 415 __proto__: WebInspector.SDKObject.prototype | 415 __proto__: WebInspector.SDKObject.prototype |
| 416 } | 416 }; |
| OLD | NEW |