| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 "chrome/browser/ui/browser_finder.h" | 5 #include "chrome/browser/ui/browser_finder.h" |
| 6 | 6 |
| 7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
| 8 #include "ash/test/ash_test_helper.h" | 8 #include "ash/test/ash_test_helper.h" |
| 9 #include "ash/test/test_session_state_delegate.h" | 9 #include "ash/test/test_session_state_delegate.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 | 79 |
| 80 TestingProfile* CreateProfile() override { | 80 TestingProfile* CreateProfile() override { |
| 81 return CreateMultiUserProfile(test_account_id1_); | 81 return CreateMultiUserProfile(test_account_id1_); |
| 82 } | 82 } |
| 83 | 83 |
| 84 void DestroyProfile(TestingProfile* test_profile) override { | 84 void DestroyProfile(TestingProfile* test_profile) override { |
| 85 profile_manager_->DeleteTestingProfile(test_profile->GetProfileUserName()); | 85 profile_manager_->DeleteTestingProfile(test_profile->GetProfileUserName()); |
| 86 } | 86 } |
| 87 | 87 |
| 88 TestingProfile* second_profile_; | 88 TestingProfile* second_profile_; |
| 89 scoped_ptr<TestingProfileManager> profile_manager_; | 89 std::unique_ptr<TestingProfileManager> profile_manager_; |
| 90 chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager_; | 90 chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager_; |
| 91 | 91 |
| 92 DISALLOW_COPY_AND_ASSIGN(BrowserFinderChromeOSTest); | 92 DISALLOW_COPY_AND_ASSIGN(BrowserFinderChromeOSTest); |
| 93 }; | 93 }; |
| 94 | 94 |
| 95 TEST_F(BrowserFinderChromeOSTest, IncognitoBrowserMatchTest) { | 95 TEST_F(BrowserFinderChromeOSTest, IncognitoBrowserMatchTest) { |
| 96 // GetBrowserCount() use kMatchAll to find all browser windows for profile(). | 96 // GetBrowserCount() use kMatchAll to find all browser windows for profile(). |
| 97 EXPECT_EQ(1u, chrome::GetBrowserCount(profile())); | 97 EXPECT_EQ(1u, chrome::GetBrowserCount(profile())); |
| 98 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), true)); | 98 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), true)); |
| 99 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), false)); | 99 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), false)); |
| 100 set_browser(nullptr); | 100 set_browser(nullptr); |
| 101 | 101 |
| 102 // Create an incognito browser. | 102 // Create an incognito browser. |
| 103 Browser::CreateParams params(profile()->GetOffTheRecordProfile()); | 103 Browser::CreateParams params(profile()->GetOffTheRecordProfile()); |
| 104 scoped_ptr<Browser> incognito_browser( | 104 std::unique_ptr<Browser> incognito_browser( |
| 105 chrome::CreateBrowserWithAuraTestWindowForParams(nullptr, ¶ms)); | 105 chrome::CreateBrowserWithAuraTestWindowForParams(nullptr, ¶ms)); |
| 106 // Incognito windows are excluded in GetBrowserCount() because kMatchAll | 106 // Incognito windows are excluded in GetBrowserCount() because kMatchAll |
| 107 // doesn't match original profile of the browser with the given profile. | 107 // doesn't match original profile of the browser with the given profile. |
| 108 EXPECT_EQ(0u, chrome::GetBrowserCount(profile())); | 108 EXPECT_EQ(0u, chrome::GetBrowserCount(profile())); |
| 109 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), true)); | 109 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), true)); |
| 110 EXPECT_FALSE(chrome::FindAnyBrowser(profile(), false)); | 110 EXPECT_FALSE(chrome::FindAnyBrowser(profile(), false)); |
| 111 } | 111 } |
| 112 | 112 |
| 113 TEST_F(BrowserFinderChromeOSTest, FindBrowserOwnedByAnotherProfile) { | 113 TEST_F(BrowserFinderChromeOSTest, FindBrowserOwnedByAnotherProfile) { |
| 114 set_browser(nullptr); | 114 set_browser(nullptr); |
| 115 | 115 |
| 116 Browser::CreateParams params(profile()->GetOriginalProfile()); | 116 Browser::CreateParams params(profile()->GetOriginalProfile()); |
| 117 scoped_ptr<Browser> browser( | 117 std::unique_ptr<Browser> browser( |
| 118 chrome::CreateBrowserWithAuraTestWindowForParams(nullptr, ¶ms)); | 118 chrome::CreateBrowserWithAuraTestWindowForParams(nullptr, ¶ms)); |
| 119 GetUserWindowManager()->SetWindowOwner(browser->window()->GetNativeWindow(), | 119 GetUserWindowManager()->SetWindowOwner(browser->window()->GetNativeWindow(), |
| 120 test_account_id1_); | 120 test_account_id1_); |
| 121 EXPECT_EQ(1u, chrome::GetBrowserCount(profile())); | 121 EXPECT_EQ(1u, chrome::GetBrowserCount(profile())); |
| 122 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), true)); | 122 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), true)); |
| 123 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), false)); | 123 EXPECT_TRUE(chrome::FindAnyBrowser(profile(), false)); |
| 124 | 124 |
| 125 // Move the browser window to another user's desktop. Then no window should | 125 // Move the browser window to another user's desktop. Then no window should |
| 126 // be available for the current profile. | 126 // be available for the current profile. |
| 127 GetUserWindowManager()->ShowWindowForUser( | 127 GetUserWindowManager()->ShowWindowForUser( |
| 128 browser->window()->GetNativeWindow(), test_account_id2_); | 128 browser->window()->GetNativeWindow(), test_account_id2_); |
| 129 EXPECT_EQ(0u, chrome::GetBrowserCount(profile())); | 129 EXPECT_EQ(0u, chrome::GetBrowserCount(profile())); |
| 130 EXPECT_FALSE(chrome::FindAnyBrowser(profile(), true)); | 130 EXPECT_FALSE(chrome::FindAnyBrowser(profile(), true)); |
| 131 EXPECT_FALSE(chrome::FindAnyBrowser(profile(), false)); | 131 EXPECT_FALSE(chrome::FindAnyBrowser(profile(), false)); |
| 132 } | 132 } |
| 133 | 133 |
| 134 } // namespace test | 134 } // namespace test |
| OLD | NEW |