OLD | NEW |
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 22 matching lines...) Expand all Loading... |
33 | 33 |
34 WebInspector.TargetManager.prototype = { | 34 WebInspector.TargetManager.prototype = { |
35 suspendAllTargets: function() | 35 suspendAllTargets: function() |
36 { | 36 { |
37 if (this._isSuspended) | 37 if (this._isSuspended) |
38 return; | 38 return; |
39 this._isSuspended = true; | 39 this._isSuspended = true; |
40 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS
tateChanged); | 40 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS
tateChanged); |
41 | 41 |
42 for (var i = 0; i < this._targets.length; ++i) { | 42 for (var i = 0; i < this._targets.length; ++i) { |
43 for (var model of this._targets[i]._modelByConstructor.values()) | 43 for (var model of this._targets[i].models()) |
44 model.suspendModel(); | 44 model.suspendModel(); |
45 } | 45 } |
46 }, | 46 }, |
47 | 47 |
48 /** | 48 /** |
49 * @return {!Promise} | 49 * @return {!Promise} |
50 */ | 50 */ |
51 resumeAllTargets: function() | 51 resumeAllTargets: function() |
52 { | 52 { |
53 if (!this._isSuspended) | 53 if (!this._isSuspended) |
54 throw new Error("Not suspended"); | 54 throw new Error("Not suspended"); |
55 this._isSuspended = false; | 55 this._isSuspended = false; |
56 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS
tateChanged); | 56 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS
tateChanged); |
57 | 57 |
58 var promises = []; | 58 var promises = []; |
59 for (var i = 0; i < this._targets.length; ++i) { | 59 for (var i = 0; i < this._targets.length; ++i) { |
60 for (var model of this._targets[i]._modelByConstructor.values()) | 60 for (var model of this._targets[i].models()) |
61 promises.push(model.resumeModel()); | 61 promises.push(model.resumeModel()); |
62 } | 62 } |
63 return Promise.all(promises); | 63 return Promise.all(promises); |
64 }, | 64 }, |
65 | 65 |
66 suspendAndResumeAllTargets: function() | 66 suspendAndResumeAllTargets: function() |
67 { | 67 { |
68 this.suspendAllTargets(); | 68 this.suspendAllTargets(); |
69 this.resumeAllTargets(); | 69 this.resumeAllTargets(); |
70 }, | 70 }, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 | 119 |
120 /** | 120 /** |
121 * @param {!Function} modelClass | 121 * @param {!Function} modelClass |
122 * @param {string} eventType | 122 * @param {string} eventType |
123 * @param {function(!WebInspector.Event)} listener | 123 * @param {function(!WebInspector.Event)} listener |
124 * @param {!Object=} thisObject | 124 * @param {!Object=} thisObject |
125 */ | 125 */ |
126 addModelListener: function(modelClass, eventType, listener, thisObject) | 126 addModelListener: function(modelClass, eventType, listener, thisObject) |
127 { | 127 { |
128 for (var i = 0; i < this._targets.length; ++i) { | 128 for (var i = 0; i < this._targets.length; ++i) { |
129 var model = this._targets[i]._modelByConstructor.get(modelClass); | 129 var model = this._targets[i].model(modelClass); |
130 if (model) | 130 if (model) |
131 model.addEventListener(eventType, listener, thisObject); | 131 model.addEventListener(eventType, listener, thisObject); |
132 } | 132 } |
133 if (!this._modelListeners[eventType]) | 133 if (!this._modelListeners[eventType]) |
134 this._modelListeners[eventType] = []; | 134 this._modelListeners[eventType] = []; |
135 this._modelListeners[eventType].push({ modelClass: modelClass, thisObjec
t: thisObject, listener: listener }); | 135 this._modelListeners[eventType].push({ modelClass: modelClass, thisObjec
t: thisObject, listener: listener }); |
136 }, | 136 }, |
137 | 137 |
138 /** | 138 /** |
139 * @param {!Function} modelClass | 139 * @param {!Function} modelClass |
140 * @param {string} eventType | 140 * @param {string} eventType |
141 * @param {function(!WebInspector.Event)} listener | 141 * @param {function(!WebInspector.Event)} listener |
142 * @param {!Object=} thisObject | 142 * @param {!Object=} thisObject |
143 */ | 143 */ |
144 removeModelListener: function(modelClass, eventType, listener, thisObject) | 144 removeModelListener: function(modelClass, eventType, listener, thisObject) |
145 { | 145 { |
146 if (!this._modelListeners[eventType]) | 146 if (!this._modelListeners[eventType]) |
147 return; | 147 return; |
148 | 148 |
149 for (var i = 0; i < this._targets.length; ++i) { | 149 for (var i = 0; i < this._targets.length; ++i) { |
150 var model = this._targets[i]._modelByConstructor.get(modelClass); | 150 var model = this._targets[i].model(modelClass); |
151 if (model) | 151 if (model) |
152 model.removeEventListener(eventType, listener, thisObject); | 152 model.removeEventListener(eventType, listener, thisObject); |
153 } | 153 } |
154 | 154 |
155 var listeners = this._modelListeners[eventType]; | 155 var listeners = this._modelListeners[eventType]; |
156 for (var i = 0; i < listeners.length; ++i) { | 156 for (var i = 0; i < listeners.length; ++i) { |
157 if (listeners[i].modelClass === modelClass && listeners[i].listener
=== listener && listeners[i].thisObject === thisObject) | 157 if (listeners[i].modelClass === modelClass && listeners[i].listener
=== listener && listeners[i].thisObject === thisObject) |
158 listeners.splice(i--, 1); | 158 listeners.splice(i--, 1); |
159 } | 159 } |
160 if (!listeners.length) | 160 if (!listeners.length) |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 /** | 376 /** |
377 * @param {!WebInspector.Target} target | 377 * @param {!WebInspector.Target} target |
378 */ | 378 */ |
379 targetRemoved: function(target) { }, | 379 targetRemoved: function(target) { }, |
380 } | 380 } |
381 | 381 |
382 /** | 382 /** |
383 * @type {!WebInspector.TargetManager} | 383 * @type {!WebInspector.TargetManager} |
384 */ | 384 */ |
385 WebInspector.targetManager = new WebInspector.TargetManager(); | 385 WebInspector.targetManager = new WebInspector.TargetManager(); |
OLD | NEW |