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

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: Comments addressed Created 4 years, 4 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 13 matching lines...) Expand all
24 WebInspector.TargetManager.Events = { 24 WebInspector.TargetManager.Events = {
25 InspectedURLChanged: "InspectedURLChanged", 25 InspectedURLChanged: "InspectedURLChanged",
26 MainFrameNavigated: "MainFrameNavigated", 26 MainFrameNavigated: "MainFrameNavigated",
27 Load: "Load", 27 Load: "Load",
28 PageReloadRequested: "PageReloadRequested", 28 PageReloadRequested: "PageReloadRequested",
29 WillReloadPage: "WillReloadPage", 29 WillReloadPage: "WillReloadPage",
30 TargetDisposed: "TargetDisposed", 30 TargetDisposed: "TargetDisposed",
31 SuspendStateChanged: "SuspendStateChanged" 31 SuspendStateChanged: "SuspendStateChanged"
32 } 32 }
33 33
34 WebInspector.TargetManager._listenersSymbol = Symbol("WebInspector.TargetManager .Listeners");
35
34 WebInspector.TargetManager.prototype = { 36 WebInspector.TargetManager.prototype = {
35 suspendAllTargets: function() 37 suspendAllTargets: function()
36 { 38 {
37 if (this._isSuspended) 39 if (this._isSuspended)
38 return; 40 return;
39 this._isSuspended = true; 41 this._isSuspended = true;
40 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS tateChanged); 42 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS tateChanged);
41 43
42 for (var i = 0; i < this._targets.length; ++i) { 44 for (var i = 0; i < this._targets.length; ++i) {
43 for (var model of this._targets[i].models()) 45 for (var model of this._targets[i].models())
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 { 94 {
93 this.dispatchEventToListeners(event.type, event.data); 95 this.dispatchEventToListeners(event.type, event.data);
94 }, 96 },
95 97
96 /** 98 /**
97 * @param {boolean=} bypassCache 99 * @param {boolean=} bypassCache
98 * @param {string=} injectedScript 100 * @param {string=} injectedScript
99 */ 101 */
100 reloadPage: function(bypassCache, injectedScript) 102 reloadPage: function(bypassCache, injectedScript)
101 { 103 {
102 if (this._targets.length) 104 if (!this._targets.length)
103 this._targets[0].resourceTreeModel.reloadPage(bypassCache, injectedS cript); 105 return;
106
107 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._ targets[0]);
108 if (!resourceTreeModel)
109 return;
110
111 resourceTreeModel.reloadPage(bypassCache, injectedScript);
104 }, 112 },
105 113
106 /** 114 /**
107 * @param {!Function} modelClass 115 * @param {!Function} modelClass
108 * @param {string} eventType 116 * @param {string} eventType
109 * @param {function(!WebInspector.Event)} listener 117 * @param {function(!WebInspector.Event)} listener
110 * @param {!Object=} thisObject 118 * @param {!Object=} thisObject
111 */ 119 */
112 addModelListener: function(modelClass, eventType, listener, thisObject) 120 addModelListener: function(modelClass, eventType, listener, thisObject)
113 { 121 {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 createTarget: function(name, capabilitiesMask, connection, parentTarget) 187 createTarget: function(name, capabilitiesMask, connection, parentTarget)
180 { 188 {
181 var target = new WebInspector.Target(this, name, capabilitiesMask, conne ction, parentTarget); 189 var target = new WebInspector.Target(this, name, capabilitiesMask, conne ction, parentTarget);
182 190
183 /** @type {!WebInspector.ConsoleModel} */ 191 /** @type {!WebInspector.ConsoleModel} */
184 target.consoleModel = new WebInspector.ConsoleModel(target); 192 target.consoleModel = new WebInspector.ConsoleModel(target);
185 /** @type {!WebInspector.RuntimeModel} */ 193 /** @type {!WebInspector.RuntimeModel} */
186 target.runtimeModel = new WebInspector.RuntimeModel(target); 194 target.runtimeModel = new WebInspector.RuntimeModel(target);
187 195
188 var networkManager = null; 196 var networkManager = null;
189 if (target.hasNetworkCapability()) 197 var resourceTreeModel = null;
198 if (target.hasNetworkCapability()) {
dgozman 2016/08/20 01:32:00 style: unnecessary {}
eostroukhov-old 2016/08/22 17:55:41 Done.
190 networkManager = new WebInspector.NetworkManager(target); 199 networkManager = new WebInspector.NetworkManager(target);
191 200 }
192 var securityOriginManager = WebInspector.SecurityOriginManager.fromTarge t(target); 201 if (networkManager && target.hasDOMCapability()) {
193 /** @type {!WebInspector.ResourceTreeModel} */ 202 resourceTreeModel = new WebInspector.ResourceTreeModel(target, netwo rkManager, WebInspector.SecurityOriginManager.fromTarget(target));
194 target.resourceTreeModel = new WebInspector.ResourceTreeModel(target, ne tworkManager, securityOriginManager); 203 new WebInspector.NetworkLog(target, resourceTreeModel, networkManage r);
195 204 }
196 if (networkManager)
197 new WebInspector.NetworkLog(target, target.resourceTreeModel, networ kManager);
198 205
199 if (target.hasJSCapability()) 206 if (target.hasJSCapability())
200 new WebInspector.DebuggerModel(target); 207 new WebInspector.DebuggerModel(target);
201 208
202 if (target.hasDOMCapability()) { 209 if (resourceTreeModel) {
203 var domModel = new WebInspector.DOMModel(target); 210 var domModel = new WebInspector.DOMModel(target);
204 new WebInspector.CSSModel(target, domModel); 211 new WebInspector.CSSModel(target, domModel);
205 } 212 }
206 213
207 /** @type {?WebInspector.WorkerManager} */ 214 /** @type {?WebInspector.WorkerManager} */
208 target.workerManager = target.hasWorkerCapability() ? new WebInspector.W orkerManager(target) : null; 215 target.workerManager = target.hasWorkerCapability() ? new WebInspector.W orkerManager(target) : null;
209 /** @type {!WebInspector.CPUProfilerModel} */ 216 /** @type {!WebInspector.CPUProfilerModel} */
210 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target); 217 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target);
211 /** @type {!WebInspector.HeapProfilerModel} */ 218 /** @type {!WebInspector.HeapProfilerModel} */
212 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target); 219 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target);
(...skipping 15 matching lines...) Expand all
228 { 235 {
229 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); 236 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0));
230 }, 237 },
231 238
232 /** 239 /**
233 * @param {!WebInspector.Target} target 240 * @param {!WebInspector.Target} target
234 */ 241 */
235 addTarget: function(target) 242 addTarget: function(target)
236 { 243 {
237 this._targets.push(target); 244 this._targets.push(target);
238 if (this._targets.length === 1) { 245 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target );
239 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 246 if (this._targets.length === 1 && resourceTreeModel) {
240 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); 247 resourceTreeModel[WebInspector.TargetManager._listenersSymbol] = [
241 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); 248 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.MainFrameNavigated, this._redispatchEvent, this),
242 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); 249 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.Load, this._redispatchEvent, this),
250 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.PageReloadRequested, this._redispatchEvent, this),
251 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.WillReloadPage, this._redispatchEvent, this)
252 ];
243 } 253 }
244 var copy = this._observersForTarget(target); 254 var copy = this._observersForTarget(target);
245 for (var i = 0; i < copy.length; ++i) 255 for (var i = 0; i < copy.length; ++i)
246 copy[i].targetAdded(target); 256 copy[i].targetAdded(target);
247 257
248 for (var eventType in this._modelListeners) { 258 for (var eventType in this._modelListeners) {
249 var listeners = this._modelListeners[eventType]; 259 var listeners = this._modelListeners[eventType];
250 for (var i = 0; i < listeners.length; ++i) { 260 for (var i = 0; i < listeners.length; ++i) {
251 var model = target.model(listeners[i].modelClass); 261 var model = target.model(listeners[i].modelClass);
252 if (model) 262 if (model)
253 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); 263 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject);
254 } 264 }
255 } 265 }
256 }, 266 },
257 267
258 /** 268 /**
259 * @param {!WebInspector.Target} target 269 * @param {!WebInspector.Target} target
260 */ 270 */
261 removeTarget: function(target) 271 removeTarget: function(target)
262 { 272 {
263 this._targets.remove(target); 273 this._targets.remove(target);
264 if (this._targets.length === 0) { 274 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target );
265 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 275 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspe ctor.TargetManager._listenersSymbol];
266 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); 276 if (treeModelListeners)
267 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); 277 WebInspector.EventTarget.removeEventListeners(treeModelListeners);
268 } 278
269 var copy = this._observersForTarget(target); 279 var copy = this._observersForTarget(target);
270 for (var i = 0; i < copy.length; ++i) 280 for (var i = 0; i < copy.length; ++i)
271 copy[i].targetRemoved(target); 281 copy[i].targetRemoved(target);
272 282
273 for (var eventType in this._modelListeners) { 283 for (var eventType in this._modelListeners) {
274 var listeners = this._modelListeners[eventType]; 284 var listeners = this._modelListeners[eventType];
275 for (var i = 0; i < listeners.length; ++i) { 285 for (var i = 0; i < listeners.length; ++i) {
276 var model = target.model(listeners[i].modelClass); 286 var model = target.model(listeners[i].modelClass);
277 if (model) 287 if (model)
278 model.removeEventListener(eventType, listeners[i].listener, listeners[i].thisObject); 288 model.removeEventListener(eventType, listeners[i].listener, listeners[i].thisObject);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 /** 363 /**
354 * @param {!WebInspector.Target} target 364 * @param {!WebInspector.Target} target
355 */ 365 */
356 targetRemoved: function(target) { }, 366 targetRemoved: function(target) { },
357 } 367 }
358 368
359 /** 369 /**
360 * @type {!WebInspector.TargetManager} 370 * @type {!WebInspector.TargetManager}
361 */ 371 */
362 WebInspector.targetManager = new WebInspector.TargetManager(); 372 WebInspector.targetManager = new WebInspector.TargetManager();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698