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

Unified Diff: Source/devtools/front_end/OverridesSupport.js

Issue 50043007: DevTools: check for canForceCompositingMode before trying to emulate device metrics. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 2 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/OverridesSupport.js
diff --git a/Source/devtools/front_end/OverridesSupport.js b/Source/devtools/front_end/OverridesSupport.js
index b4f5c643f3b61e36a99d54e531a36c10e6c37e0a..a6523f47c0409cca66541e023c02a25154eb4c26 100644
--- a/Source/devtools/front_end/OverridesSupport.js
+++ b/Source/devtools/front_end/OverridesSupport.js
@@ -29,11 +29,13 @@
*/
/**
+ * @extends {WebInspector.Object}
pfeldman 2013/10/31 17:45:31 We define @extends below @constructor
dgozman 2013/10/31 17:57:48 Done.
* @constructor
*/
WebInspector.OverridesSupport = function()
{
- this._updateAllOverrides();
+ this._canForceCompositingMode = true;
+ WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this.updateCanForceCompositingMode.bind(this), this);
WebInspector.settings.overrideUserAgent.addChangeListener(this._userAgentChanged, this);
WebInspector.settings.userAgent.addChangeListener(this._userAgentChanged, this);
@@ -54,6 +56,10 @@ WebInspector.OverridesSupport = function()
WebInspector.settings.emulatedCSSMedia.addChangeListener(this._cssMediaChanged, this);
}
+WebInspector.OverridesSupport.Events = {
+ CanForceCompositingModeChanged: "CanForceCompositingModeChanged",
+}
+
/**
* @constructor
* @param {number} width
@@ -400,7 +406,8 @@ WebInspector.OverridesSupport.prototype = {
{
WebInspector.settings.deviceMetrics.set(deviceMetrics);
WebInspector.settings.userAgent.set(userAgent);
- WebInspector.settings.overrideDeviceMetrics.set(true);
+ if (this._canForceCompositingMode)
+ WebInspector.settings.overrideDeviceMetrics.set(true);
WebInspector.settings.overrideUserAgent.set(true);
WebInspector.settings.emulateTouchEvents.set(true);
},
@@ -415,10 +422,13 @@ WebInspector.OverridesSupport.prototype = {
WebInspector.settings.overrideCSSMedia.set(false);
},
- _updateAllOverrides: function()
+ applyInitialOverrides: function()
{
this._userAgentChanged();
- this._deviceMetricsChanged();
+ if (WebInspector.settings.overrideDeviceMetrics.get())
+ this.updateCanForceCompositingMode(this._deviceMetricsChanged.bind(this));
+ else
+ this._deviceMetricsChanged();
this._deviceOrientationChanged();
this._geolocationPositionChanged();
this._emulateTouchEventsChanged();
@@ -488,7 +498,33 @@ WebInspector.OverridesSupport.prototype = {
WebInspector.settings.showEmulationViewInDrawer.set(true);
WebInspector.inspectorView.showViewInDrawer("emulation");
}
- }
+ },
+
+ updateCanForceCompositingMode: function(callback)
+ {
+ function apiCallback(error, result)
+ {
+ if (!error) {
+ if (!result && WebInspector.settings.overrideDeviceMetrics.get())
+ WebInspector.settings.overrideDeviceMetrics.set(false);
+
+ if (this._canForceCompositingMode !== result) {
+ this._canForceCompositingMode = result;
+ this.dispatchEventToListeners(WebInspector.OverridesSupport.Events.CanForceCompositingModeChanged);
+ }
+ }
+ if (callback)
+ callback();
+ }
+ PageAgent.canForceCompositingMode(apiCallback.bind(this));
+ },
+
+ canForceCompositingMode: function()
+ {
+ return this._canForceCompositingMode;
+ },
+
+ __proto__: WebInspector.Object.prototype
}

Powered by Google App Engine
This is Rietveld 408576698