Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: chrome/browser/chromeos/extensions/wallpaper_private_api_unittest.cc

Issue 1412813003: This CL replaces user_manager::UserID with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@468875--Chrome-OS-handles-deletion-of-Gmail-account-poorly--Create-AccountID-structure-part2--user_names
Patch Set: Rebased. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "ash/shell.h" 5 #include "ash/shell.h"
6 #include "ash/test/ash_test_base.h" 6 #include "ash/test/ash_test_base.h"
7 #include "ash/test/test_session_state_delegate.h" 7 #include "ash/test/test_session_state_delegate.h"
8 #include "ash/test/test_shell_delegate.h" 8 #include "ash/test/test_shell_delegate.h"
9 #include "ash/wm/window_state.h" 9 #include "ash/wm/window_state.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "chrome/browser/chromeos/extensions/wallpaper_private_api.h" 12 #include "chrome/browser/chromeos/extensions/wallpaper_private_api.h"
13 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" 13 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
14 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" 14 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
15 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 15 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
16 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" 16 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
17 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h" 17 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h"
18 #include "components/signin/core/account_id/account_id.h"
18 #include "ui/aura/test/test_windows.h" 19 #include "ui/aura/test/test_windows.h"
19 #include "ui/aura/window.h" 20 #include "ui/aura/window.h"
20 #include "ui/aura/window_event_dispatcher.h" 21 #include "ui/aura/window_event_dispatcher.h"
21 22
22 namespace chromeos { 23 namespace chromeos {
23 namespace { 24 namespace {
24 25
25 const char kTestAccount1[] = "user1@test.com"; 26 const char kTestAccount1[] = "user1@test.com";
26 const char kTestAccount2[] = "user2@test.com"; 27 const char kTestAccount2[] = "user2@test.com";
27 28
28 class WallpaperPrivateApiUnittest : public ash::test::AshTestBase { 29 class WallpaperPrivateApiUnittest : public ash::test::AshTestBase {
29 public: 30 public:
30 WallpaperPrivateApiUnittest() 31 WallpaperPrivateApiUnittest()
31 : fake_user_manager_(new FakeChromeUserManager()), 32 : test_account1_(AccountId::FromUserEmail(kTestAccount1)),
33 test_account2_(AccountId::FromUserEmail(kTestAccount2)),
34 fake_user_manager_(new FakeChromeUserManager()),
32 scoped_user_manager_(fake_user_manager_) {} 35 scoped_user_manager_(fake_user_manager_) {}
33 36
34 protected: 37 protected:
35 FakeChromeUserManager* fake_user_manager() { return fake_user_manager_; } 38 FakeChromeUserManager* fake_user_manager() { return fake_user_manager_; }
36 39
40 const AccountId test_account1_;
achuithb 2015/10/23 00:08:49 Use in-class member initialization
Alexander Alekseev 2015/10/23 09:11:21 Done.
41 const AccountId test_account2_;
42
37 private: 43 private:
38 FakeChromeUserManager* fake_user_manager_; 44 FakeChromeUserManager* fake_user_manager_;
39 ScopedUserManagerEnabler scoped_user_manager_; 45 ScopedUserManagerEnabler scoped_user_manager_;
40 46
41 DISALLOW_COPY_AND_ASSIGN(WallpaperPrivateApiUnittest); 47 DISALLOW_COPY_AND_ASSIGN(WallpaperPrivateApiUnittest);
42 }; 48 };
43 49
44 class TestMinimizeFunction 50 class TestMinimizeFunction
45 : public WallpaperPrivateMinimizeInactiveWindowsFunction { 51 : public WallpaperPrivateMinimizeInactiveWindowsFunction {
46 public: 52 public:
(...skipping 15 matching lines...) Expand all
62 bool RunAsync() override { 68 bool RunAsync() override {
63 return WallpaperPrivateRestoreMinimizedWindowsFunction::RunAsync(); 69 return WallpaperPrivateRestoreMinimizedWindowsFunction::RunAsync();
64 } 70 }
65 protected: 71 protected:
66 ~TestRestoreFunction() override {} 72 ~TestRestoreFunction() override {}
67 }; 73 };
68 74
69 } // namespace 75 } // namespace
70 76
71 TEST_F(WallpaperPrivateApiUnittest, HideAndRestoreWindows) { 77 TEST_F(WallpaperPrivateApiUnittest, HideAndRestoreWindows) {
72 fake_user_manager()->AddUser(kTestAccount1); 78 fake_user_manager()->AddUser(test_account1_);
73 scoped_ptr<aura::Window> window4(CreateTestWindowInShellWithId(4)); 79 scoped_ptr<aura::Window> window4(CreateTestWindowInShellWithId(4));
74 scoped_ptr<aura::Window> window3(CreateTestWindowInShellWithId(3)); 80 scoped_ptr<aura::Window> window3(CreateTestWindowInShellWithId(3));
75 scoped_ptr<aura::Window> window2(CreateTestWindowInShellWithId(2)); 81 scoped_ptr<aura::Window> window2(CreateTestWindowInShellWithId(2));
76 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1)); 82 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1));
77 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0)); 83 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0));
78 84
79 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get()); 85 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get());
80 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get()); 86 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get());
81 ash::wm::WindowState* window2_state = ash::wm::GetWindowState(window2.get()); 87 ash::wm::WindowState* window2_state = ash::wm::GetWindowState(window2.get());
82 ash::wm::WindowState* window3_state = ash::wm::GetWindowState(window3.get()); 88 ash::wm::WindowState* window3_state = ash::wm::GetWindowState(window3.get());
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 EXPECT_TRUE(window3_state->IsMinimized()); 131 EXPECT_TRUE(window3_state->IsMinimized());
126 EXPECT_TRUE(window4_state->IsMinimized()); 132 EXPECT_TRUE(window4_state->IsMinimized());
127 } 133 }
128 134
129 // Test for multiple calls to |MinimizeInactiveWindows| before call 135 // Test for multiple calls to |MinimizeInactiveWindows| before call
130 // |RestoreWindows|: 136 // |RestoreWindows|:
131 // 1. If all window hasn't change their states, the following calls are noops. 137 // 1. If all window hasn't change their states, the following calls are noops.
132 // 2. If some windows are manually unminimized, the following call will minimize 138 // 2. If some windows are manually unminimized, the following call will minimize
133 // all the unminimized windows. 139 // all the unminimized windows.
134 TEST_F(WallpaperPrivateApiUnittest, HideAndManualUnminimizeWindows) { 140 TEST_F(WallpaperPrivateApiUnittest, HideAndManualUnminimizeWindows) {
135 fake_user_manager()->AddUser(kTestAccount1); 141 fake_user_manager()->AddUser(test_account1_);
136 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1)); 142 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1));
137 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0)); 143 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0));
138 144
139 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get()); 145 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get());
140 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get()); 146 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get());
141 147
142 // We then activate window 0 (i.e. wallpaper picker) and call the minimize 148 // We then activate window 0 (i.e. wallpaper picker) and call the minimize
143 // function. 149 // function.
144 window0_state->Activate(); 150 window0_state->Activate();
145 EXPECT_TRUE(window0_state->IsActive()); 151 EXPECT_TRUE(window0_state->IsActive());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 public: 195 public:
190 WallpaperPrivateApiMultiUserUnittest() 196 WallpaperPrivateApiMultiUserUnittest()
191 : multi_user_window_manager_(NULL), 197 : multi_user_window_manager_(NULL),
192 session_state_delegate_(NULL) {} 198 session_state_delegate_(NULL) {}
193 199
194 void SetUp() override; 200 void SetUp() override;
195 void TearDown() override; 201 void TearDown() override;
196 202
197 protected: 203 protected:
198 void SetUpMultiUserWindowManager( 204 void SetUpMultiUserWindowManager(
199 const std::string& active_user_id, 205 const AccountId& active_user_id,
200 chrome::MultiUserWindowManager::MultiProfileMode mode); 206 chrome::MultiUserWindowManager::MultiProfileMode mode);
201 207
202 void SwitchActiveUser(const std::string& active_user_id); 208 void SwitchActiveUser(const AccountId& active_user_id);
achuithb 2015/10/23 00:08:49 active_account_id
Alexander Alekseev 2015/10/23 09:11:21 Done.
203 209
204 chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager() { 210 chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager() {
205 return multi_user_window_manager_; 211 return multi_user_window_manager_;
206 } 212 }
207 213
208 private: 214 private:
209 chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager_; 215 chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager_;
210 ash::test::TestSessionStateDelegate* session_state_delegate_; 216 ash::test::TestSessionStateDelegate* session_state_delegate_;
211 217
212 DISALLOW_COPY_AND_ASSIGN(WallpaperPrivateApiMultiUserUnittest); 218 DISALLOW_COPY_AND_ASSIGN(WallpaperPrivateApiMultiUserUnittest);
213 }; 219 };
214 220
215 void WallpaperPrivateApiMultiUserUnittest::SetUp() { 221 void WallpaperPrivateApiMultiUserUnittest::SetUp() {
216 AshTestBase::SetUp(); 222 AshTestBase::SetUp();
217 WallpaperManager::Initialize(); 223 WallpaperManager::Initialize();
218 session_state_delegate_ = 224 session_state_delegate_ =
219 static_cast<ash::test::TestSessionStateDelegate*> ( 225 static_cast<ash::test::TestSessionStateDelegate*> (
220 ash::Shell::GetInstance()->session_state_delegate()); 226 ash::Shell::GetInstance()->session_state_delegate());
221 fake_user_manager()->AddUser(kTestAccount1); 227 fake_user_manager()->AddUser(test_account1_);
222 fake_user_manager()->AddUser(kTestAccount2); 228 fake_user_manager()->AddUser(test_account2_);
223 } 229 }
224 230
225 void WallpaperPrivateApiMultiUserUnittest::TearDown() { 231 void WallpaperPrivateApiMultiUserUnittest::TearDown() {
226 chrome::MultiUserWindowManager::DeleteInstance(); 232 chrome::MultiUserWindowManager::DeleteInstance();
227 AshTestBase::TearDown(); 233 AshTestBase::TearDown();
228 WallpaperManager::Shutdown(); 234 WallpaperManager::Shutdown();
229 } 235 }
230 236
231 void WallpaperPrivateApiMultiUserUnittest::SetUpMultiUserWindowManager( 237 void WallpaperPrivateApiMultiUserUnittest::SetUpMultiUserWindowManager(
232 const std::string& active_user_id, 238 const AccountId& active_user_id,
achuithb 2015/10/23 00:08:49 active_account_id
Alexander Alekseev 2015/10/23 09:11:21 Done.
233 chrome::MultiUserWindowManager::MultiProfileMode mode) { 239 chrome::MultiUserWindowManager::MultiProfileMode mode) {
234 multi_user_window_manager_ = 240 multi_user_window_manager_ =
235 new chrome::MultiUserWindowManagerChromeOS(active_user_id); 241 new chrome::MultiUserWindowManagerChromeOS(active_user_id.GetUserEmail());
236 multi_user_window_manager_->Init(); 242 multi_user_window_manager_->Init();
237 chrome::MultiUserWindowManager::SetInstanceForTest( 243 chrome::MultiUserWindowManager::SetInstanceForTest(
238 multi_user_window_manager_, mode); 244 multi_user_window_manager_, mode);
239 // We do not want animations while the test is going on. 245 // We do not want animations while the test is going on.
240 multi_user_window_manager_->SetAnimationSpeedForTest( 246 multi_user_window_manager_->SetAnimationSpeedForTest(
241 chrome::MultiUserWindowManagerChromeOS::ANIMATION_SPEED_DISABLED); 247 chrome::MultiUserWindowManagerChromeOS::ANIMATION_SPEED_DISABLED);
242 EXPECT_TRUE(multi_user_window_manager_); 248 EXPECT_TRUE(multi_user_window_manager_);
243 } 249 }
244 250
245 void WallpaperPrivateApiMultiUserUnittest::SwitchActiveUser( 251 void WallpaperPrivateApiMultiUserUnittest::SwitchActiveUser(
246 const std::string& active_user_id) { 252 const AccountId& active_user_id) {
achuithb 2015/10/23 00:08:49 active_account_id
Alexander Alekseev 2015/10/23 09:11:21 Done.
247 fake_user_manager()->SwitchActiveUser(active_user_id); 253 fake_user_manager()->SwitchActiveUser(active_user_id);
248 multi_user_window_manager_->ActiveUserChanged(active_user_id); 254 multi_user_window_manager_->ActiveUserChanged(active_user_id.GetUserEmail());
249 } 255 }
250 256
251 // In multi profile mode, user may open wallpaper picker in one profile and 257 // In multi profile mode, user may open wallpaper picker in one profile and
252 // then switch to a different profile and open another wallpaper picker 258 // then switch to a different profile and open another wallpaper picker
253 // without closing the first one. 259 // without closing the first one.
254 TEST_F(WallpaperPrivateApiMultiUserUnittest, HideAndRestoreWindowsTwoUsers) { 260 TEST_F(WallpaperPrivateApiMultiUserUnittest, HideAndRestoreWindowsTwoUsers) {
255 SetUpMultiUserWindowManager(kTestAccount1, 261 SetUpMultiUserWindowManager(
262 test_account1_,
256 chrome::MultiUserWindowManager::MULTI_PROFILE_MODE_SEPARATED); 263 chrome::MultiUserWindowManager::MULTI_PROFILE_MODE_SEPARATED);
257 264
258 scoped_ptr<aura::Window> window4(CreateTestWindowInShellWithId(4)); 265 scoped_ptr<aura::Window> window4(CreateTestWindowInShellWithId(4));
259 scoped_ptr<aura::Window> window3(CreateTestWindowInShellWithId(3)); 266 scoped_ptr<aura::Window> window3(CreateTestWindowInShellWithId(3));
260 scoped_ptr<aura::Window> window2(CreateTestWindowInShellWithId(2)); 267 scoped_ptr<aura::Window> window2(CreateTestWindowInShellWithId(2));
261 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1)); 268 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1));
262 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0)); 269 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0));
263 270
264 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get()); 271 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get());
265 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get()); 272 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get());
266 ash::wm::WindowState* window2_state = ash::wm::GetWindowState(window2.get()); 273 ash::wm::WindowState* window2_state = ash::wm::GetWindowState(window2.get());
267 ash::wm::WindowState* window3_state = ash::wm::GetWindowState(window3.get()); 274 ash::wm::WindowState* window3_state = ash::wm::GetWindowState(window3.get());
268 ash::wm::WindowState* window4_state = ash::wm::GetWindowState(window4.get()); 275 ash::wm::WindowState* window4_state = ash::wm::GetWindowState(window4.get());
269 276
270 multi_user_window_manager()->SetWindowOwner(window0.get(), kTestAccount1); 277 multi_user_window_manager()->SetWindowOwner(window0.get(),
271 multi_user_window_manager()->SetWindowOwner(window1.get(), kTestAccount1); 278 test_account1_.GetUserEmail());
279 multi_user_window_manager()->SetWindowOwner(window1.get(),
280 test_account1_.GetUserEmail());
272 281
273 // Set some windows to an inactive owner. 282 // Set some windows to an inactive owner.
274 multi_user_window_manager()->SetWindowOwner(window2.get(), kTestAccount2); 283 multi_user_window_manager()->SetWindowOwner(window2.get(),
275 multi_user_window_manager()->SetWindowOwner(window3.get(), kTestAccount2); 284 test_account2_.GetUserEmail());
276 multi_user_window_manager()->SetWindowOwner(window4.get(), kTestAccount2); 285 multi_user_window_manager()->SetWindowOwner(window3.get(),
286 test_account2_.GetUserEmail());
287 multi_user_window_manager()->SetWindowOwner(window4.get(),
288 test_account2_.GetUserEmail());
277 289
278 EXPECT_FALSE(window0_state->IsMinimized()); 290 EXPECT_FALSE(window0_state->IsMinimized());
279 EXPECT_FALSE(window1_state->IsMinimized()); 291 EXPECT_FALSE(window1_state->IsMinimized());
280 EXPECT_FALSE(window2_state->IsMinimized()); 292 EXPECT_FALSE(window2_state->IsMinimized());
281 EXPECT_FALSE(window3_state->IsMinimized()); 293 EXPECT_FALSE(window3_state->IsMinimized());
282 EXPECT_FALSE(window4_state->IsMinimized()); 294 EXPECT_FALSE(window4_state->IsMinimized());
283 295
284 // We then activate window 0 (i.e. wallpaper picker) and call the minimize 296 // We then activate window 0 (i.e. wallpaper picker) and call the minimize
285 // function. 297 // function.
286 window0_state->Activate(); 298 window0_state->Activate();
287 EXPECT_TRUE(window0_state->IsActive()); 299 EXPECT_TRUE(window0_state->IsActive());
288 scoped_refptr<TestMinimizeFunction> minimize_function_0( 300 scoped_refptr<TestMinimizeFunction> minimize_function_0(
289 new TestMinimizeFunction()); 301 new TestMinimizeFunction());
290 EXPECT_TRUE(minimize_function_0->RunAsync()); 302 EXPECT_TRUE(minimize_function_0->RunAsync());
291 303
292 // All windows except window 0 should be minimized. 304 // All windows except window 0 should be minimized.
293 EXPECT_FALSE(window0_state->IsMinimized()); 305 EXPECT_FALSE(window0_state->IsMinimized());
294 EXPECT_TRUE(window1_state->IsMinimized()); 306 EXPECT_TRUE(window1_state->IsMinimized());
295 307
296 // All windows that belong to inactive user should not be affected. 308 // All windows that belong to inactive user should not be affected.
297 EXPECT_FALSE(window2_state->IsMinimized()); 309 EXPECT_FALSE(window2_state->IsMinimized());
298 EXPECT_FALSE(window3_state->IsMinimized()); 310 EXPECT_FALSE(window3_state->IsMinimized());
299 EXPECT_FALSE(window4_state->IsMinimized()); 311 EXPECT_FALSE(window4_state->IsMinimized());
300 312
301 // Activate kTestAccount2. kTestAccount1 becomes inactive user. 313 // Activate kTestAccount2. kTestAccount1 becomes inactive user.
302 SwitchActiveUser(kTestAccount2); 314 SwitchActiveUser(test_account2_);
303 315
304 window2_state->Activate(); 316 window2_state->Activate();
305 EXPECT_TRUE(window2_state->IsActive()); 317 EXPECT_TRUE(window2_state->IsActive());
306 scoped_refptr<TestMinimizeFunction> minimize_function_1( 318 scoped_refptr<TestMinimizeFunction> minimize_function_1(
307 new TestMinimizeFunction()); 319 new TestMinimizeFunction());
308 EXPECT_TRUE(minimize_function_1->RunAsync()); 320 EXPECT_TRUE(minimize_function_1->RunAsync());
309 321
310 // All windows except window 2 should be minimized. 322 // All windows except window 2 should be minimized.
311 EXPECT_FALSE(window2_state->IsMinimized()); 323 EXPECT_FALSE(window2_state->IsMinimized());
312 EXPECT_TRUE(window3_state->IsMinimized()); 324 EXPECT_TRUE(window3_state->IsMinimized());
(...skipping 17 matching lines...) Expand all
330 scoped_refptr<TestRestoreFunction> restore_function_0( 342 scoped_refptr<TestRestoreFunction> restore_function_0(
331 new TestRestoreFunction()); 343 new TestRestoreFunction());
332 EXPECT_TRUE(restore_function_0->RunAsync()); 344 EXPECT_TRUE(restore_function_0->RunAsync());
333 345
334 EXPECT_FALSE(window3_state->IsMinimized()); 346 EXPECT_FALSE(window3_state->IsMinimized());
335 347
336 // All windows that belong to inactive user should not be affected. 348 // All windows that belong to inactive user should not be affected.
337 EXPECT_FALSE(window0_state->IsMinimized()); 349 EXPECT_FALSE(window0_state->IsMinimized());
338 EXPECT_TRUE(window1_state->IsMinimized()); 350 EXPECT_TRUE(window1_state->IsMinimized());
339 351
340 SwitchActiveUser(kTestAccount1); 352 SwitchActiveUser(test_account1_);
341 353
342 // Then we destroy window 0 and call the restore function. 354 // Then we destroy window 0 and call the restore function.
343 window0.reset(); 355 window0.reset();
344 scoped_refptr<TestRestoreFunction> restore_function_1( 356 scoped_refptr<TestRestoreFunction> restore_function_1(
345 new TestRestoreFunction()); 357 new TestRestoreFunction());
346 EXPECT_TRUE(restore_function_1->RunAsync()); 358 EXPECT_TRUE(restore_function_1->RunAsync());
347 359
348 EXPECT_FALSE(window1_state->IsMinimized()); 360 EXPECT_FALSE(window1_state->IsMinimized());
349 EXPECT_FALSE(window3_state->IsMinimized()); 361 EXPECT_FALSE(window3_state->IsMinimized());
350 } 362 }
351 363
352 // In multi profile mode, user may teleport windows. Teleported window should 364 // In multi profile mode, user may teleport windows. Teleported window should
353 // also be minimized when open wallpaper picker. 365 // also be minimized when open wallpaper picker.
354 TEST_F(WallpaperPrivateApiMultiUserUnittest, HideTeleportedWindow) { 366 TEST_F(WallpaperPrivateApiMultiUserUnittest, HideTeleportedWindow) {
355 SetUpMultiUserWindowManager(kTestAccount1, 367 SetUpMultiUserWindowManager(
368 AccountId::FromUserEmail(kTestAccount1),
356 chrome::MultiUserWindowManager::MULTI_PROFILE_MODE_MIXED); 369 chrome::MultiUserWindowManager::MULTI_PROFILE_MODE_MIXED);
357 370
358 scoped_ptr<aura::Window> window3(CreateTestWindowInShellWithId(3)); 371 scoped_ptr<aura::Window> window3(CreateTestWindowInShellWithId(3));
359 scoped_ptr<aura::Window> window2(CreateTestWindowInShellWithId(2)); 372 scoped_ptr<aura::Window> window2(CreateTestWindowInShellWithId(2));
360 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1)); 373 scoped_ptr<aura::Window> window1(CreateTestWindowInShellWithId(1));
361 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0)); 374 scoped_ptr<aura::Window> window0(CreateTestWindowInShellWithId(0));
362 375
363 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get()); 376 ash::wm::WindowState* window0_state = ash::wm::GetWindowState(window0.get());
364 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get()); 377 ash::wm::WindowState* window1_state = ash::wm::GetWindowState(window1.get());
365 ash::wm::WindowState* window2_state = ash::wm::GetWindowState(window2.get()); 378 ash::wm::WindowState* window2_state = ash::wm::GetWindowState(window2.get());
366 ash::wm::WindowState* window3_state = ash::wm::GetWindowState(window3.get()); 379 ash::wm::WindowState* window3_state = ash::wm::GetWindowState(window3.get());
367 380
368 multi_user_window_manager()->SetWindowOwner(window0.get(), kTestAccount1); 381 multi_user_window_manager()->SetWindowOwner(window0.get(),
369 multi_user_window_manager()->SetWindowOwner(window1.get(), kTestAccount1); 382 test_account1_.GetUserEmail());
383 multi_user_window_manager()->SetWindowOwner(window1.get(),
384 test_account1_.GetUserEmail());
370 385
371 // Set some windows to an inactive owner. 386 // Set some windows to an inactive owner.
372 multi_user_window_manager()->SetWindowOwner(window2.get(), kTestAccount2); 387 multi_user_window_manager()->SetWindowOwner(window2.get(),
373 multi_user_window_manager()->SetWindowOwner(window3.get(), kTestAccount2); 388 test_account2_.GetUserEmail());
389 multi_user_window_manager()->SetWindowOwner(window3.get(),
390 test_account2_.GetUserEmail());
374 391
375 // Teleport window2 to kTestAccount1. 392 // Teleport window2 to kTestAccount1.
376 multi_user_window_manager()->ShowWindowForUser(window2.get(), kTestAccount1); 393 multi_user_window_manager()->ShowWindowForUser(window2.get(),
394 test_account1_.GetUserEmail());
377 395
378 // Initial window state. All windows shouldn't be minimized. 396 // Initial window state. All windows shouldn't be minimized.
379 EXPECT_FALSE(window0_state->IsMinimized()); 397 EXPECT_FALSE(window0_state->IsMinimized());
380 EXPECT_FALSE(window1_state->IsMinimized()); 398 EXPECT_FALSE(window1_state->IsMinimized());
381 EXPECT_FALSE(window2_state->IsMinimized()); 399 EXPECT_FALSE(window2_state->IsMinimized());
382 EXPECT_FALSE(window3_state->IsMinimized()); 400 EXPECT_FALSE(window3_state->IsMinimized());
383 401
384 // We then activate window 0 (i.e. wallpaper picker) and call the minimize 402 // We then activate window 0 (i.e. wallpaper picker) and call the minimize
385 // function. 403 // function.
386 window0_state->Activate(); 404 window0_state->Activate();
(...skipping 16 matching lines...) Expand all
403 scoped_refptr<TestRestoreFunction> restore_function_1( 421 scoped_refptr<TestRestoreFunction> restore_function_1(
404 new TestRestoreFunction()); 422 new TestRestoreFunction());
405 EXPECT_TRUE(restore_function_1->RunAsync()); 423 EXPECT_TRUE(restore_function_1->RunAsync());
406 424
407 EXPECT_FALSE(window1_state->IsMinimized()); 425 EXPECT_FALSE(window1_state->IsMinimized());
408 EXPECT_FALSE(window2_state->IsMinimized()); 426 EXPECT_FALSE(window2_state->IsMinimized());
409 EXPECT_FALSE(window3_state->IsMinimized()); 427 EXPECT_FALSE(window3_state->IsMinimized());
410 } 428 }
411 429
412 } // namespace chromeos 430 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698