OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/shelf/shelf_layout_manager.h" | 5 #include "ash/shelf/shelf_layout_manager.h" |
6 | 6 |
7 #include "ash/accelerators/accelerator_controller.h" | 7 #include "ash/accelerators/accelerator_controller.h" |
8 #include "ash/accelerators/accelerator_table.h" | 8 #include "ash/accelerators/accelerator_table.h" |
9 #include "ash/focus_cycler.h" | 9 #include "ash/focus_cycler.h" |
10 #include "ash/public/cpp/config.h" | 10 #include "ash/public/cpp/config.h" |
(...skipping 1797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1808 } | 1808 } |
1809 | 1809 |
1810 void InitKeyboardBounds() { | 1810 void InitKeyboardBounds() { |
1811 gfx::Rect work_area( | 1811 gfx::Rect work_area( |
1812 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); | 1812 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); |
1813 keyboard_bounds_.SetRect(work_area.x(), | 1813 keyboard_bounds_.SetRect(work_area.x(), |
1814 work_area.y() + work_area.height() / 2, | 1814 work_area.y() + work_area.height() / 2, |
1815 work_area.width(), work_area.height() / 2); | 1815 work_area.width(), work_area.height() / 2); |
1816 } | 1816 } |
1817 | 1817 |
1818 void EnableNewVKMode() { | |
1819 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | |
1820 if (!command_line->HasSwitch(::switches::kUseNewVirtualKeyboardBehavior)) | |
1821 command_line->AppendSwitch(::switches::kUseNewVirtualKeyboardBehavior); | |
1822 } | |
1823 | |
1824 const gfx::Rect& keyboard_bounds() const { return keyboard_bounds_; } | 1818 const gfx::Rect& keyboard_bounds() const { return keyboard_bounds_; } |
1825 | 1819 |
1826 private: | 1820 private: |
1827 gfx::Rect keyboard_bounds_; | 1821 gfx::Rect keyboard_bounds_; |
1828 | 1822 |
1829 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManagerKeyboardTest); | 1823 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManagerKeyboardTest); |
1830 }; | 1824 }; |
1831 | 1825 |
1832 TEST_F(ShelfLayoutManagerKeyboardTest, ShelfChangeWorkAreaInNonStickyMode) { | 1826 TEST_F(ShelfLayoutManagerKeyboardTest, ShelfChangeWorkAreaInNonStickyMode) { |
| 1827 // Append the flag to cause work area change in non-sticky mode. |
| 1828 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| 1829 command_line->AppendSwitch(::switches::kDisableNewVirtualKeyboardBehavior); |
| 1830 |
1833 ShelfLayoutManager* layout_manager = GetShelfLayoutManager(); | 1831 ShelfLayoutManager* layout_manager = GetShelfLayoutManager(); |
1834 keyboard::SetAccessibilityKeyboardEnabled(true); | 1832 keyboard::SetAccessibilityKeyboardEnabled(true); |
1835 InitKeyboardBounds(); | 1833 InitKeyboardBounds(); |
1836 Shell::Get()->CreateKeyboard(); | 1834 Shell::Get()->CreateKeyboard(); |
1837 keyboard::KeyboardController* kb_controller = | 1835 keyboard::KeyboardController* kb_controller = |
1838 keyboard::KeyboardController::GetInstance(); | 1836 keyboard::KeyboardController::GetInstance(); |
1839 gfx::Rect orig_work_area( | 1837 gfx::Rect orig_work_area( |
1840 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); | 1838 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); |
1841 | 1839 |
1842 // Open keyboard in non-sticky mode. | 1840 // Open keyboard in non-sticky mode. |
(...skipping 16 matching lines...) Expand all Loading... |
1859 | 1857 |
1860 // Work area should be changed. | 1858 // Work area should be changed. |
1861 EXPECT_NE(orig_work_area, | 1859 EXPECT_NE(orig_work_area, |
1862 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); | 1860 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); |
1863 } | 1861 } |
1864 | 1862 |
1865 // When kAshUseNewVKWindowBehavior flag enabled, do not change accessibility | 1863 // When kAshUseNewVKWindowBehavior flag enabled, do not change accessibility |
1866 // keyboard work area in non-sticky mode. | 1864 // keyboard work area in non-sticky mode. |
1867 TEST_F(ShelfLayoutManagerKeyboardTest, | 1865 TEST_F(ShelfLayoutManagerKeyboardTest, |
1868 ShelfIgnoreWorkAreaChangeInNonStickyMode) { | 1866 ShelfIgnoreWorkAreaChangeInNonStickyMode) { |
1869 // Append flag to ignore work area change in non-sticky mode. | |
1870 EnableNewVKMode(); | |
1871 | |
1872 ShelfLayoutManager* layout_manager = GetShelfLayoutManager(); | 1867 ShelfLayoutManager* layout_manager = GetShelfLayoutManager(); |
1873 InitKeyboardBounds(); | 1868 InitKeyboardBounds(); |
1874 Shell::Get()->CreateKeyboard(); | 1869 Shell::Get()->CreateKeyboard(); |
1875 keyboard::KeyboardController* kb_controller = | 1870 keyboard::KeyboardController* kb_controller = |
1876 keyboard::KeyboardController::GetInstance(); | 1871 keyboard::KeyboardController::GetInstance(); |
1877 gfx::Rect orig_work_area( | 1872 gfx::Rect orig_work_area( |
1878 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); | 1873 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); |
1879 | 1874 |
1880 // Open keyboard in non-sticky mode. | 1875 // Open keyboard in non-sticky mode. |
1881 kb_controller->ShowKeyboard(false); | 1876 kb_controller->ShowKeyboard(false); |
(...skipping 12 matching lines...) Expand all Loading... |
1894 // Open keyboard in sticky mode. | 1889 // Open keyboard in sticky mode. |
1895 kb_controller->ShowKeyboard(true); | 1890 kb_controller->ShowKeyboard(true); |
1896 layout_manager->OnKeyboardBoundsChanging(keyboard_bounds()); | 1891 layout_manager->OnKeyboardBoundsChanging(keyboard_bounds()); |
1897 | 1892 |
1898 // Work area should be changed. | 1893 // Work area should be changed. |
1899 EXPECT_NE(orig_work_area, | 1894 EXPECT_NE(orig_work_area, |
1900 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); | 1895 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); |
1901 } | 1896 } |
1902 | 1897 |
1903 } // namespace ash | 1898 } // namespace ash |
OLD | NEW |