| Index: ash/content/display/screen_orientation_delegate_chromeos.cc
|
| diff --git a/ash/content/display/screen_orientation_delegate_chromeos.cc b/ash/content/display/screen_orientation_delegate_chromeos.cc
|
| deleted file mode 100644
|
| index 892686470057c5708c69a7f0c3f39dee28bcb3ae..0000000000000000000000000000000000000000
|
| --- a/ash/content/display/screen_orientation_delegate_chromeos.cc
|
| +++ /dev/null
|
| @@ -1,180 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ash/content/display/screen_orientation_delegate_chromeos.h"
|
| -
|
| -#include "ash/ash_switches.h"
|
| -#include "ash/display/display_info.h"
|
| -#include "ash/display/display_manager.h"
|
| -#include "ash/shell.h"
|
| -#include "ash/wm/maximize_mode/maximize_mode_controller.h"
|
| -#include "base/command_line.h"
|
| -#include "content/public/browser/screen_orientation_provider.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "ui/aura/window.h"
|
| -#include "ui/gfx/display.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -
|
| -namespace {
|
| -
|
| -blink::WebScreenOrientationLockType GetDisplayNaturalOrientation() {
|
| - ash::DisplayManager* display_manager =
|
| - ash::Shell::GetInstance()->display_manager();
|
| - if (!display_manager->HasInternalDisplay())
|
| - return blink::WebScreenOrientationLockLandscape;
|
| -
|
| - ash::DisplayInfo info =
|
| - display_manager->GetDisplayInfo(gfx::Display::InternalDisplayId());
|
| - gfx::Size size = info.size_in_pixel();
|
| - switch (info.rotation()) {
|
| - case gfx::Display::ROTATE_0:
|
| - case gfx::Display::ROTATE_180:
|
| - return size.height() >= size.width()
|
| - ? blink::WebScreenOrientationLockPortrait
|
| - : blink::WebScreenOrientationLockLandscape;
|
| - case gfx::Display::ROTATE_90:
|
| - case gfx::Display::ROTATE_270:
|
| - return size.height() < size.width()
|
| - ? blink::WebScreenOrientationLockPortrait
|
| - : blink::WebScreenOrientationLockLandscape;
|
| - }
|
| - NOTREACHED();
|
| - return blink::WebScreenOrientationLockLandscape;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace ash {
|
| -
|
| -ScreenOrientationDelegate::ScreenOrientationDelegate()
|
| - : locking_window_(NULL),
|
| - natural_orientation_(GetDisplayNaturalOrientation()) {
|
| - content::ScreenOrientationProvider::SetDelegate(this);
|
| -}
|
| -
|
| -ScreenOrientationDelegate::~ScreenOrientationDelegate() {
|
| - content::ScreenOrientationProvider::SetDelegate(NULL);
|
| -}
|
| -
|
| -bool ScreenOrientationDelegate::FullScreenRequired(
|
| - content::WebContents* web_contents) {
|
| - return true;
|
| -}
|
| -
|
| -void ScreenOrientationDelegate::Lock(
|
| - content::WebContents* web_contents,
|
| - blink::WebScreenOrientationLockType lock_orientation) {
|
| - aura::Window* requesting_window = web_contents->GetNativeView();
|
| -
|
| - // TODO(jonross): Make ScreenOrientationDelegate responsible for rotation
|
| - // lock. Have MaximizeModeController, and TrayRotationLock both use it
|
| - // instead.
|
| - MaximizeModeController* controller =
|
| - Shell::GetInstance()->maximize_mode_controller();
|
| -
|
| - // TODO(jonross): Track one rotation lock per window. When the active window
|
| - // changes apply any corresponding rotation lock.
|
| - if (!locking_window_)
|
| - locking_window_ = requesting_window;
|
| - else if (requesting_window != locking_window_)
|
| - return;
|
| -
|
| - switch (lock_orientation) {
|
| - case blink::WebScreenOrientationLockAny:
|
| - controller->SetRotationLocked(false);
|
| - locking_window_ = NULL;
|
| - break;
|
| - case blink::WebScreenOrientationLockDefault:
|
| - NOTREACHED();
|
| - break;
|
| - case blink::WebScreenOrientationLockPortraitPrimary:
|
| - LockRotationToPrimaryOrientation(blink::WebScreenOrientationLockPortrait);
|
| - break;
|
| - case blink::WebScreenOrientationLockLandscape:
|
| - case blink::WebScreenOrientationLockPortrait:
|
| - LockToRotationMatchingOrientation(lock_orientation);
|
| - break;
|
| - case blink::WebScreenOrientationLockPortraitSecondary:
|
| - LockRotationToSecondaryOrientation(
|
| - blink::WebScreenOrientationLockPortrait);
|
| - break;
|
| - case blink::WebScreenOrientationLockLandscapeSecondary:
|
| - LockRotationToSecondaryOrientation(
|
| - blink::WebScreenOrientationLockLandscape);
|
| - break;
|
| - case blink::WebScreenOrientationLockLandscapePrimary:
|
| - LockRotationToPrimaryOrientation(
|
| - blink::WebScreenOrientationLockLandscape);
|
| - break;
|
| - case blink::WebScreenOrientationLockNatural:
|
| - controller->LockRotation(gfx::Display::ROTATE_0);
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - break;
|
| - }
|
| -}
|
| -
|
| -bool ScreenOrientationDelegate::ScreenOrientationProviderSupported() {
|
| - return Shell::GetInstance()
|
| - ->maximize_mode_controller()
|
| - ->IsMaximizeModeWindowManagerEnabled() &&
|
| - base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kAshEnableTouchViewTesting);
|
| -}
|
| -
|
| -void ScreenOrientationDelegate::Unlock(content::WebContents* web_contents) {
|
| - aura::Window* requesting_window = web_contents->GetNativeView();
|
| - if (requesting_window != locking_window_)
|
| - return;
|
| - locking_window_ = NULL;
|
| - Shell::GetInstance()->maximize_mode_controller()->SetRotationLocked(false);
|
| -}
|
| -
|
| -void ScreenOrientationDelegate::LockRotationToPrimaryOrientation(
|
| - blink::WebScreenOrientationLockType lock_orientation) {
|
| - Shell::GetInstance()->maximize_mode_controller()->LockRotation(
|
| - natural_orientation_ == lock_orientation ? gfx::Display::ROTATE_0
|
| - : gfx::Display::ROTATE_90);
|
| -}
|
| -
|
| -void ScreenOrientationDelegate::LockRotationToSecondaryOrientation(
|
| - blink::WebScreenOrientationLockType lock_orientation) {
|
| - Shell::GetInstance()->maximize_mode_controller()->LockRotation(
|
| - natural_orientation_ == lock_orientation ? gfx::Display::ROTATE_180
|
| - : gfx::Display::ROTATE_270);
|
| -}
|
| -
|
| -void ScreenOrientationDelegate::LockToRotationMatchingOrientation(
|
| - blink::WebScreenOrientationLockType lock_orientation) {
|
| - // TODO(jonross): Update MaximizeModeController to allow rotation between
|
| - // two angles of an orientation (e.g. from ROTATE_0 to ROTATE_180, and from
|
| - // ROTATE_90 to ROTATE_270)
|
| - DisplayManager* display_manager = Shell::GetInstance()->display_manager();
|
| - if (!display_manager->HasInternalDisplay())
|
| - return;
|
| -
|
| - gfx::Display::Rotation rotation =
|
| - display_manager->GetDisplayInfo(gfx::Display::InternalDisplayId())
|
| - .rotation();
|
| - MaximizeModeController* controller =
|
| - Shell::GetInstance()->maximize_mode_controller();
|
| - if (natural_orientation_ == lock_orientation) {
|
| - if (rotation == gfx::Display::ROTATE_0 ||
|
| - rotation == gfx::Display::ROTATE_180) {
|
| - controller->SetRotationLocked(true);
|
| - } else {
|
| - controller->LockRotation(gfx::Display::ROTATE_0);
|
| - }
|
| - } else {
|
| - if (rotation == gfx::Display::ROTATE_90 ||
|
| - rotation == gfx::Display::ROTATE_270) {
|
| - controller->SetRotationLocked(true);
|
| - } else {
|
| - controller->LockRotation(gfx::Display::ROTATE_90);
|
| - }
|
| - }
|
| -}
|
| -
|
| -} // namespace ash
|
|
|