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

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

Issue 2186753002: [DevTools] Track URL through the target (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 */
11 WebInspector.TargetManager = function() 11 WebInspector.TargetManager = function()
12 { 12 {
13 WebInspector.Object.call(this); 13 WebInspector.Object.call(this);
14 /** @type {!Array.<!WebInspector.Target>} */ 14 /** @type {!Array.<!WebInspector.Target>} */
15 this._targets = []; 15 this._targets = [];
16 /** @type {!Array.<!WebInspector.TargetManager.Observer>} */ 16 /** @type {!Array.<!WebInspector.TargetManager.Observer>} */
17 this._observers = []; 17 this._observers = [];
18 this._observerCapabiliesMaskSymbol = Symbol("observerCapabilitiesMask"); 18 this._observerCapabiliesMaskSymbol = Symbol("observerCapabilitiesMask");
19 /** @type {!Object.<string, !Array.<{modelClass: !Function, thisObject: (!Ob ject|undefined), listener: function(!WebInspector.Event)}>>} */ 19 /** @type {!Object.<string, !Array.<{modelClass: !Function, thisObject: (!Ob ject|undefined), listener: function(!WebInspector.Event)}>>} */
20 this._modelListeners = {}; 20 this._modelListeners = {};
21 this._isSuspended = false; 21 this._isSuspended = false;
22 } 22 }
23 23
24 WebInspector.TargetManager.Events = { 24 WebInspector.TargetManager.Events = {
25 InspectedURLChanged: "InspectedURLChanged", 25 InspectedURLChanged: "InspectedURLChanged",
dgozman 2016/07/27 17:26:06 You stopped sending this event. Remove it? Did all
eostroukhov-old 2016/07/27 17:46:59 This event is still sent out by a setter in the ta
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.prototype = { 34 WebInspector.TargetManager.prototype = {
35 suspendAllTargets: function() 35 suspendAllTargets: function()
(...skipping 42 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 return this._targets[0].inspectedURL();
89 }, 89 },
90 90
91 /** 91 /**
92 * @return {string} 92 * @return {string}
93 */ 93 */
94 inspectedPageDomain: function() 94 inspectedPageDomain: function()
95 { 95 {
96 if (!this._targets.length) 96 if (!this._targets.length)
97 return ""; 97 return "";
98 98
99 return this._targets[0].resourceTreeModel.inspectedPageDomain(); 99 return this._targets[0].inspectedDomain();
100 }, 100 },
101 101
102 /** 102 /**
103 * @param {!WebInspector.Event} event 103 * @param {!WebInspector.Event} event
104 */ 104 */
105 _redispatchEvent: function(event) 105 _redispatchEvent: function(event)
106 { 106 {
107 this.dispatchEventToListeners(event.type, event.data); 107 this.dispatchEventToListeners(event.type, event.data);
108 }, 108 },
109 109
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); 243 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0));
244 }, 244 },
245 245
246 /** 246 /**
247 * @param {!WebInspector.Target} target 247 * @param {!WebInspector.Target} target
248 */ 248 */
249 addTarget: function(target) 249 addTarget: function(target)
250 { 250 {
251 this._targets.push(target); 251 this._targets.push(target);
252 if (this._targets.length === 1) { 252 if (this._targets.length === 1) {
253 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.InspectedURLChanged, this._redispatchEvent, this);
254 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 253 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this);
255 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); 254 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this);
256 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); 255 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this);
257 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); 256 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this);
258 } 257 }
259 var copy = this._observersForTarget(target); 258 var copy = this._observersForTarget(target);
260 for (var i = 0; i < copy.length; ++i) 259 for (var i = 0; i < copy.length; ++i)
261 copy[i].targetAdded(target); 260 copy[i].targetAdded(target);
262 261
263 for (var eventType in this._modelListeners) { 262 for (var eventType in this._modelListeners) {
264 var listeners = this._modelListeners[eventType]; 263 var listeners = this._modelListeners[eventType];
265 for (var i = 0; i < listeners.length; ++i) { 264 for (var i = 0; i < listeners.length; ++i) {
266 var model = target.model(listeners[i].modelClass); 265 var model = target.model(listeners[i].modelClass);
267 if (model) 266 if (model)
268 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); 267 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject);
269 } 268 }
270 } 269 }
271 }, 270 },
272 271
273 /** 272 /**
274 * @param {!WebInspector.Target} target 273 * @param {!WebInspector.Target} target
275 */ 274 */
276 removeTarget: function(target) 275 removeTarget: function(target)
277 { 276 {
278 this._targets.remove(target); 277 this._targets.remove(target);
279 if (this._targets.length === 0) { 278 if (this._targets.length === 0) {
280 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.InspectedURLChanged, this._redispatchEvent, this);
281 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); 279 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this);
282 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); 280 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this);
283 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); 281 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this);
284 } 282 }
285 var copy = this._observersForTarget(target); 283 var copy = this._observersForTarget(target);
286 for (var i = 0; i < copy.length; ++i) 284 for (var i = 0; i < copy.length; ++i)
287 copy[i].targetRemoved(target); 285 copy[i].targetRemoved(target);
288 286
289 for (var eventType in this._modelListeners) { 287 for (var eventType in this._modelListeners) {
290 var listeners = this._modelListeners[eventType]; 288 var listeners = this._modelListeners[eventType];
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 /** 347 /**
350 * @param {!WebInspector.Target} target 348 * @param {!WebInspector.Target} target
351 */ 349 */
352 targetRemoved: function(target) { }, 350 targetRemoved: function(target) { },
353 } 351 }
354 352
355 /** 353 /**
356 * @type {!WebInspector.TargetManager} 354 * @type {!WebInspector.TargetManager}
357 */ 355 */
358 WebInspector.targetManager = new WebInspector.TargetManager(); 356 WebInspector.targetManager = new WebInspector.TargetManager();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698