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

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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 * @param {?WebInspector.Target} parentTarget 204 * @param {?WebInspector.Target} parentTarget
191 * @return {!WebInspector.Target} 205 * @return {!WebInspector.Target}
192 */ 206 */
193 createTarget: function(name, type, connection, parentTarget) 207 createTarget: function(name, type, connection, parentTarget)
194 { 208 {
195 var target = new WebInspector.Target(this, name, type, connection, paren tTarget); 209 var target = new WebInspector.Target(this, name, type, connection, paren tTarget);
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 213
200 var networkManager = null; 214 if (!target.isJSInspector()) {
201 if (!target.isJSInspector()) 215 var networkManager = new WebInspector.NetworkManager(target);
202 networkManager = new WebInspector.NetworkManager(target); 216 var resourceTreeModel = new WebInspector.ResourceTreeModel(target, n etworkManager);
203 217 new WebInspector.NetworkLog(target, networkManager, resourceTreeMode l);
204 /** @type {!WebInspector.ResourceTreeModel} */ 218 }
205 target.resourceTreeModel = new WebInspector.ResourceTreeModel(target, ne tworkManager);
206
207 if (networkManager)
208 new WebInspector.NetworkLog(target, networkManager);
209 219
210 /** @type {!WebInspector.RuntimeModel} */ 220 /** @type {!WebInspector.RuntimeModel} */
211 target.runtimeModel = new WebInspector.RuntimeModel(target); 221 target.runtimeModel = new WebInspector.RuntimeModel(target);
212 if (target.hasJSContext()) 222 if (target.hasJSContext())
213 new WebInspector.DebuggerModel(target); 223 new WebInspector.DebuggerModel(target);
214 224
215 if (target.type() === WebInspector.Target.Type.Page) { 225 if (target.type() === WebInspector.Target.Type.Page) {
216 new WebInspector.DOMModel(target); 226 new WebInspector.DOMModel(target);
217 new WebInspector.CSSModel(target); 227 new WebInspector.CSSModel(target);
218 } 228 }
(...skipping 28 matching lines...) Expand all
247 return result; 257 return result;
248 }, 258 },
249 259
250 /** 260 /**
251 * @param {!WebInspector.Target} target 261 * @param {!WebInspector.Target} target
252 */ 262 */
253 addTarget: function(target) 263 addTarget: function(target)
254 { 264 {
255 this._targets.push(target); 265 this._targets.push(target);
256 if (this._targets.length === 1) { 266 if (this._targets.length === 1) {
257 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.InspectedURLChanged, this._redispatchEvent, this); 267 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(ta rget);
258 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 268 if (resourceTreeModel) {
259 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); 269 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.InspectedURLChanged, this._redispatchEvent, this);
260 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); 270 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.MainFrameNavigated, this._redispatchEvent, this);
261 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); 271 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.Load, this._redispatchEvent, this);
272 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.PageReloadRequested, this._redispatchEvent, this);
273 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.WillReloadPage, this._redispatchEvent, this);
274 }
262 } 275 }
263 var copy = this._observersByType(target.type()); 276 var copy = this._observersByType(target.type());
264 for (var i = 0; i < copy.length; ++i) 277 for (var i = 0; i < copy.length; ++i)
265 copy[i].targetAdded(target); 278 copy[i].targetAdded(target);
266 279
267 for (var eventType in this._modelListeners) { 280 for (var eventType in this._modelListeners) {
268 var listeners = this._modelListeners[eventType]; 281 var listeners = this._modelListeners[eventType];
269 for (var i = 0; i < listeners.length; ++i) { 282 for (var i = 0; i < listeners.length; ++i) {
270 var model = target.model(listeners[i].modelClass); 283 var model = target.model(listeners[i].modelClass);
271 if (model) 284 if (model)
272 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); 285 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject);
273 } 286 }
274 } 287 }
275 }, 288 },
276 289
277 /** 290 /**
278 * @param {!WebInspector.Target} target 291 * @param {!WebInspector.Target} target
279 */ 292 */
280 removeTarget: function(target) 293 removeTarget: function(target)
281 { 294 {
282 this._targets.remove(target); 295 this._targets.remove(target);
283 if (this._targets.length === 0) { 296 if (this._targets.length === 0) {
284 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.InspectedURLChanged, this._redispatchEvent, this); 297 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(ta rget);
285 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 298 if (resourceTreeModel) {
286 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); 299 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.InspectedURLChanged, this._redispatchEvent, this);
287 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); 300 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this);
301 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this);
302 resourceTreeModel.removeEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this);
303 }
288 } 304 }
289 var copy = this._observersByType(target.type()); 305 var copy = this._observersByType(target.type());
290 for (var i = 0; i < copy.length; ++i) 306 for (var i = 0; i < copy.length; ++i)
291 copy[i].targetRemoved(target); 307 copy[i].targetRemoved(target);
292 308
293 for (var eventType in this._modelListeners) { 309 for (var eventType in this._modelListeners) {
294 var listeners = this._modelListeners[eventType]; 310 var listeners = this._modelListeners[eventType];
295 for (var i = 0; i < listeners.length; ++i) { 311 for (var i = 0; i < listeners.length; ++i) {
296 var model = target.model(listeners[i].modelClass); 312 var model = target.model(listeners[i].modelClass);
297 if (model) 313 if (model)
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 /** 396 /**
381 * @param {!WebInspector.Target} target 397 * @param {!WebInspector.Target} target
382 */ 398 */
383 targetRemoved: function(target) { }, 399 targetRemoved: function(target) { },
384 } 400 }
385 401
386 /** 402 /**
387 * @type {!WebInspector.TargetManager} 403 * @type {!WebInspector.TargetManager}
388 */ 404 */
389 WebInspector.targetManager = new WebInspector.TargetManager(); 405 WebInspector.targetManager = new WebInspector.TargetManager();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698