Index: ash/wm/lock_layout_manager_unittest.cc |
diff --git a/ash/wm/lock_layout_manager_unittest.cc b/ash/wm/lock_layout_manager_unittest.cc |
index 70984c49f9f1990b787b3b26c5e3ab01644fe36b..a51b26c024406863d2f9b294eaa8e3cb561d32eb 100644 |
--- a/ash/wm/lock_layout_manager_unittest.cc |
+++ b/ash/wm/lock_layout_manager_unittest.cc |
@@ -2,6 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "ash/display/display_manager.h" |
#include "ash/root_window_controller.h" |
#include "ash/screen_util.h" |
#include "ash/shell.h" |
@@ -187,7 +188,8 @@ TEST_F(LockLayoutManagerTest, MaximizedFullscreenWindowBoundsAreEqualToScreen) { |
} |
TEST_F(LockLayoutManagerTest, KeyboardBounds) { |
- gfx::Rect screen_bounds = Shell::GetScreen()->GetPrimaryDisplay().bounds(); |
+ gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); |
+ gfx::Rect screen_bounds = primary_display.bounds(); |
views::Widget::InitParams widget_params( |
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); |
@@ -203,7 +205,30 @@ TEST_F(LockLayoutManagerTest, KeyboardBounds) { |
keyboard::KEYBOARD_OVERSCROLL_OVERRIDE_ENABLED); |
ShowKeyboard(true); |
EXPECT_EQ(screen_bounds.ToString(), window->GetBoundsInScreen().ToString()); |
+ gfx::Rect keyboard_bounds = |
+ keyboard::KeyboardController::GetInstance()->current_keyboard_bounds(); |
+ EXPECT_NE(keyboard_bounds, gfx::Rect()); |
+ ShowKeyboard(false); |
+ |
+ // When keyboard is hidden make sure that rotating the screen gives 100% of |
+ // screen size to window. |
+ keyboard::SetKeyboardOverscrollOverride( |
+ keyboard::KEYBOARD_OVERSCROLL_OVERRIDE_DISABLED); |
+ ShowKeyboard(true); |
ShowKeyboard(false); |
oshima
2014/08/21 15:32:50
why turning on and off?
Nikita (slow)
2014/08/21 16:00:41
This is the way to reproduce this bug before the f
oshima
2014/08/21 16:32:39
Can you mention that this is to repro a bug (with
Nikita (slow)
2014/08/21 16:38:27
Done.
|
+ ash::DisplayManager* display_manager = |
+ Shell::GetInstance()->display_manager(); |
+ display_manager->SetDisplayRotation(primary_display.id(), |
+ gfx::Display::ROTATE_90); |
+ screen_bounds = primary_display.bounds(); |
oshima
2014/08/21 16:32:39
screen_bounds = Shell::GetScreen()->GetPrimaryDisp
Nikita (slow)
2014/08/21 16:38:27
Done.
|
+ |
+ // We can't rely on screen_bounds.ToString() here since rotation doesn't |
+ // affect how bounds are stored. |
oshima
2014/08/21 15:32:50
rotation should update the display bounds. Have yo
Nikita (slow)
2014/08/21 16:00:41
I'm getting updated screen bounds:
screen_bounds =
|
+ EXPECT_EQ(screen_bounds.origin(), window->GetBoundsInScreen().origin()); |
+ EXPECT_EQ(screen_bounds.width(), window->GetBoundsInScreen().height()); |
+ EXPECT_EQ(screen_bounds.height(), window->GetBoundsInScreen().width()); |
+ display_manager->SetDisplayRotation(primary_display.id(), |
+ gfx::Display::ROTATE_0); |
// When virtual keyboard overscroll is disabled keyboard bounds do |
// affect window bounds. |