| 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/wm/window_util.h" |    9 #include "ash/wm/window_util.h" | 
|   10 #include "ui/aura/client/aura_constants.h" |   10 #include "ui/aura/client/aura_constants.h" | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   44 // - closing a window passes focus up the stack. |   44 // - closing a window passes focus up the stack. | 
|   45 TEST_F(WindowModalityControllerTest, BasicActivation) { |   45 TEST_F(WindowModalityControllerTest, BasicActivation) { | 
|   46   aura::test::TestWindowDelegate d; |   46   aura::test::TestWindowDelegate d; | 
|   47   scoped_ptr<aura::Window> w1( |   47   scoped_ptr<aura::Window> w1( | 
|   48       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); |   48       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); | 
|   49   scoped_ptr<aura::Window> w11( |   49   scoped_ptr<aura::Window> w11( | 
|   50       CreateTestWindowInShellWithDelegate(&d, -11, gfx::Rect())); |   50       CreateTestWindowInShellWithDelegate(&d, -11, gfx::Rect())); | 
|   51   scoped_ptr<aura::Window> w12( |   51   scoped_ptr<aura::Window> w12( | 
|   52       CreateTestWindowInShellWithDelegate(&d, -12, gfx::Rect())); |   52       CreateTestWindowInShellWithDelegate(&d, -12, gfx::Rect())); | 
|   53  |   53  | 
|   54   views::corewm::AddTransientChild(w1.get(), w11.get()); |   54   ::wm::AddTransientChild(w1.get(), w11.get()); | 
|   55   wm::ActivateWindow(w1.get()); |   55   wm::ActivateWindow(w1.get()); | 
|   56   EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |   56   EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 
|   57   wm::ActivateWindow(w11.get()); |   57   wm::ActivateWindow(w11.get()); | 
|   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   views::corewm::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()); | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
|   91   aura::test::TestWindowDelegate d; |   91   aura::test::TestWindowDelegate d; | 
|   92   scoped_ptr<aura::Window> w1( |   92   scoped_ptr<aura::Window> w1( | 
|   93       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); |   93       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); | 
|   94   scoped_ptr<aura::Window> w11( |   94   scoped_ptr<aura::Window> w11( | 
|   95       CreateTestWindowInShellWithDelegate(&d, -11, gfx::Rect())); |   95       CreateTestWindowInShellWithDelegate(&d, -11, gfx::Rect())); | 
|   96   scoped_ptr<aura::Window> w111( |   96   scoped_ptr<aura::Window> w111( | 
|   97       CreateTestWindowInShellWithDelegate(&d, -111, gfx::Rect())); |   97       CreateTestWindowInShellWithDelegate(&d, -111, gfx::Rect())); | 
|   98   scoped_ptr<aura::Window> w2( |   98   scoped_ptr<aura::Window> w2( | 
|   99       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); |   99       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); | 
|  100  |  100  | 
|  101   views::corewm::AddTransientChild(w1.get(), w11.get()); |  101   ::wm::AddTransientChild(w1.get(), w11.get()); | 
|  102   views::corewm::AddTransientChild(w11.get(), w111.get()); |  102   ::wm::AddTransientChild(w11.get(), w111.get()); | 
|  103  |  103  | 
|  104   wm::ActivateWindow(w1.get()); |  104   wm::ActivateWindow(w1.get()); | 
|  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  | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  145   scoped_ptr<aura::Window> w1( |  145   scoped_ptr<aura::Window> w1( | 
|  146       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); |  146       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); | 
|  147   scoped_ptr<aura::Window> w11( |  147   scoped_ptr<aura::Window> w11( | 
|  148       CreateTestWindowInShellWithDelegate(&d, -11, gfx::Rect())); |  148       CreateTestWindowInShellWithDelegate(&d, -11, gfx::Rect())); | 
|  149   // |w111| will be owned and deleted by |w11|. |  149   // |w111| will be owned and deleted by |w11|. | 
|  150   aura::Window* w111 = |  150   aura::Window* w111 = | 
|  151       CreateTestWindowInShellWithDelegate(&d, -111, gfx::Rect()); |  151       CreateTestWindowInShellWithDelegate(&d, -111, gfx::Rect()); | 
|  152   scoped_ptr<aura::Window> w2( |  152   scoped_ptr<aura::Window> w2( | 
|  153       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); |  153       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); | 
|  154  |  154  | 
|  155   views::corewm::AddTransientChild(w1.get(), w11.get()); |  155   ::wm::AddTransientChild(w1.get(), w11.get()); | 
|  156   views::corewm::AddTransientChild(w11.get(), w111); |  156   ::wm::AddTransientChild(w11.get(), w111); | 
|  157  |  157  | 
|  158   wm::ActivateWindow(w1.get()); |  158   wm::ActivateWindow(w1.get()); | 
|  159   EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |  159   EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 
|  160   wm::ActivateWindow(w2.get()); |  160   wm::ActivateWindow(w2.get()); | 
|  161   EXPECT_TRUE(wm::IsActiveWindow(w2.get())); |  161   EXPECT_TRUE(wm::IsActiveWindow(w2.get())); | 
|  162  |  162  | 
|  163   // Set up modality. |  163   // Set up modality. | 
|  164   w11->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |  164   w11->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 
|  165   w111->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |  165   w111->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 
|  166  |  166  | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
|  179 } |  179 } | 
|  180  |  180  | 
|  181 // Modality also prevents events from being passed to the transient parent. |  181 // Modality also prevents events from being passed to the transient parent. | 
|  182 TEST_F(WindowModalityControllerTest, Events) { |  182 TEST_F(WindowModalityControllerTest, Events) { | 
|  183   aura::test::TestWindowDelegate d; |  183   aura::test::TestWindowDelegate d; | 
|  184   scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithDelegate(&d, -1, |  184   scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithDelegate(&d, -1, | 
|  185       gfx::Rect(0, 0, 100, 100))); |  185       gfx::Rect(0, 0, 100, 100))); | 
|  186   scoped_ptr<aura::Window> w11(CreateTestWindowInShellWithDelegate(&d, -11, |  186   scoped_ptr<aura::Window> w11(CreateTestWindowInShellWithDelegate(&d, -11, | 
|  187       gfx::Rect(20, 20, 50, 50))); |  187       gfx::Rect(20, 20, 50, 50))); | 
|  188  |  188  | 
|  189   views::corewm::AddTransientChild(w1.get(), w11.get()); |  189   ::wm::AddTransientChild(w1.get(), w11.get()); | 
|  190  |  190  | 
|  191   { |  191   { | 
|  192     // Clicking a point within w1 should activate that window. |  192     // Clicking a point within w1 should activate that window. | 
|  193     aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), |  193     aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), | 
|  194                                          gfx::Point(10, 10)); |  194                                          gfx::Point(10, 10)); | 
|  195     generator.ClickLeftButton(); |  195     generator.ClickLeftButton(); | 
|  196     EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |  196     EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 
|  197   } |  197   } | 
|  198  |  198  | 
|  199   w11->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |  199   w11->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
|  214   aura::test::TestWindowDelegate d; |  214   aura::test::TestWindowDelegate d; | 
|  215   scoped_ptr<aura::Window> w1( |  215   scoped_ptr<aura::Window> w1( | 
|  216       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); |  216       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); | 
|  217   scoped_ptr<aura::Window> w11( |  217   scoped_ptr<aura::Window> w11( | 
|  218       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w1.get())); |  218       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w1.get())); | 
|  219   scoped_ptr<aura::Window> w2( |  219   scoped_ptr<aura::Window> w2( | 
|  220       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); |  220       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); | 
|  221   w2->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |  221   w2->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 
|  222  |  222  | 
|  223   aura::Window* wt; |  223   aura::Window* wt; | 
|  224   wt = views::corewm::GetModalTransient(w1.get()); |  224   wt = ::wm::GetModalTransient(w1.get()); | 
|  225   ASSERT_EQ(static_cast<aura::Window*>(NULL), wt); |  225   ASSERT_EQ(static_cast<aura::Window*>(NULL), wt); | 
|  226  |  226  | 
|  227   // Parent w2 to w1. It should get parented to the parent of w1. |  227   // Parent w2 to w1. It should get parented to the parent of w1. | 
|  228   views::corewm::AddTransientChild(w1.get(), w2.get()); |  228   ::wm::AddTransientChild(w1.get(), w2.get()); | 
|  229   ASSERT_EQ(2U, w1->parent()->children().size()); |  229   ASSERT_EQ(2U, w1->parent()->children().size()); | 
|  230   EXPECT_EQ(-2, w1->parent()->children().at(1)->id()); |  230   EXPECT_EQ(-2, w1->parent()->children().at(1)->id()); | 
|  231  |  231  | 
|  232   // Request the modal transient window for w1, it should be w2. |  232   // Request the modal transient window for w1, it should be w2. | 
|  233   wt = views::corewm::GetModalTransient(w1.get()); |  233   wt = ::wm::GetModalTransient(w1.get()); | 
|  234   ASSERT_NE(static_cast<aura::Window*>(NULL), wt); |  234   ASSERT_NE(static_cast<aura::Window*>(NULL), wt); | 
|  235   EXPECT_EQ(-2, wt->id()); |  235   EXPECT_EQ(-2, wt->id()); | 
|  236  |  236  | 
|  237   // Request the modal transient window for w11, it should also be w2. |  237   // Request the modal transient window for w11, it should also be w2. | 
|  238   wt = views::corewm::GetModalTransient(w11.get()); |  238   wt = ::wm::GetModalTransient(w11.get()); | 
|  239   ASSERT_NE(static_cast<aura::Window*>(NULL), wt); |  239   ASSERT_NE(static_cast<aura::Window*>(NULL), wt); | 
|  240   EXPECT_EQ(-2, wt->id()); |  240   EXPECT_EQ(-2, wt->id()); | 
|  241 } |  241 } | 
|  242  |  242  | 
|  243 // Verifies we generate a capture lost when showing a modal window. |  243 // Verifies we generate a capture lost when showing a modal window. | 
|  244 TEST_F(WindowModalityControllerTest, ChangeCapture) { |  244 TEST_F(WindowModalityControllerTest, ChangeCapture) { | 
|  245   views::Widget* widget = views::Widget::CreateWindowWithContext( |  245   views::Widget* widget = views::Widget::CreateWindowWithContext( | 
|  246       NULL, Shell::GetPrimaryRootWindow()); |  246       NULL, Shell::GetPrimaryRootWindow()); | 
|  247   scoped_ptr<aura::Window> widget_window(widget->GetNativeView()); |  247   scoped_ptr<aura::Window> widget_window(widget->GetNativeView()); | 
|  248   views::test::CaptureTrackingView* view = new views::test::CaptureTrackingView; |  248   views::test::CaptureTrackingView* view = new views::test::CaptureTrackingView; | 
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  320 TEST_F(WindowModalityControllerTest, TouchEvent) { |  320 TEST_F(WindowModalityControllerTest, TouchEvent) { | 
|  321   TouchTrackerWindowDelegate d1; |  321   TouchTrackerWindowDelegate d1; | 
|  322   scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithDelegate(&d1, |  322   scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithDelegate(&d1, | 
|  323       -1, gfx::Rect(0, 0, 100, 100))); |  323       -1, gfx::Rect(0, 0, 100, 100))); | 
|  324   TouchTrackerWindowDelegate d11; |  324   TouchTrackerWindowDelegate d11; | 
|  325   scoped_ptr<aura::Window> w11(CreateTestWindowInShellWithDelegate(&d11, |  325   scoped_ptr<aura::Window> w11(CreateTestWindowInShellWithDelegate(&d11, | 
|  326       -11, gfx::Rect(20, 20, 50, 50))); |  326       -11, gfx::Rect(20, 20, 50, 50))); | 
|  327   aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), |  327   aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), | 
|  328                                        gfx::Point(10, 10)); |  328                                        gfx::Point(10, 10)); | 
|  329  |  329  | 
|  330   views::corewm::AddTransientChild(w1.get(), w11.get()); |  330   ::wm::AddTransientChild(w1.get(), w11.get()); | 
|  331   d1.reset(); |  331   d1.reset(); | 
|  332   d11.reset(); |  332   d11.reset(); | 
|  333  |  333  | 
|  334   { |  334   { | 
|  335     // Clicking a point within w1 should activate that window. |  335     // Clicking a point within w1 should activate that window. | 
|  336     generator.PressMoveAndReleaseTouchTo(gfx::Point(10, 10)); |  336     generator.PressMoveAndReleaseTouchTo(gfx::Point(10, 10)); | 
|  337     EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |  337     EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 
|  338     EXPECT_TRUE(d1.received_touch()); |  338     EXPECT_TRUE(d1.received_touch()); | 
|  339     EXPECT_FALSE(d11.received_touch()); |  339     EXPECT_FALSE(d11.received_touch()); | 
|  340   } |  340   } | 
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  509   aura::test::TestWindowDelegate d; |  509   aura::test::TestWindowDelegate d; | 
|  510   scoped_ptr<aura::Window> w1( |  510   scoped_ptr<aura::Window> w1( | 
|  511       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); |  511       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); | 
|  512   scoped_ptr<aura::Window> w2( |  512   scoped_ptr<aura::Window> w2( | 
|  513       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w1.get())); |  513       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w1.get())); | 
|  514   scoped_ptr<aura::Window> w3( |  514   scoped_ptr<aura::Window> w3( | 
|  515       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w2.get())); |  515       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w2.get())); | 
|  516   scoped_ptr<aura::Window> w4( |  516   scoped_ptr<aura::Window> w4( | 
|  517       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); |  517       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); | 
|  518   w4->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); |  518   w4->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_WINDOW); | 
|  519   views::corewm::AddTransientChild(w1.get(), w4.get()); |  519   ::wm::AddTransientChild(w1.get(), w4.get()); | 
|  520  |  520  | 
|  521   wm::ActivateWindow(w1.get()); |  521   wm::ActivateWindow(w1.get()); | 
|  522   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  522   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  523  |  523  | 
|  524   wm::ActivateWindow(w2.get()); |  524   wm::ActivateWindow(w2.get()); | 
|  525   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  525   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  526  |  526  | 
|  527   wm::ActivateWindow(w3.get()); |  527   wm::ActivateWindow(w3.get()); | 
|  528   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  528   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  529  |  529  | 
|  530   wm::ActivateWindow(w4.get()); |  530   wm::ActivateWindow(w4.get()); | 
|  531   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  531   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  532 } |  532 } | 
|  533  |  533  | 
|  534 // Child-modal test for the case when the originally clicked window is an |  534 // Child-modal test for the case when the originally clicked window is an | 
|  535 // ancestor of the modal parent. |  535 // ancestor of the modal parent. | 
|  536 TEST_F(WindowModalityControllerTest, ChildModalAncestor) { |  536 TEST_F(WindowModalityControllerTest, ChildModalAncestor) { | 
|  537   aura::test::TestWindowDelegate d; |  537   aura::test::TestWindowDelegate d; | 
|  538   scoped_ptr<aura::Window> w1( |  538   scoped_ptr<aura::Window> w1( | 
|  539       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); |  539       CreateTestWindowInShellWithDelegate(&d, -1, gfx::Rect())); | 
|  540   scoped_ptr<aura::Window> w2( |  540   scoped_ptr<aura::Window> w2( | 
|  541       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w1.get())); |  541       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w1.get())); | 
|  542   scoped_ptr<aura::Window> w3( |  542   scoped_ptr<aura::Window> w3( | 
|  543       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w2.get())); |  543       aura::test::CreateTestWindowWithDelegate(&d, -11, gfx::Rect(), w2.get())); | 
|  544   scoped_ptr<aura::Window> w4( |  544   scoped_ptr<aura::Window> w4( | 
|  545       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); |  545       CreateTestWindowInShellWithDelegate(&d, -2, gfx::Rect())); | 
|  546   w4->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_CHILD); |  546   w4->SetProperty(aura::client::kModalKey, ui::MODAL_TYPE_CHILD); | 
|  547   views::corewm::SetModalParent(w4.get(), w2.get()); |  547   ::wm::SetModalParent(w4.get(), w2.get()); | 
|  548   views::corewm::AddTransientChild(w1.get(), w4.get()); |  548   ::wm::AddTransientChild(w1.get(), w4.get()); | 
|  549  |  549  | 
|  550   wm::ActivateWindow(w1.get()); |  550   wm::ActivateWindow(w1.get()); | 
|  551   EXPECT_TRUE(wm::IsActiveWindow(w1.get())); |  551   EXPECT_TRUE(wm::IsActiveWindow(w1.get())); | 
|  552  |  552  | 
|  553   wm::ActivateWindow(w2.get()); |  553   wm::ActivateWindow(w2.get()); | 
|  554   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  554   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  555  |  555  | 
|  556   wm::ActivateWindow(w3.get()); |  556   wm::ActivateWindow(w3.get()); | 
|  557   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  557   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  558  |  558  | 
|  559   wm::ActivateWindow(w4.get()); |  559   wm::ActivateWindow(w4.get()); | 
|  560   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); |  560   EXPECT_TRUE(wm::IsActiveWindow(w4.get())); | 
|  561 } |  561 } | 
|  562  |  562  | 
|  563 }  // namespace internal |  563 }  // namespace internal | 
|  564 }  // namespace ash |  564 }  // namespace ash | 
| OLD | NEW |