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

Side by Side Diff: chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.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: Fix Win GN build. Created 5 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ash/multi_user/multi_user_context_menu.h" 5 #include "chrome/browser/ui/ash/multi_user/multi_user_context_menu.h"
6 6
7 #include "ash/multi_profile_uma.h" 7 #include "ash/multi_profile_uma.h"
8 #include "ash/session/session_state_delegate.h" 8 #include "ash/session/session_state_delegate.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "chrome/app/chrome_command_ids.h" 14 #include "chrome/app/chrome_command_ids.h"
15 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/profiles/profile_manager.h" 16 #include "chrome/browser/profiles/profile_manager.h"
17 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" 17 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
18 #include "chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.h" 18 #include "chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.h"
19 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" 19 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
20 #include "chrome/common/pref_names.h" 20 #include "chrome/common/pref_names.h"
21 #include "chrome/grit/generated_resources.h" 21 #include "chrome/grit/generated_resources.h"
22 #include "components/signin/core/account_id/account_id.h"
22 #include "components/user_manager/user.h" 23 #include "components/user_manager/user.h"
23 #include "components/user_manager/user_manager.h" 24 #include "components/user_manager/user_manager.h"
24 #include "ui/aura/window.h" 25 #include "ui/aura/window.h"
25 #include "ui/base/l10n/l10n_util.h" 26 #include "ui/base/l10n/l10n_util.h"
26 #include "ui/base/models/simple_menu_model.h" 27 #include "ui/base/models/simple_menu_model.h"
27 28
28 namespace chromeos { 29 namespace chromeos {
29 30
30 namespace { 31 namespace {
31 32
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 : IDC_VISIT_DESKTOP_OF_LRU_USER_3, 89 : IDC_VISIT_DESKTOP_OF_LRU_USER_3,
89 l10n_util::GetStringFUTF16( 90 l10n_util::GetStringFUTF16(
90 IDS_VISIT_DESKTOP_OF_LRU_USER, 91 IDS_VISIT_DESKTOP_OF_LRU_USER,
91 user_info->GetDisplayName(), 92 user_info->GetDisplayName(),
92 base::ASCIIToUTF16(user_info->GetEmail()))); 93 base::ASCIIToUTF16(user_info->GetEmail())));
93 } 94 }
94 } 95 }
95 return model.Pass(); 96 return model.Pass();
96 } 97 }
97 98
98 void OnAcceptTeleportWarning(const std::string& user_id, 99 void OnAcceptTeleportWarning(const AccountId& account_id,
99 aura::Window* window_, 100 aura::Window* window_,
100 bool no_show_again) { 101 bool no_show_again) {
101 PrefService* pref = ProfileManager::GetActiveUserProfile()->GetPrefs(); 102 PrefService* pref = ProfileManager::GetActiveUserProfile()->GetPrefs();
102 pref->SetBoolean(prefs::kMultiProfileWarningShowDismissed, no_show_again); 103 pref->SetBoolean(prefs::kMultiProfileWarningShowDismissed, no_show_again);
103 104
104 ash::MultiProfileUMA::RecordTeleportAction( 105 ash::MultiProfileUMA::RecordTeleportAction(
105 ash::MultiProfileUMA::TELEPORT_WINDOW_CAPTION_MENU); 106 ash::MultiProfileUMA::TELEPORT_WINDOW_CAPTION_MENU);
106 107
107 chrome::MultiUserWindowManager::GetInstance()->ShowWindowForUser(window_, 108 chrome::MultiUserWindowManager::GetInstance()->ShowWindowForUser(
108 user_id); 109 window_, account_id.GetUserEmail());
109 } 110 }
110 111
111 void ExecuteVisitDesktopCommand(int command_id, aura::Window* window) { 112 void ExecuteVisitDesktopCommand(int command_id, aura::Window* window) {
112 switch (command_id) { 113 switch (command_id) {
113 case IDC_VISIT_DESKTOP_OF_LRU_USER_2: 114 case IDC_VISIT_DESKTOP_OF_LRU_USER_2:
114 case IDC_VISIT_DESKTOP_OF_LRU_USER_3: { 115 case IDC_VISIT_DESKTOP_OF_LRU_USER_3: {
115 // When running the multi user mode on Chrome OS, windows can "visit" 116 // When running the multi user mode on Chrome OS, windows can "visit"
116 // another user's desktop. 117 // another user's desktop.
117 const std::string& user_id = 118 const AccountId account_id =
118 ash::Shell::GetInstance() 119 ash::Shell::GetInstance()
119 ->session_state_delegate() 120 ->session_state_delegate()
120 ->GetUserInfo(IDC_VISIT_DESKTOP_OF_LRU_USER_2 == command_id ? 1 121 ->GetUserInfo(IDC_VISIT_DESKTOP_OF_LRU_USER_2 == command_id ? 1
121 : 2) 122 : 2)
122 ->GetUserID(); 123 ->GetAccountId();
123 base::Callback<void(bool)> on_accept = 124 base::Callback<void(bool)> on_accept =
124 base::Bind(&OnAcceptTeleportWarning, user_id, window); 125 base::Bind(&OnAcceptTeleportWarning, account_id, window);
125 126
126 // Don't show warning dialog if any logged in user in multi-profiles 127 // Don't show warning dialog if any logged in user in multi-profiles
127 // session dismissed it. 128 // session dismissed it.
128 const user_manager::UserList logged_in_users = 129 const user_manager::UserList logged_in_users =
129 user_manager::UserManager::Get()->GetLoggedInUsers(); 130 user_manager::UserManager::Get()->GetLoggedInUsers();
130 for (user_manager::UserList::const_iterator it = logged_in_users.begin(); 131 for (user_manager::UserList::const_iterator it = logged_in_users.begin();
131 it != logged_in_users.end(); 132 it != logged_in_users.end();
132 ++it) { 133 ++it) {
133 if (multi_user_util::GetProfileFromUserID( 134 if (multi_user_util::GetProfileFromUserID(
134 multi_user_util::GetUserIDFromEmail((*it)->email()))->GetPrefs()-> 135 multi_user_util::GetUserIDFromEmail((*it)->email()))->GetPrefs()->
135 GetBoolean(prefs::kMultiProfileWarningShowDismissed)) { 136 GetBoolean(prefs::kMultiProfileWarningShowDismissed)) {
136 bool active_user_show_option = 137 bool active_user_show_option =
137 ProfileManager::GetActiveUserProfile()-> 138 ProfileManager::GetActiveUserProfile()->
138 GetPrefs()->GetBoolean(prefs::kMultiProfileWarningShowDismissed); 139 GetPrefs()->GetBoolean(prefs::kMultiProfileWarningShowDismissed);
139 on_accept.Run(active_user_show_option); 140 on_accept.Run(active_user_show_option);
140 return; 141 return;
141 } 142 }
142 } 143 }
143 chromeos::ShowMultiprofilesWarningDialog(on_accept); 144 chromeos::ShowMultiprofilesWarningDialog(on_accept);
144 return; 145 return;
145 } 146 }
146 default: 147 default:
147 NOTREACHED(); 148 NOTREACHED();
148 } 149 }
149 } 150 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698