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

Unified Diff: Source/devtools/front_end/main/RenderingOptions.js

Issue 385173007: DevTools: move UI components to target observers in preparation to early UI initialization. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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
« no previous file with comments | « Source/devtools/front_end/main/Main.js ('k') | Source/devtools/front_end/main/module.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/main/RenderingOptions.js
diff --git a/Source/devtools/front_end/elements/RenderingOptionsView.js b/Source/devtools/front_end/main/RenderingOptions.js
similarity index 60%
rename from Source/devtools/front_end/elements/RenderingOptionsView.js
rename to Source/devtools/front_end/main/RenderingOptions.js
index 6f785c344897ced57b9f94843f4f0661746c1d3c..5fd04befd96ae92454dce00d753b4133acd5b0a7 100644
--- a/Source/devtools/front_end/elements/RenderingOptionsView.js
+++ b/Source/devtools/front_end/main/RenderingOptions.js
@@ -30,9 +30,69 @@
/**
* @constructor
+ * @implements {WebInspector.TargetManager.Observer}
+ */
+WebInspector.RenderingOptions = function()
+{
+ /**
+ * @type {!Map.<!WebInspector.Setting, string>}
+ */
+ this._setterNames = new Map();
+ this._mapSettingToSetter(WebInspector.settings.showPaintRects, "setShowPaintRects");
+ this._mapSettingToSetter(WebInspector.settings.showDebugBorders, "setShowDebugBorders");
+ this._mapSettingToSetter(WebInspector.settings.showFPSCounter, "setShowFPSCounter");
+ this._mapSettingToSetter(WebInspector.settings.continuousPainting, "setContinuousPaintingEnabled");
+ this._mapSettingToSetter(WebInspector.settings.showScrollBottleneckRects, "setShowScrollBottleneckRects");
+
+ WebInspector.targetManager.observeTargets(this);
+}
+
+WebInspector.RenderingOptions.prototype = {
+ /**
+ * @param {!WebInspector.Target} target
+ */
+ targetAdded: function(target)
+ {
+ var settings = this._setterNames.keys();
+ for (var i = 0; i < settings.length; ++i) {
+ var setting = settings[i];
+ if (setting.get()) {
+ var setterName = this._setterNames.get(setting);
+ target.pageAgent()[setterName](true);
+ }
+ }
+ },
+
+ /**
+ * @param {!WebInspector.Target} target
+ */
+ targetRemoved: function(target)
+ {
+ },
+
+ /**
+ * @param {!WebInspector.Setting} setting
+ * @param {string} setterName
+ */
+ _mapSettingToSetter: function(setting, setterName)
+ {
+ this._setterNames.put(setting, setterName);
+ setting.addChangeListener(changeListener);
+
+ function changeListener()
+ {
+ var targets = WebInspector.targetManager.targets();
+ for (var i = 0; i < targets.length; ++i)
+ targets[i].pageAgent()[setterName](setting.get());
+ }
+ }
+}
+
+/**
+ * @constructor
* @extends {WebInspector.VBox}
*/
-WebInspector.RenderingOptionsView = function()
+WebInspector.RenderingOptions.View = function()
{
WebInspector.VBox.call(this);
this.registerRequiredCSS("helpScreen.css");
@@ -48,6 +108,6 @@ WebInspector.RenderingOptionsView = function()
div.appendChild(child);
}
-WebInspector.RenderingOptionsView.prototype = {
+WebInspector.RenderingOptions.View.prototype = {
__proto__: WebInspector.VBox.prototype
}
« no previous file with comments | « Source/devtools/front_end/main/Main.js ('k') | Source/devtools/front_end/main/module.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698