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 "ui/wm/core/window_modality_controller.h" | 5 #include "ui/wm/core/window_modality_controller.h" |
6 | 6 |
7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
8 #include "ash/test/ash_test_base.h" | 8 #include "ash/test/ash_test_base.h" |
9 #include "ash/test/child_modal_window.h" | 9 #include "ash/test/child_modal_window.h" |
10 #include "ash/wm/window_util.h" | 10 #include "ash/wm/window_util.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); | 58 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); |
59 | 59 |
60 w12->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 60 w12->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |
61 ::wm::AddTransientChild(w1.get(), w12.get()); | 61 ::wm::AddTransientChild(w1.get(), w12.get()); |
62 wm::ActivateWindow(w12.get()); | 62 wm::ActivateWindow(w12.get()); |
63 EXPECT_TRUE(wm::IsActiveWindow(w12.get())); | 63 EXPECT_TRUE(wm::IsActiveWindow(w12.get())); |
64 | 64 |
65 wm::ActivateWindow(w11.get()); | 65 wm::ActivateWindow(w11.get()); |
66 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); | 66 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); |
67 | 67 |
68 int check1[] = { -1, -12, -11 }; | 68 int check1[] = {-1, -12, -11}; |
69 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); | 69 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); |
70 | 70 |
71 wm::ActivateWindow(w1.get()); | 71 wm::ActivateWindow(w1.get()); |
72 EXPECT_TRUE(wm::IsActiveWindow(w12.get())); | 72 EXPECT_TRUE(wm::IsActiveWindow(w12.get())); |
73 // Transient children are always stacked above their transient parent, which | 73 // Transient children are always stacked above their transient parent, which |
74 // is why this order is not -11, -1, -12. | 74 // is why this order is not -11, -1, -12. |
75 int check2[] = { -1, -11, -12 }; | 75 int check2[] = {-1, -11, -12}; |
76 EXPECT_TRUE(ValidateStacking(w1->parent(), check2, arraysize(check2))); | 76 EXPECT_TRUE(ValidateStacking(w1->parent(), check2, arraysize(check2))); |
77 | 77 |
78 w12.reset(); | 78 w12.reset(); |
79 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); | 79 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); |
80 w11.reset(); | 80 w11.reset(); |
81 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 81 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |
82 } | 82 } |
83 | 83 |
84 // Create two toplevel windows w1 and w2, and nest two modals w11 and w111 below | 84 // Create two toplevel windows w1 and w2, and nest two modals w11 and w111 below |
85 // w1. | 85 // w1. |
(...skipping 19 matching lines...) Expand all Loading... |
105 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 105 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |
106 wm::ActivateWindow(w2.get()); | 106 wm::ActivateWindow(w2.get()); |
107 EXPECT_TRUE(wm::IsActiveWindow(w2.get())); | 107 EXPECT_TRUE(wm::IsActiveWindow(w2.get())); |
108 | 108 |
109 // Set up modality. | 109 // Set up modality. |
110 w11->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 110 w11->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |
111 w111->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 111 w111->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |
112 | 112 |
113 wm::ActivateWindow(w1.get()); | 113 wm::ActivateWindow(w1.get()); |
114 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); | 114 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); |
115 int check1[] = { -2, -1, -11, -111 }; | 115 int check1[] = {-2, -1, -11, -111}; |
116 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); | 116 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); |
117 | 117 |
118 wm::ActivateWindow(w11.get()); | 118 wm::ActivateWindow(w11.get()); |
119 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); | 119 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); |
120 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); | 120 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); |
121 | 121 |
122 wm::ActivateWindow(w111.get()); | 122 wm::ActivateWindow(w111.get()); |
123 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); | 123 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); |
124 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); | 124 EXPECT_TRUE(ValidateStacking(w1->parent(), check1, arraysize(check1))); |
125 | 125 |
126 wm::ActivateWindow(w2.get()); | 126 wm::ActivateWindow(w2.get()); |
127 EXPECT_TRUE(wm::IsActiveWindow(w2.get())); | 127 EXPECT_TRUE(wm::IsActiveWindow(w2.get())); |
128 int check2[] = { -1, -11, -111, -2 }; | 128 int check2[] = {-1, -11, -111, -2}; |
129 EXPECT_TRUE(ValidateStacking(w1->parent(), check2, arraysize(check2))); | 129 EXPECT_TRUE(ValidateStacking(w1->parent(), check2, arraysize(check2))); |
130 | 130 |
131 w2.reset(); | 131 w2.reset(); |
132 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); | 132 EXPECT_TRUE(wm::IsActiveWindow(w111.get())); |
133 w111.reset(); | 133 w111.reset(); |
134 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); | 134 EXPECT_TRUE(wm::IsActiveWindow(w11.get())); |
135 w11.reset(); | 135 w11.reset(); |
136 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 136 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |
137 } | 137 } |
138 | 138 |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 ->GetGlobalCaptureWindow()); | 372 ->GetGlobalCaptureWindow()); |
373 w3->Show(); | 373 w3->Show(); |
374 EXPECT_EQ(w2.get(), | 374 EXPECT_EQ(w2.get(), |
375 aura::client::GetCaptureClient(Shell::GetPrimaryRootWindow()) | 375 aura::client::GetCaptureClient(Shell::GetPrimaryRootWindow()) |
376 ->GetGlobalCaptureWindow()); | 376 ->GetGlobalCaptureWindow()); |
377 } | 377 } |
378 | 378 |
379 class TouchTrackerWindowDelegate : public aura::test::TestWindowDelegate { | 379 class TouchTrackerWindowDelegate : public aura::test::TestWindowDelegate { |
380 public: | 380 public: |
381 TouchTrackerWindowDelegate() | 381 TouchTrackerWindowDelegate() |
382 : received_touch_(false), | 382 : received_touch_(false), last_event_type_(ui::ET_UNKNOWN) {} |
383 last_event_type_(ui::ET_UNKNOWN) { | |
384 } | |
385 ~TouchTrackerWindowDelegate() override {} | 383 ~TouchTrackerWindowDelegate() override {} |
386 | 384 |
387 void reset() { | 385 void reset() { |
388 received_touch_ = false; | 386 received_touch_ = false; |
389 last_event_type_ = ui::ET_UNKNOWN; | 387 last_event_type_ = ui::ET_UNKNOWN; |
390 } | 388 } |
391 | 389 |
392 bool received_touch() const { return received_touch_; } | 390 bool received_touch() const { return received_touch_; } |
393 ui::EventType last_event_type() const { return last_event_type_; } | 391 ui::EventType last_event_type() const { return last_event_type_; } |
394 | 392 |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 642 EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |
645 | 643 |
646 wm::ActivateWindow(w3.get()); | 644 wm::ActivateWindow(w3.get()); |
647 EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 645 EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |
648 | 646 |
649 wm::ActivateWindow(w4.get()); | 647 wm::ActivateWindow(w4.get()); |
650 EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 648 EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |
651 } | 649 } |
652 | 650 |
653 } // namespace ash | 651 } // namespace ash |
OLD | NEW |