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

Unified Diff: Source/devtools/front_end/sdk/Target.js

Issue 388963004: DevTools: get rid of the global capabilities set. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: For landing Created 6 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 side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/sdk/Target.js
diff --git a/Source/devtools/front_end/sdk/Target.js b/Source/devtools/front_end/sdk/Target.js
index 1f54070c8e7e2b5f545cc359a48b0108cd949a71..332f9e3b49d084fbc0c5aada2024b7b7806f0def 100644
--- a/Source/devtools/front_end/sdk/Target.js
+++ b/Source/devtools/front_end/sdk/Target.js
@@ -18,26 +18,30 @@ WebInspector.Target = function(name, connection, callback)
this._weakReference = new WeakReference(this);
this._name = name;
this._connection = connection;
- /** @type {boolean} */
- this.isMainFrontend = false;
this._id = WebInspector.Target._nextId++;
- /** @type {boolean} */
- this.canScreencast = false;
- this.pageAgent().canScreencast(this._initializeCapability.bind(this, "canScreencast", null));
-
- /** @type {boolean} */
- this.hasTouchInputs = false;
- this.pageAgent().hasTouchInputs(this._initializeCapability.bind(this, "hasTouchInputs", null));
+ /** @type {!Object.<string, boolean>} */
+ this._capabilities = {};
+ this.pageAgent().canScreencast(this._initializeCapability.bind(this, WebInspector.Target.Capabilities.canScreencast, null));
+ this.pageAgent().hasTouchInputs(this._initializeCapability.bind(this, WebInspector.Target.Capabilities.hasTouchInputs, null));
if (WebInspector.experimentsSettings.timelinePowerProfiler.isEnabled())
- this.powerAgent().canProfilePower(this._initializeCapability.bind(this, "canProfilePower", null));
-
- this.workerAgent().canInspectWorkers(this._initializeCapability.bind(this, "isMainFrontend", this._loadedWithCapabilities.bind(this, callback)));
+ this.powerAgent().canProfilePower(this._initializeCapability.bind(this, WebInspector.Target.Capabilities.canProfilePower, null));
+ this.workerAgent().canInspectWorkers(this._initializeCapability.bind(this, WebInspector.Target.Capabilities.canInspectWorkers, this._loadedWithCapabilities.bind(this, callback)));
/** @type {!WebInspector.Lock} */
this.profilingLock = new WebInspector.Lock();
}
+/**
+ * @enum {string}
+ */
+WebInspector.Target.Capabilities = {
+ canScreencast: "canScreencast",
+ hasTouchInputs: "hasTouchInputs",
+ canProfilePower: "canProfilePower",
+ canInspectWorkers: "canInspectWorkers"
+}
+
WebInspector.Target._nextId = 1;
WebInspector.Target.prototype = {
@@ -71,18 +75,25 @@ WebInspector.Target.prototype = {
* @param {string} name
* @param {function()|null} callback
* @param {?Protocol.Error} error
- * @param {*} result
+ * @param {boolean} result
*/
_initializeCapability: function(name, callback, error, result)
{
- this[name] = result;
- if (!Capabilities[name])
- Capabilities[name] = result;
+ this._capabilities[name] = result;
if (callback)
callback();
},
/**
+ * @param {string} capability
+ * @return {boolean}
+ */
+ hasCapability: function(capability)
+ {
+ return !!this._capabilities[capability];
+ },
+
+ /**
* @param {function(!WebInspector.Target)=} callback
*/
_loadedWithCapabilities: function(callback)
@@ -129,11 +140,11 @@ WebInspector.Target.prototype = {
WebInspector.cssModel = this.cssModel;
/** @type {!WebInspector.WorkerManager} */
- this.workerManager = new WebInspector.WorkerManager(this, this.isMainFrontend);
+ this.workerManager = new WebInspector.WorkerManager(this, this.hasCapability(WebInspector.Target.Capabilities.canInspectWorkers));
if (!WebInspector.workerManager)
WebInspector.workerManager = this.workerManager;
- if (this.canProfilePower)
+ if (this.hasCapability(WebInspector.Target.Capabilities.canProfilePower))
WebInspector.powerProfiler = new WebInspector.PowerProfiler();
/** @type {!WebInspector.TimelineManager} */
@@ -178,7 +189,7 @@ WebInspector.Target.prototype = {
*/
isWorkerTarget: function()
{
- return !this.isMainFrontend;
+ return !this.hasCapability(WebInspector.Target.Capabilities.canInspectWorkers);
},
/**
@@ -187,7 +198,7 @@ WebInspector.Target.prototype = {
isMobile: function()
{
// FIXME: either add a separate capability or rename canScreencast to isMobile.
- return this.canScreencast;
+ return this.hasCapability(WebInspector.Target.Capabilities.canScreencast);
},
dispose: function()
« no previous file with comments | « Source/devtools/front_end/sdk/OverridesSupport.js ('k') | Source/devtools/front_end/sources/SourcesPanel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698