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

Side by Side Diff: ash/common/test/ash_test.cc

Issue 2391153002: Converts most of WorkspaceLayoutManager tests to use common code (Closed)
Patch Set: merge Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « ash/common/test/ash_test.h ('k') | ash/common/test/ash_test_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/common/test/ash_test.h" 5 #include "ash/common/test/ash_test.h"
6 6
7 #include "ash/common/test/ash_test_impl.h" 7 #include "ash/common/test/ash_test_impl.h"
8 #include "ash/common/wm_root_window_controller.h"
8 #include "ash/common/wm_shell.h" 9 #include "ash/common/wm_shell.h"
9 #include "ash/common/wm_window.h" 10 #include "ash/common/wm_window.h"
11 #include "ash/test/test_session_state_delegate.h"
12 #include "base/run_loop.h"
10 #include "ui/compositor/layer_type.h" 13 #include "ui/compositor/layer_type.h"
11 #include "ui/display/display.h" 14 #include "ui/display/display.h"
12 15
13 namespace ash { 16 namespace ash {
14 17
15 WindowOwner::WindowOwner(WmWindow* window) : window_(window) {} 18 WindowOwner::WindowOwner(WmWindow* window) : window_(window) {}
16 19
17 WindowOwner::~WindowOwner() { 20 WindowOwner::~WindowOwner() {
18 window_->Destroy(); 21 window_->Destroy();
19 } 22 }
20 23
21 AshTest::AshTest() : test_impl_(AshTestImpl::Create()) {} 24 AshTest::AshTest() : test_impl_(AshTestImpl::Create()) {}
22 25
23 AshTest::~AshTest() {} 26 AshTest::~AshTest() {}
24 27
28 // static
29 WmShelf* AshTest::GetPrimaryShelf() {
30 return WmShell::Get()
31 ->GetPrimaryRootWindow()
32 ->GetRootWindowController()
33 ->GetShelf();
34 }
35
25 bool AshTest::SupportsMultipleDisplays() const { 36 bool AshTest::SupportsMultipleDisplays() const {
26 return test_impl_->SupportsMultipleDisplays(); 37 return test_impl_->SupportsMultipleDisplays();
27 } 38 }
28 39
29 void AshTest::UpdateDisplay(const std::string& display_spec) { 40 void AshTest::UpdateDisplay(const std::string& display_spec) {
30 return test_impl_->UpdateDisplay(display_spec); 41 return test_impl_->UpdateDisplay(display_spec);
31 } 42 }
32 43
33 std::unique_ptr<WindowOwner> AshTest::CreateTestWindow(const gfx::Rect& bounds, 44 std::unique_ptr<WindowOwner> AshTest::CreateTestWindow(const gfx::Rect& bounds,
34 ui::wm::WindowType type, 45 ui::wm::WindowType type,
35 int shell_window_id) { 46 int shell_window_id) {
36 return test_impl_->CreateTestWindow(bounds, type, shell_window_id); 47 return test_impl_->CreateTestWindow(bounds, type, shell_window_id);
37 } 48 }
38 49
50 std::unique_ptr<WindowOwner> AshTest::CreateToplevelTestWindow(
51 const gfx::Rect& bounds_in_screen,
52 int shell_window_id) {
53 return test_impl_->CreateToplevelTestWindow(bounds_in_screen,
54 shell_window_id);
55 }
56
39 std::unique_ptr<WindowOwner> AshTest::CreateChildWindow(WmWindow* parent, 57 std::unique_ptr<WindowOwner> AshTest::CreateChildWindow(WmWindow* parent,
40 const gfx::Rect& bounds, 58 const gfx::Rect& bounds,
41 int shell_window_id) { 59 int shell_window_id) {
42 std::unique_ptr<WindowOwner> window_owner = 60 std::unique_ptr<WindowOwner> window_owner =
43 base::MakeUnique<WindowOwner>(WmShell::Get()->NewWindow( 61 base::MakeUnique<WindowOwner>(WmShell::Get()->NewWindow(
44 ui::wm::WINDOW_TYPE_NORMAL, ui::LAYER_NOT_DRAWN)); 62 ui::wm::WINDOW_TYPE_NORMAL, ui::LAYER_NOT_DRAWN));
45 window_owner->window()->SetBounds(bounds); 63 window_owner->window()->SetBounds(bounds);
46 window_owner->window()->SetShellWindowId(shell_window_id); 64 window_owner->window()->SetShellWindowId(shell_window_id);
47 parent->AddChild(window_owner->window()); 65 parent->AddChild(window_owner->window());
48 window_owner->window()->Show(); 66 window_owner->window()->Show();
49 return window_owner; 67 return window_owner;
50 } 68 }
51 69
52 display::Display AshTest::GetSecondaryDisplay() { 70 display::Display AshTest::GetSecondaryDisplay() {
53 return test_impl_->GetSecondaryDisplay(); 71 return test_impl_->GetSecondaryDisplay();
54 } 72 }
55 73
56 bool AshTest::SetSecondaryDisplayPlacement( 74 bool AshTest::SetSecondaryDisplayPlacement(
57 display::DisplayPlacement::Position position, 75 display::DisplayPlacement::Position position,
58 int offset) { 76 int offset) {
59 return test_impl_->SetSecondaryDisplayPlacement(position, offset); 77 return test_impl_->SetSecondaryDisplayPlacement(position, offset);
60 } 78 }
61 79
80 void AshTest::ConfigureWidgetInitParamsForDisplay(
81 WmWindow* window,
82 views::Widget::InitParams* init_params) {
83 test_impl_->ConfigureWidgetInitParamsForDisplay(window, init_params);
84 }
85
86 void AshTest::ParentWindowInPrimaryRootWindow(WmWindow* window) {
87 window->SetParentUsingContext(WmShell::Get()->GetPrimaryRootWindow(),
88 gfx::Rect());
89 }
90
91 void AshTest::AddTransientChild(WmWindow* parent, WmWindow* window) {
92 test_impl_->AddTransientChild(parent, window);
93 }
94
95 void AshTest::RunAllPendingInMessageLoop() {
96 base::RunLoop run_loop;
97 run_loop.RunUntilIdle();
98 }
99
62 void AshTest::SetUp() { 100 void AshTest::SetUp() {
63 test_impl_->SetUp(); 101 test_impl_->SetUp();
64 } 102 }
65 103
66 void AshTest::TearDown() { 104 void AshTest::TearDown() {
67 test_impl_->TearDown(); 105 test_impl_->TearDown();
68 } 106 }
69 107
70 } // namespace ash 108 } // namespace ash
OLDNEW
« no previous file with comments | « ash/common/test/ash_test.h ('k') | ash/common/test/ash_test_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698