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

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

Issue 1801293003: DevTools: Extract TargetManager into its own file (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: only public interfaces for target properties Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698