Chromium Code Reviews| 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 |
| } |