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

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: 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 261f037161bfd062a57b8c611b7b0049db53cc10..4e5e530c463bedb0699e27f25e989e5277b92b4e 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();
@@ -658,6 +667,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