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 |