Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js

Issue 2122353002: [DevTools] Make resource tree model optional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The Chromium Authors. All rights reserved. 2 * Copyright 2014 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 /** 7 /**
8 * @constructor 8 * @constructor
9 * @extends {WebInspector.Object} 9 * @extends {WebInspector.Object}
10 */ 10 */
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 }, 78 },
79 79
80 /** 80 /**
81 * @return {string} 81 * @return {string}
82 */ 82 */
83 inspectedPageURL: function() 83 inspectedPageURL: function()
84 { 84 {
85 if (!this._targets.length) 85 if (!this._targets.length)
86 return ""; 86 return "";
87 87
88 return this._targets[0].resourceTreeModel.inspectedPageURL(); 88 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._ targets[0]);
89 if (!resourceTreeModel)
90 return "";
91
92 return resourceTreeModel.inspectedPageURL();
89 }, 93 },
90 94
91 /** 95 /**
92 * @return {string} 96 * @return {string}
93 */ 97 */
94 inspectedPageDomain: function() 98 inspectedPageDomain: function()
95 { 99 {
96 if (!this._targets.length) 100 if (!this._targets.length)
97 return ""; 101 return "";
98 102
99 return this._targets[0].resourceTreeModel.inspectedPageDomain(); 103 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._ targets[0]);
104 if (!resourceTreeModel)
105 return "";
106
107 return resourceTreeModel.inspectedPageDomain();
100 }, 108 },
101 109
102 /** 110 /**
103 * @param {!WebInspector.Event} event 111 * @param {!WebInspector.Event} event
104 */ 112 */
105 _redispatchEvent: function(event) 113 _redispatchEvent: function(event)
106 { 114 {
107 this.dispatchEventToListeners(event.type, event.data); 115 this.dispatchEventToListeners(event.type, event.data);
108 }, 116 },
109 117
110 /** 118 /**
111 * @param {boolean=} bypassCache 119 * @param {boolean=} bypassCache
112 * @param {string=} injectedScript 120 * @param {string=} injectedScript
113 */ 121 */
114 reloadPage: function(bypassCache, injectedScript) 122 reloadPage: function(bypassCache, injectedScript)
115 { 123 {
116 if (this._targets.length) 124 if (!this._targets.length)
117 this._targets[0].resourceTreeModel.reloadPage(bypassCache, injectedS cript); 125 return;
126
127 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._ targets[0]);
128 if (!resourceTreeModel)
129 return;
130
131 resourceTreeModel.reloadPage(bypassCache, injectedScript);
118 }, 132 },
119 133
120 /** 134 /**
121 * @param {!Function} modelClass 135 * @param {!Function} modelClass
122 * @param {string} eventType 136 * @param {string} eventType
123 * @param {function(!WebInspector.Event)} listener 137 * @param {function(!WebInspector.Event)} listener
124 * @param {!Object=} thisObject 138 * @param {!Object=} thisObject
125 */ 139 */
126 addModelListener: function(modelClass, eventType, listener, thisObject) 140 addModelListener: function(modelClass, eventType, listener, thisObject)
127 { 141 {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 */ 206 */
193 createTarget: function(name, capabilitiesMask, connection, parentTarget) 207 createTarget: function(name, capabilitiesMask, connection, parentTarget)
194 { 208 {
195 var target = new WebInspector.Target(this, name, capabilitiesMask, conne ction, parentTarget); 209 var target = new WebInspector.Target(this, name, capabilitiesMask, conne ction, parentTarget);
196 210
197 /** @type {!WebInspector.ConsoleModel} */ 211 /** @type {!WebInspector.ConsoleModel} */
198 target.consoleModel = new WebInspector.ConsoleModel(target); 212 target.consoleModel = new WebInspector.ConsoleModel(target);
199 /** @type {!WebInspector.RuntimeModel} */ 213 /** @type {!WebInspector.RuntimeModel} */
200 target.runtimeModel = new WebInspector.RuntimeModel(target); 214 target.runtimeModel = new WebInspector.RuntimeModel(target);
201 215
202 var networkManager = null; 216 var resourceTreeModel = null;
203 if (target.hasNetworkCapability())
204 networkManager = new WebInspector.NetworkManager(target);
205 217
206 /** @type {!WebInspector.ResourceTreeModel} */ 218 if (target.hasNetworkCapability()) {
207 target.resourceTreeModel = new WebInspector.ResourceTreeModel(target, ne tworkManager); 219 var networkManager = new WebInspector.NetworkManager(target);
208 220 resourceTreeModel = new WebInspector.ResourceTreeModel(target, netwo rkManager);
dgozman 2016/07/14 16:29:29 This is browser capability, not network.
eostroukhov-old 2016/07/20 23:46:16 Apparently, it requires both... I updated it.
209 if (networkManager) 221 new WebInspector.NetworkLog(target, networkManager, resourceTreeMode l);
210 new WebInspector.NetworkLog(target, networkManager); 222 }
211 223
212 if (target.hasJSCapability()) 224 if (target.hasJSCapability())
213 new WebInspector.DebuggerModel(target); 225 new WebInspector.DebuggerModel(target);
214 226
215 if (target.hasBrowserCapability()) { 227 if (target.hasBrowserCapability()) {
216 new WebInspector.DOMModel(target); 228 var domModel = new WebInspector.DOMModel(target);
217 new WebInspector.CSSModel(target); 229 new WebInspector.CSSModel(target, domModel, /** @type {!WebInspector .ResourceTreeModel} */ (resourceTreeModel));
218 } 230 }
219 231
220 /** @type {?WebInspector.WorkerManager} */ 232 /** @type {?WebInspector.WorkerManager} */
221 target.workerManager = target.hasWorkerCapability() ? new WebInspector.W orkerManager(target) : null; 233 target.workerManager = target.hasWorkerCapability() ? new WebInspector.W orkerManager(target) : null;
222 /** @type {!WebInspector.CPUProfilerModel} */ 234 /** @type {!WebInspector.CPUProfilerModel} */
223 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target); 235 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target);
224 /** @type {!WebInspector.HeapProfilerModel} */ 236 /** @type {!WebInspector.HeapProfilerModel} */
225 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target); 237 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target);
226 238
227 target.tracingManager = new WebInspector.TracingManager(target); 239 target.tracingManager = new WebInspector.TracingManager(target);
(...skipping 14 matching lines...) Expand all
242 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); 254 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0));
243 }, 255 },
244 256
245 /** 257 /**
246 * @param {!WebInspector.Target} target 258 * @param {!WebInspector.Target} target
247 */ 259 */
248 addTarget: function(target) 260 addTarget: function(target)
249 { 261 {
250 this._targets.push(target); 262 this._targets.push(target);
251 if (this._targets.length === 1) { 263 if (this._targets.length === 1) {
252 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.InspectedURLChanged, this._redispatchEvent, this); 264 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(ta rget);
253 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 265 if (resourceTreeModel) {
254 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); 266 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.InspectedURLChanged, this._redispatchEvent, this);
dgozman 2016/07/14 16:29:29 nit: while you are here, save the results of addEv
eostroukhov-old 2016/07/20 23:46:16 Done.
255 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); 267 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.MainFrameNavigated, this._redispatchEvent, this);
256 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); 268 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.Load, this._redispatchEvent, this);
269 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.PageReloadRequested, this._redispatchEvent, this);
270 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.WillReloadPage, this._redispatchEvent, this);
271 }
257 } 272 }
258 var copy = this._observersForTarget(target); 273 var copy = this._observersForTarget(target);
259 for (var i = 0; i < copy.length; ++i) 274 for (var i = 0; i < copy.length; ++i)
260 copy[i].targetAdded(target); 275 copy[i].targetAdded(target);
261 276
262 for (var eventType in this._modelListeners) { 277 for (var eventType in this._modelListeners) {
263 var listeners = this._modelListeners[eventType]; 278 var listeners = this._modelListeners[eventType];
264 for (var i = 0; i < listeners.length; ++i) { 279 for (var i = 0; i < listeners.length; ++i) {
265 var model = target.model(listeners[i].modelClass); 280 var model = target.model(listeners[i].modelClass);
266 if (model) 281 if (model)
267 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); 282 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject);
268 } 283 }
269 } 284 }
270 }, 285 },
271 286
272 /** 287 /**
273 * @param {!WebInspector.Target} target 288 * @param {!WebInspector.Target} target
274 */ 289 */
275 removeTarget: function(target) 290 removeTarget: function(target)
276 { 291 {
277 this._targets.remove(target); 292 this._targets.remove(target);
278 if (this._targets.length === 0) { 293 if (this._targets.length === 0) {
279 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.InspectedURLChanged, this._redispatchEvent, this); 294 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(ta rget);
280 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 295 if (resourceTreeModel) {
281 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); 296 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.InspectedURLChanged, this._redispatchEvent, this);
282 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); 297 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this);
298 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this);
299 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this);
300 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this);
301 }
283 } 302 }
284 var copy = this._observersForTarget(target); 303 var copy = this._observersForTarget(target);
285 for (var i = 0; i < copy.length; ++i) 304 for (var i = 0; i < copy.length; ++i)
286 copy[i].targetRemoved(target); 305 copy[i].targetRemoved(target);
287 306
288 for (var eventType in this._modelListeners) { 307 for (var eventType in this._modelListeners) {
289 var listeners = this._modelListeners[eventType]; 308 var listeners = this._modelListeners[eventType];
290 for (var i = 0; i < listeners.length; ++i) { 309 for (var i = 0; i < listeners.length; ++i) {
291 var model = target.model(listeners[i].modelClass); 310 var model = target.model(listeners[i].modelClass);
292 if (model) 311 if (model)
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 /** 367 /**
349 * @param {!WebInspector.Target} target 368 * @param {!WebInspector.Target} target
350 */ 369 */
351 targetRemoved: function(target) { }, 370 targetRemoved: function(target) { },
352 } 371 }
353 372
354 /** 373 /**
355 * @type {!WebInspector.TargetManager} 374 * @type {!WebInspector.TargetManager}
356 */ 375 */
357 WebInspector.targetManager = new WebInspector.TargetManager(); 376 WebInspector.targetManager = new WebInspector.TargetManager();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698