Index: third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/Target.js b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
similarity index 63% |
copy from third_party/WebKit/Source/devtools/front_end/sdk/Target.js |
copy to third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
index ccb48e424692ea43737cd1ce7227e686e1f4d7f6..31ccefa23a798efc2fc69e21b174bcae4316b366 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sdk/Target.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
@@ -6,257 +6,6 @@ |
/** |
* @constructor |
- * @extends {Protocol.Agents} |
- * @param {!WebInspector.TargetManager} targetManager |
- * @param {string} name |
- * @param {number} type |
- * @param {!InspectorBackendClass.Connection} connection |
- * @param {?WebInspector.Target} parentTarget |
- */ |
-WebInspector.Target = function(targetManager, name, type, connection, parentTarget) |
-{ |
- Protocol.Agents.call(this, connection.agentsMap()); |
- this._targetManager = targetManager; |
- this._name = name; |
- this._type = type; |
- this._connection = connection; |
- this._parentTarget = parentTarget; |
- connection.addEventListener(InspectorBackendClass.Connection.Events.Disconnected, this._onDisconnect, this); |
- this._id = WebInspector.Target._nextId++; |
- |
- /** @type {!Map.<!Function, !WebInspector.SDKModel>} */ |
- this._modelByConstructor = new Map(); |
- |
- /** @type {!WebInspector.ConsoleModel} */ |
- this.consoleModel = new WebInspector.ConsoleModel(this); |
- /** @type {!WebInspector.NetworkManager} */ |
- this.networkManager = new WebInspector.NetworkManager(this); |
- /** @type {!WebInspector.ResourceTreeModel} */ |
- this.resourceTreeModel = new WebInspector.ResourceTreeModel(this); |
- /** @type {!WebInspector.NetworkLog} */ |
- this.networkLog = new WebInspector.NetworkLog(this); |
- |
- /** @type {!WebInspector.RuntimeModel} */ |
- this.runtimeModel = new WebInspector.RuntimeModel(this); |
- if (this.hasJSContext()) |
- new WebInspector.DebuggerModel(this); |
- |
- if (this._type === WebInspector.Target.Type.Page) { |
- new WebInspector.DOMModel(this); |
- new WebInspector.CSSModel(this); |
- } |
- |
- /** @type {?WebInspector.WorkerManager} */ |
- this.workerManager = !this.isDedicatedWorker() ? new WebInspector.WorkerManager(this) : null; |
- /** @type {!WebInspector.CPUProfilerModel} */ |
- this.cpuProfilerModel = new WebInspector.CPUProfilerModel(this); |
- /** @type {!WebInspector.HeapProfilerModel} */ |
- this.heapProfilerModel = new WebInspector.HeapProfilerModel(this); |
- |
- this.tracingManager = new WebInspector.TracingManager(this); |
- |
- if (this.isPage()) |
- this.serviceWorkerManager = new WebInspector.ServiceWorkerManager(this); |
-} |
- |
-/** |
- * @enum {number} |
- */ |
-WebInspector.Target.Type = { |
- Page: 1, |
- DedicatedWorker: 2, |
- ServiceWorker: 4 |
-} |
- |
-WebInspector.Target._nextId = 1; |
- |
-WebInspector.Target.prototype = { |
- /** |
- * @return {number} |
- */ |
- id: function() |
- { |
- return this._id; |
- }, |
- |
- /** |
- * |
- * @return {string} |
- */ |
- name: function() |
- { |
- return this._name; |
- }, |
- |
- /** |
- * |
- * @return {!WebInspector.TargetManager} |
- */ |
- targetManager: function() |
- { |
- return this._targetManager; |
- }, |
- |
- /** |
- * @param {string} label |
- * @return {string} |
- */ |
- decorateLabel: function(label) |
- { |
- return this.isWorker() ? "\u2699 " + label : label; |
- }, |
- |
- /** |
- * @override |
- * @param {string} domain |
- * @param {!Object} dispatcher |
- */ |
- registerDispatcher: function(domain, dispatcher) |
- { |
- this._connection.registerDispatcher(domain, dispatcher); |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- isPage: function() |
- { |
- return this._type === WebInspector.Target.Type.Page; |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- isWorker: function() |
- { |
- return this.isDedicatedWorker() || this.isServiceWorker(); |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- isDedicatedWorker: function() |
- { |
- return this._type === WebInspector.Target.Type.DedicatedWorker; |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- isServiceWorker: function() |
- { |
- return this._type === WebInspector.Target.Type.ServiceWorker; |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- hasJSContext: function() |
- { |
- return !this.isServiceWorker(); |
- }, |
- |
- /** |
- * @return {?WebInspector.Target} |
- */ |
- parentTarget: function() |
- { |
- return this._parentTarget; |
- }, |
- |
- _onDisconnect: function() |
- { |
- this._targetManager.removeTarget(this); |
- this._dispose(); |
- }, |
- |
- _dispose: function() |
- { |
- this._targetManager.dispatchEventToListeners(WebInspector.TargetManager.Events.TargetDisposed, this); |
- this.networkManager.dispose(); |
- this.cpuProfilerModel.dispose(); |
- WebInspector.ServiceWorkerCacheModel.fromTarget(this).dispose(); |
- if (this.workerManager) |
- this.workerManager.dispose(); |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- isDetached: function() |
- { |
- return this._connection.isClosed(); |
- }, |
- |
- /** |
- * @param {!Function} modelClass |
- * @return {?WebInspector.SDKModel} |
- */ |
- model: function(modelClass) |
- { |
- return this._modelByConstructor.get(modelClass) || null; |
- }, |
- |
- __proto__: Protocol.Agents.prototype |
-} |
- |
-/** |
- * @constructor |
- * @extends {WebInspector.Object} |
- * @param {!WebInspector.Target} target |
- */ |
-WebInspector.SDKObject = function(target) |
-{ |
- WebInspector.Object.call(this); |
- this._target = target; |
-} |
- |
-WebInspector.SDKObject.prototype = { |
- /** |
- * @return {!WebInspector.Target} |
- */ |
- target: function() |
- { |
- return this._target; |
- }, |
- |
- __proto__: WebInspector.Object.prototype |
-} |
- |
-/** |
- * @constructor |
- * @extends {WebInspector.SDKObject} |
- * @param {!Function} modelClass |
- * @param {!WebInspector.Target} target |
- */ |
-WebInspector.SDKModel = function(modelClass, target) |
-{ |
- WebInspector.SDKObject.call(this, target); |
- target._modelByConstructor.set(modelClass, this); |
-} |
- |
-WebInspector.SDKModel.prototype = { |
- /** |
- * @return {!Promise} |
- */ |
- suspendModel: function() |
- { |
- return Promise.resolve(); |
- }, |
- |
- /** |
- * @return {!Promise} |
- */ |
- resumeModel: function() |
- { |
- return Promise.resolve(); |
- }, |
- |
- __proto__: WebInspector.SDKObject.prototype |
-} |
- |
-/** |
- * @constructor |
* @extends {WebInspector.Object} |
*/ |
WebInspector.TargetManager = function() |
@@ -444,6 +193,38 @@ WebInspector.TargetManager.prototype = { |
createTarget: function(name, type, connection, parentTarget) |
{ |
var target = new WebInspector.Target(this, name, type, connection, parentTarget); |
+ |
+ /** @type {!WebInspector.ConsoleModel} */ |
+ target.consoleModel = new WebInspector.ConsoleModel(target); |
+ /** @type {!WebInspector.NetworkManager} */ |
+ target.networkManager = new WebInspector.NetworkManager(target); |
+ /** @type {!WebInspector.ResourceTreeModel} */ |
+ target.resourceTreeModel = new WebInspector.ResourceTreeModel(target); |
+ /** @type {!WebInspector.NetworkLog} */ |
+ target.networkLog = new WebInspector.NetworkLog(target); |
+ |
+ /** @type {!WebInspector.RuntimeModel} */ |
+ target.runtimeModel = new WebInspector.RuntimeModel(target); |
+ if (target.hasJSContext()) |
+ new WebInspector.DebuggerModel(target); |
+ |
+ if (target.type() === WebInspector.Target.Type.Page) { |
+ new WebInspector.DOMModel(target); |
+ new WebInspector.CSSModel(target); |
+ } |
+ |
+ /** @type {?WebInspector.WorkerManager} */ |
+ target.workerManager = !target.isDedicatedWorker() ? new WebInspector.WorkerManager(target) : null; |
+ /** @type {!WebInspector.CPUProfilerModel} */ |
+ target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target); |
+ /** @type {!WebInspector.HeapProfilerModel} */ |
+ target.heapProfilerModel = new WebInspector.HeapProfilerModel(target); |
+ |
+ target.tracingManager = new WebInspector.TracingManager(target); |
+ |
+ if (target.isPage()) |
+ target.serviceWorkerManager = new WebInspector.ServiceWorkerManager(target); |
+ |
this.addTarget(target); |
return target; |
}, |
@@ -475,14 +256,14 @@ WebInspector.TargetManager.prototype = { |
target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.PageReloadRequested, this._redispatchEvent, this); |
target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); |
} |
- var copy = this._observersByType(target._type); |
+ var copy = this._observersByType(target.type()); |
for (var i = 0; i < copy.length; ++i) |
copy[i].targetAdded(target); |
for (var eventType in this._modelListeners) { |
var listeners = this._modelListeners[eventType]; |
for (var i = 0; i < listeners.length; ++i) { |
- var model = target._modelByConstructor.get(listeners[i].modelClass); |
+ var model = target.model(listeners[i].modelClass); |
if (model) |
model.addEventListener(eventType, listeners[i].listener, listeners[i].thisObject); |
} |
@@ -501,14 +282,14 @@ WebInspector.TargetManager.prototype = { |
target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.Load, this._redispatchEvent, this); |
target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); |
} |
- var copy = this._observersByType(target._type); |
+ var copy = this._observersByType(target.type()); |
for (var i = 0; i < copy.length; ++i) |
copy[i].targetRemoved(target); |
for (var eventType in this._modelListeners) { |
var listeners = this._modelListeners[eventType]; |
for (var i = 0; i < listeners.length; ++i) { |
- var model = target._modelByConstructor.get(listeners[i].modelClass); |
+ var model = target.model(listeners[i].modelClass); |
if (model) |
model.removeEventListener(eventType, listeners[i].listener, listeners[i].thisObject); |
} |
@@ -535,7 +316,7 @@ WebInspector.TargetManager.prototype = { |
var result = []; |
for (var target of this._targets) { |
- if (target._type & type) |
+ if (target.type() & type) |
result.push(target); |
} |
return result; |