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

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

Issue 1195793008: [DevTools] Implement screen orientation override. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Restore test Created 5 years, 6 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/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;

Powered by Google App Engine
This is Rietveld 408576698