Index: Source/devtools/front_end/emulation/OverridesSupport.js |
diff --git a/Source/devtools/front_end/emulation/OverridesSupport.js b/Source/devtools/front_end/emulation/OverridesSupport.js |
index 52869577d6338d9fd9b35fc93a4ed19832414e80..74c9041933e309ea5c7e2e28ff1a6f94cabd5c91 100644 |
--- a/Source/devtools/front_end/emulation/OverridesSupport.js |
+++ b/Source/devtools/front_end/emulation/OverridesSupport.js |
@@ -63,6 +63,8 @@ WebInspector.OverridesSupport = function() |
this.settings.overrideDeviceOrientation = WebInspector.settings.createSetting("overrideDeviceOrientation", false); |
this.settings.deviceOrientationOverride = WebInspector.settings.createSetting("deviceOrientationOverride", ""); |
+ this.settings.screenOrientationOverride = WebInspector.settings.createSetting("screenOrientationOverride", ""); |
+ |
this.settings.overrideCSSMedia = WebInspector.settings.createSetting("overrideCSSMedia", false); |
this.settings.emulatedCSSMedia = WebInspector.settings.createSetting("emulatedCSSMedia", "print"); |
@@ -387,6 +389,7 @@ WebInspector.OverridesSupport.prototype = { |
this.settings.emulateTouch.set(false); |
this.settings.emulateMobile.set(false); |
this.settings.overrideDeviceOrientation.set(false); |
+ this.settings.screenOrientationOverride.set(""); |
this.settings.overrideGeolocation.set(false); |
this.settings.overrideCSSMedia.set(false); |
delete this._deviceMetricsChangedListenerMuted; |
@@ -444,6 +447,9 @@ WebInspector.OverridesSupport.prototype = { |
this.settings.overrideDeviceOrientation.addChangeListener(this._deviceOrientationChanged, this); |
this.settings.deviceOrientationOverride.addChangeListener(this._deviceOrientationChanged, this); |
+ this.settings._emulationEnabled.addChangeListener(this._screenOrientationChanged, this); |
+ this.settings.screenOrientationOverride.addChangeListener(this._screenOrientationChanged, this); |
+ |
this.settings._emulationEnabled.addChangeListener(this._emulateTouchEventsChanged, this); |
this.settings.emulateTouch.addChangeListener(this._emulateTouchEventsChanged, this); |
@@ -462,6 +468,9 @@ WebInspector.OverridesSupport.prototype = { |
if (this.settings.overrideDeviceOrientation.get()) |
this._deviceOrientationChanged(); |
+ if (this.settings.screenOrientationOverride.get()) |
+ this._screenOrientationChanged(); |
+ |
if (this.settings.overrideGeolocation.get()) |
this._geolocationPositionChanged(); |
@@ -667,6 +676,17 @@ WebInspector.OverridesSupport.prototype = { |
this._target.deviceOrientationAgent().setDeviceOrientationOverride(deviceOrientation.alpha, deviceOrientation.beta, deviceOrientation.gamma); |
}, |
+ _screenOrientationChanged: function() |
+ { |
+ if (!this.emulationEnabled() || !this.settings.screenOrientationOverride.get()) { |
+ this._target.screenOrientationAgent().clearScreenOrientationOverride(); |
+ return; |
+ } |
+ |
+ var screenOrientation = this.settings.screenOrientationOverride.get(); |
+ this._target.screenOrientationAgent().setScreenOrientationOverride(screenOrientation === "landscapePrimary" ? 90 : 0, screenOrientation); |
+ }, |
+ |
_emulateTouchEventsChanged: function() |
{ |
var emulationEnabled = this.emulationEnabled() && this.settings.emulateTouch.get() && !this._touchEmulationSuspended; |