| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/ui/browser_navigator_browsertest.h" | 5 #include "chrome/browser/ui/browser_navigator_browsertest.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "chrome/browser/chromeos/login/chrome_restart_request.h" | 8 #include "chrome/browser/chromeos/login/chrome_restart_request.h" |
| 9 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" | 9 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" |
| 10 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_test.h" | 10 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_test.h" |
| 11 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
| 12 #include "chrome/browser/ui/browser_finder.h" | 12 #include "chrome/browser/ui/browser_finder.h" |
| 13 #include "chrome/browser/ui/browser_navigator.h" | 13 #include "chrome/browser/ui/browser_navigator.h" |
| 14 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 14 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 15 #include "chrome/common/chrome_switches.h" | 15 #include "chrome/common/chrome_switches.h" |
| 16 #include "chromeos/chromeos_switches.h" | 16 #include "chromeos/chromeos_switches.h" |
| 17 #include "components/signin/core/account_id/account_id.h" |
| 17 #include "content/public/browser/web_contents.h" | 18 #include "content/public/browser/web_contents.h" |
| 18 | 19 |
| 19 namespace { | 20 namespace { |
| 20 | 21 |
| 21 GURL GetGoogleURL() { | 22 GURL GetGoogleURL() { |
| 22 return GURL("http://www.google.com/"); | 23 return GURL("http://www.google.com/"); |
| 23 } | 24 } |
| 24 | 25 |
| 25 // Subclass that tests navigation while in the Guest session. | 26 // Subclass that tests navigation while in the Guest session. |
| 26 class BrowserGuestSessionNavigatorTest: public BrowserNavigatorTest { | 27 class BrowserGuestSessionNavigatorTest: public BrowserNavigatorTest { |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 | 67 |
| 67 // Test that in multi user environments a newly created browser gets created | 68 // Test that in multi user environments a newly created browser gets created |
| 68 // on the same desktop as the browser is shown on. | 69 // on the same desktop as the browser is shown on. |
| 69 // | 70 // |
| 70 // Flakily hits assert: http://crbug.com/469717 | 71 // Flakily hits assert: http://crbug.com/469717 |
| 71 IN_PROC_BROWSER_TEST_F(BrowserGuestSessionNavigatorTest, | 72 IN_PROC_BROWSER_TEST_F(BrowserGuestSessionNavigatorTest, |
| 72 DISABLED_Browser_Gets_Created_On_Visiting_Desktop) { | 73 DISABLED_Browser_Gets_Created_On_Visiting_Desktop) { |
| 73 // Test 1: Test that a browser created from a visiting browser will be on the | 74 // Test 1: Test that a browser created from a visiting browser will be on the |
| 74 // same visiting desktop. | 75 // same visiting desktop. |
| 75 { | 76 { |
| 76 const std::string desktop_user_id = "desktop_user_id@fake.com"; | 77 const AccountId desktop_account_id( |
| 78 AccountId::FromUserEmail("desktop_user_id@fake.com")); |
| 77 TestMultiUserWindowManager* manager = | 79 TestMultiUserWindowManager* manager = |
| 78 new TestMultiUserWindowManager(browser(), desktop_user_id); | 80 new TestMultiUserWindowManager(browser(), desktop_account_id); |
| 79 | 81 |
| 80 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); | 82 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); |
| 81 | 83 |
| 82 // Navigate to the settings page. | 84 // Navigate to the settings page. |
| 83 chrome::NavigateParams params(MakeNavigateParams(browser())); | 85 chrome::NavigateParams params(MakeNavigateParams(browser())); |
| 84 params.disposition = NEW_POPUP; | 86 params.disposition = NEW_POPUP; |
| 85 params.url = GURL("chrome://chrome/settings"); | 87 params.url = GURL("chrome://chrome/settings"); |
| 86 params.window_action = chrome::NavigateParams::SHOW_WINDOW; | 88 params.window_action = chrome::NavigateParams::SHOW_WINDOW; |
| 87 params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; | 89 params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; |
| 88 params.browser = browser(); | 90 params.browser = browser(); |
| 89 chrome::Navigate(¶ms); | 91 chrome::Navigate(¶ms); |
| 90 | 92 |
| 91 EXPECT_EQ(2u, chrome::GetTotalBrowserCount()); | 93 EXPECT_EQ(2u, chrome::GetTotalBrowserCount()); |
| 92 | 94 |
| 93 aura::Window* created_window = manager->created_window(); | 95 aura::Window* created_window = manager->created_window(); |
| 94 ASSERT_TRUE(created_window); | 96 ASSERT_TRUE(created_window); |
| 95 EXPECT_TRUE(manager->IsWindowOnDesktopOfUser(created_window, | 97 EXPECT_TRUE( |
| 96 desktop_user_id)); | 98 manager->IsWindowOnDesktopOfUser(created_window, desktop_account_id)); |
| 97 } | 99 } |
| 98 // Test 2: Test that a window which is not visiting does not cause an owner | 100 // Test 2: Test that a window which is not visiting does not cause an owner |
| 99 // assignment of a newly created browser. | 101 // assignment of a newly created browser. |
| 100 { | 102 { |
| 101 std::string browser_owner = | 103 const AccountId browser_owner = |
| 102 multi_user_util::GetUserIDFromProfile(browser()->profile()); | 104 multi_user_util::GetAccountIdFromProfile(browser()->profile()); |
| 103 TestMultiUserWindowManager* manager = | 105 TestMultiUserWindowManager* manager = |
| 104 new TestMultiUserWindowManager(browser(), browser_owner); | 106 new TestMultiUserWindowManager(browser(), browser_owner); |
| 105 | 107 |
| 106 // Navigate to the settings page. | 108 // Navigate to the settings page. |
| 107 chrome::NavigateParams params(MakeNavigateParams(browser())); | 109 chrome::NavigateParams params(MakeNavigateParams(browser())); |
| 108 params.disposition = NEW_POPUP; | 110 params.disposition = NEW_POPUP; |
| 109 params.url = GURL("chrome://chrome/settings"); | 111 params.url = GURL("chrome://chrome/settings"); |
| 110 params.window_action = chrome::NavigateParams::SHOW_WINDOW; | 112 params.window_action = chrome::NavigateParams::SHOW_WINDOW; |
| 111 params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; | 113 params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; |
| 112 params.browser = browser(); | 114 params.browser = browser(); |
| 113 chrome::Navigate(¶ms); | 115 chrome::Navigate(¶ms); |
| 114 | 116 |
| 115 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); | 117 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); |
| 116 | 118 |
| 117 // The ShowWindowForUser should not have been called since the window is | 119 // The ShowWindowForUser should not have been called since the window is |
| 118 // already on the correct desktop. | 120 // already on the correct desktop. |
| 119 ASSERT_FALSE(manager->created_window()); | 121 ASSERT_FALSE(manager->created_window()); |
| 120 } | 122 } |
| 121 } | 123 } |
| 122 | 124 |
| 123 } // namespace | 125 } // namespace |
| OLD | NEW |