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

Side by Side Diff: chrome/browser/chromeos/system/tray_accessibility_browsertest.cc

Issue 2797743002: ash: Merge LoginStatus update code path (Closed)
Patch Set: fix post unlock animation not run, and tests Created 3 years, 8 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/common/accessibility_types.h" 5 #include "ash/common/accessibility_types.h"
6 #include "ash/common/login_status.h" 6 #include "ash/common/login_status.h"
7 #include "ash/common/system/tray/system_tray.h" 7 #include "ash/common/system/tray/system_tray.h"
8 #include "ash/common/system/tray_accessibility.h" 8 #include "ash/common/system/tray_accessibility.h"
9 #include "ash/magnifier/magnification_controller.h" 9 #include "ash/magnifier/magnification_controller.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
11 #include "ash/test/shell_test_api.h" 11 #include "ash/test/shell_test_api.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "chrome/browser/browser_process.h" 16 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/chrome_notification_types.h" 17 #include "chrome/browser/chrome_notification_types.h"
18 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" 18 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
19 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" 19 #include "chrome/browser/chromeos/accessibility/magnification_manager.h"
20 #include "chrome/browser/chromeos/login/helper.h" 20 #include "chrome/browser/chromeos/login/helper.h"
21 #include "chrome/browser/chromeos/login/startup_utils.h" 21 #include "chrome/browser/chromeos/login/startup_utils.h"
22 #include "chrome/browser/extensions/api/braille_display_private/mock_braille_con troller.h" 22 #include "chrome/browser/extensions/api/braille_display_private/mock_braille_con troller.h"
23 #include "chrome/browser/profiles/profile.h" 23 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/profiles/profile_manager.h" 24 #include "chrome/browser/profiles/profile_manager.h"
25 #include "chrome/browser/ui/ash/session_controller_client.h"
25 #include "chrome/common/chrome_switches.h" 26 #include "chrome/common/chrome_switches.h"
26 #include "chrome/common/pref_names.h" 27 #include "chrome/common/pref_names.h"
27 #include "chrome/test/base/in_process_browser_test.h" 28 #include "chrome/test/base/in_process_browser_test.h"
28 #include "chrome/test/base/testing_profile.h" 29 #include "chrome/test/base/testing_profile.h"
29 #include "chromeos/chromeos_switches.h" 30 #include "chromeos/chromeos_switches.h"
30 #include "components/policy/core/browser/browser_policy_connector.h" 31 #include "components/policy/core/browser/browser_policy_connector.h"
31 #include "components/policy/core/common/external_data_fetcher.h" 32 #include "components/policy/core/common/external_data_fetcher.h"
32 #include "components/policy/core/common/mock_configuration_policy_provider.h" 33 #include "components/policy/core/common/mock_configuration_policy_provider.h"
33 #include "components/policy/core/common/policy_map.h" 34 #include "components/policy/core/common/policy_map.h"
34 #include "components/policy/core/common/policy_types.h" 35 #include "components/policy/core/common/policy_types.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 bool CanCreateMenuItem() { 140 bool CanCreateMenuItem() {
140 views::View* menu_item_view = CreateMenuItem(); 141 views::View* menu_item_view = CreateMenuItem();
141 DestroyMenuItem(); 142 DestroyMenuItem();
142 return menu_item_view != NULL; 143 return menu_item_view != NULL;
143 } 144 }
144 145
145 void SetLoginStatus(ash::LoginStatus status) { 146 void SetLoginStatus(ash::LoginStatus status) {
146 tray()->UpdateAfterLoginStatusChange(status); 147 tray()->UpdateAfterLoginStatusChange(status);
147 } 148 }
148 149
149 ash::LoginStatus GetLoginStatus() { return tray()->login_; } 150 ash::LoginStatus GetLoginStatus() {
151 // Flush to ensure the session state reaches ash and updates login status.
152 SessionControllerClient::FlushForTesting();
James Cook 2017/04/05 00:16:24 Can this be done just when the state is changed? I
xiyuan 2017/04/05 22:29:07 Moved this to where we call SessionStarted(). Done
153
154 return tray()->login_;
155 }
150 156
151 bool CreateDetailedMenu() { 157 bool CreateDetailedMenu() {
152 tray()->ShowDetailedView(0, false); 158 tray()->ShowDetailedView(0, false);
153 return tray()->detailed_menu_ != NULL; 159 return tray()->detailed_menu_ != NULL;
154 } 160 }
155 161
156 void CloseDetailMenu() { 162 void CloseDetailMenu() {
157 CHECK(tray()->detailed_menu_); 163 CHECK(tray()->detailed_menu_);
158 tray()->DestroyDetailedView(); 164 tray()->DestroyDetailedView();
159 tray()->detailed_menu_ = NULL; 165 tray()->detailed_menu_ = NULL;
(...skipping 1250 matching lines...) Expand 10 before | Expand all | Expand 10 after
1410 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu()); 1416 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
1411 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu()); 1417 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1412 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu()); 1418 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1413 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu()); 1419 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1414 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu()); 1420 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1415 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu()); 1421 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
1416 CloseDetailMenu(); 1422 CloseDetailMenu();
1417 1423
1418 session_manager::SessionManager::Get()->SetSessionState( 1424 session_manager::SessionManager::Get()->SetSessionState(
1419 session_manager::SessionState::LOGIN_SECONDARY); 1425 session_manager::SessionState::LOGIN_SECONDARY);
1420 base::RunLoop().RunUntilIdle(); // Flush session state to ash. 1426 base::RunLoop().RunUntilIdle(); // Flush session state to ash.
James Cook 2017/04/05 00:16:24 optional: This would be better as SessionControlle
xiyuan 2017/04/05 22:29:07 Done.
1421 SetLoginStatus(ash::LoginStatus::USER); 1427 SetLoginStatus(ash::LoginStatus::USER);
1422 EXPECT_TRUE(CreateDetailedMenu()); 1428 EXPECT_TRUE(CreateDetailedMenu());
1423 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); 1429 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1424 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); 1430 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1425 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); 1431 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
1426 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu()); 1432 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
1427 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); 1433 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
1428 EXPECT_FALSE(IsHelpAvailableOnDetailMenu()); 1434 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1429 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu()); 1435 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
1430 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu()); 1436 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1431 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu()); 1437 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1432 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu()); 1438 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1433 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu()); 1439 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1434 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu()); 1440 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
1435 CloseDetailMenu(); 1441 CloseDetailMenu();
1436 } 1442 }
1437 1443
1438 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, 1444 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance,
1439 TrayAccessibilityTest, 1445 TrayAccessibilityTest,
1440 testing::Values(PREF_SERVICE, 1446 testing::Values(PREF_SERVICE,
1441 POLICY)); 1447 POLICY));
1442 1448
1443 } // namespace chromeos 1449 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698