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 |