| Index: Source/modules/screen_orientation/ScreenOrientationController.cpp
|
| diff --git a/Source/modules/screen_orientation/ScreenOrientationController.cpp b/Source/modules/screen_orientation/ScreenOrientationController.cpp
|
| index abaec2ce42197dc283aecc164518e0843b99b098..0820474f073e7db10f66ec4a4058887cf10b4a33 100644
|
| --- a/Source/modules/screen_orientation/ScreenOrientationController.cpp
|
| +++ b/Source/modules/screen_orientation/ScreenOrientationController.cpp
|
| @@ -41,9 +41,6 @@
|
| , PlatformEventController(frame.page())
|
| , m_client(client)
|
| , m_dispatchEventTimer(this, &ScreenOrientationController::dispatchEventTimerFired)
|
| - , m_override(false)
|
| - , m_overrideType(WebScreenOrientationUndefined)
|
| - , m_overrideAngle(0)
|
| {
|
| }
|
|
|
| @@ -53,7 +50,7 @@
|
| }
|
|
|
| // Compute the screen orientation using the orientation angle and the screen width / height.
|
| -WebScreenOrientationType ScreenOrientationController::computeOrientation(const IntRect& rect, uint16_t rotation)
|
| +WebScreenOrientationType ScreenOrientationController::computeOrientation(ChromeClient& chromeClient)
|
| {
|
| // Bypass orientation detection in layout tests to get consistent results.
|
| // FIXME: The screen dimension should be fixed when running the layout tests to avoid such
|
| @@ -61,6 +58,8 @@
|
| if (LayoutTestSupport::isRunningLayoutTest())
|
| return WebScreenOrientationPortraitPrimary;
|
|
|
| + IntRect rect = chromeClient.screenInfo().rect;
|
| + uint16_t rotation = chromeClient.screenInfo().orientationAngle;
|
| bool isTallDisplay = rotation % 180 ? rect.height() < rect.width() : rect.height() > rect.width();
|
| switch (rotation) {
|
| case 0:
|
| @@ -77,16 +76,6 @@
|
| }
|
| }
|
|
|
| -unsigned short ScreenOrientationController::effectiveAngle(ChromeClient& chromeClient)
|
| -{
|
| - return m_override ? m_overrideAngle : chromeClient.screenInfo().orientationAngle;
|
| -}
|
| -
|
| -WebScreenOrientationType ScreenOrientationController::effectiveType(ChromeClient& chromeClient)
|
| -{
|
| - return m_override ? m_overrideType : chromeClient.screenInfo().orientationType;
|
| -}
|
| -
|
| void ScreenOrientationController::updateOrientation()
|
| {
|
| ASSERT(m_orientation);
|
| @@ -94,15 +83,15 @@
|
| ASSERT(frame()->host());
|
|
|
| ChromeClient& chromeClient = frame()->host()->chromeClient();
|
| - WebScreenOrientationType orientationType = effectiveType(chromeClient);
|
| + WebScreenOrientationType orientationType = chromeClient.screenInfo().orientationType;
|
| if (orientationType == WebScreenOrientationUndefined) {
|
| // The embedder could not provide us with an orientation, deduce it ourselves.
|
| - orientationType = computeOrientation(chromeClient.screenInfo().rect, effectiveAngle(chromeClient));
|
| + orientationType = computeOrientation(chromeClient);
|
| }
|
| ASSERT(orientationType != WebScreenOrientationUndefined);
|
|
|
| m_orientation->setType(orientationType);
|
| - m_orientation->setAngle(effectiveAngle(chromeClient));
|
| + m_orientation->setAngle(chromeClient.screenInfo().orientationAngle);
|
| }
|
|
|
| bool ScreenOrientationController::isActiveAndVisible() const
|
| @@ -119,7 +108,7 @@
|
|
|
| // The orientation type and angle are tied in a way that if the angle has
|
| // changed, the type must have changed.
|
| - unsigned short currentAngle = effectiveAngle(frame()->host()->chromeClient());
|
| + unsigned short currentAngle = frame()->host()->chromeClient().screenInfo().orientationAngle;
|
|
|
| // FIXME: sendOrientationChangeEvent() currently send an event all the
|
| // children of the frame, so it should only be called on the frame on
|
| @@ -183,20 +172,6 @@
|
| m_client->unlockOrientation();
|
| }
|
|
|
| -void ScreenOrientationController::setOverride(WebScreenOrientationType type, unsigned short angle)
|
| -{
|
| - m_override = true;
|
| - m_overrideType = type;
|
| - m_overrideAngle = angle;
|
| - notifyOrientationChanged();
|
| -}
|
| -
|
| -void ScreenOrientationController::clearOverride()
|
| -{
|
| - m_override = false;
|
| - notifyOrientationChanged();
|
| -}
|
| -
|
| void ScreenOrientationController::dispatchEventTimerFired(Timer<ScreenOrientationController>*)
|
| {
|
| if (!m_orientation)
|
|
|