| 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 |