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

Side by Side Diff: chrome/browser/ui/webui/options/managed_user_import_handler.cc

Issue 335833003: Rename "managed (mode|user)" to "supervised user" (part 2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments (+ a few other cleanups) Created 6 years, 6 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 | Annotate | Revision Log
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/webui/options/managed_user_import_handler.h" 5 #include "chrome/browser/ui/webui/options/managed_user_import_handler.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/managed_mode/managed_user_constants.h"
14 #include "chrome/browser/managed_mode/managed_user_shared_settings_service.h"
15 #include "chrome/browser/managed_mode/managed_user_shared_settings_service_facto ry.h"
16 #include "chrome/browser/managed_mode/managed_user_sync_service.h"
17 #include "chrome/browser/managed_mode/managed_user_sync_service_factory.h"
18 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/profiles/profile_avatar_icon_util.h" 14 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
20 #include "chrome/browser/profiles/profile_info_cache.h" 15 #include "chrome/browser/profiles/profile_info_cache.h"
21 #include "chrome/browser/profiles/profile_manager.h" 16 #include "chrome/browser/profiles/profile_manager.h"
22 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 17 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
23 #include "chrome/browser/signin/signin_manager_factory.h" 18 #include "chrome/browser/signin/signin_manager_factory.h"
19 #include "chrome/browser/supervised_user/supervised_user_constants.h"
20 #include "chrome/browser/supervised_user/supervised_user_shared_settings_service .h"
21 #include "chrome/browser/supervised_user/supervised_user_shared_settings_service _factory.h"
22 #include "chrome/browser/supervised_user/supervised_user_sync_service.h"
23 #include "chrome/browser/supervised_user/supervised_user_sync_service_factory.h"
24 #include "chrome/common/pref_names.h" 24 #include "chrome/common/pref_names.h"
25 #include "chrome/common/url_constants.h" 25 #include "chrome/common/url_constants.h"
26 #include "components/signin/core/browser/profile_oauth2_token_service.h" 26 #include "components/signin/core/browser/profile_oauth2_token_service.h"
27 #include "components/signin/core/browser/signin_error_controller.h" 27 #include "components/signin/core/browser/signin_error_controller.h"
28 #include "components/signin/core/browser/signin_manager.h" 28 #include "components/signin/core/browser/signin_manager.h"
29 #include "content/public/browser/web_ui.h" 29 #include "content/public/browser/web_ui.h"
30 #include "grit/generated_resources.h" 30 #include "grit/generated_resources.h"
31 #include "grit/theme_resources.h" 31 #include "grit/theme_resources.h"
32 #include "ui/base/l10n/l10n_util.h" 32 #include "ui/base/l10n/l10n_util.h"
33 33
(...skipping 13 matching lines...) Expand all
47 47
48 namespace options { 48 namespace options {
49 49
50 ManagedUserImportHandler::ManagedUserImportHandler() 50 ManagedUserImportHandler::ManagedUserImportHandler()
51 : observer_(this), 51 : observer_(this),
52 weak_ptr_factory_(this) {} 52 weak_ptr_factory_(this) {}
53 53
54 ManagedUserImportHandler::~ManagedUserImportHandler() { 54 ManagedUserImportHandler::~ManagedUserImportHandler() {
55 Profile* profile = Profile::FromWebUI(web_ui()); 55 Profile* profile = Profile::FromWebUI(web_ui());
56 if (!profile->IsSupervised()) { 56 if (!profile->IsSupervised()) {
57 ManagedUserSyncService* service = 57 SupervisedUserSyncService* service =
58 ManagedUserSyncServiceFactory::GetForProfile(profile); 58 SupervisedUserSyncServiceFactory::GetForProfile(profile);
59 if (service) 59 if (service)
60 service->RemoveObserver(this); 60 service->RemoveObserver(this);
61 subscription_.reset(); 61 subscription_.reset();
62 } 62 }
63 } 63 }
64 64
65 void ManagedUserImportHandler::GetLocalizedValues( 65 void ManagedUserImportHandler::GetLocalizedValues(
66 base::DictionaryValue* localized_strings) { 66 base::DictionaryValue* localized_strings) {
67 DCHECK(localized_strings); 67 DCHECK(localized_strings);
68 68
(...skipping 11 matching lines...) Expand all
80 { "managedUserSelectAvatarOk", IDS_MANAGED_USER_SELECT_AVATAR_OK }, 80 { "managedUserSelectAvatarOk", IDS_MANAGED_USER_SELECT_AVATAR_OK },
81 }; 81 };
82 82
83 RegisterStrings(localized_strings, resources, arraysize(resources)); 83 RegisterStrings(localized_strings, resources, arraysize(resources));
84 localized_strings->Set("avatarIcons", GetAvatarIcons().release()); 84 localized_strings->Set("avatarIcons", GetAvatarIcons().release());
85 } 85 }
86 86
87 void ManagedUserImportHandler::InitializeHandler() { 87 void ManagedUserImportHandler::InitializeHandler() {
88 Profile* profile = Profile::FromWebUI(web_ui()); 88 Profile* profile = Profile::FromWebUI(web_ui());
89 if (!profile->IsSupervised()) { 89 if (!profile->IsSupervised()) {
90 ManagedUserSyncService* sync_service = 90 SupervisedUserSyncService* sync_service =
91 ManagedUserSyncServiceFactory::GetForProfile(profile); 91 SupervisedUserSyncServiceFactory::GetForProfile(profile);
92 if (sync_service) { 92 if (sync_service) {
93 sync_service->AddObserver(this); 93 sync_service->AddObserver(this);
94 observer_.Add(ProfileOAuth2TokenServiceFactory::GetForProfile(profile)-> 94 observer_.Add(ProfileOAuth2TokenServiceFactory::GetForProfile(profile)->
95 signin_error_controller()); 95 signin_error_controller());
96 ManagedUserSharedSettingsService* settings_service = 96 SupervisedUserSharedSettingsService* settings_service =
97 ManagedUserSharedSettingsServiceFactory::GetForBrowserContext( 97 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(
98 profile); 98 profile);
99 subscription_ = settings_service->Subscribe( 99 subscription_ = settings_service->Subscribe(
100 base::Bind(&ManagedUserImportHandler::OnSharedSettingChanged, 100 base::Bind(&ManagedUserImportHandler::OnSharedSettingChanged,
101 weak_ptr_factory_.GetWeakPtr())); 101 weak_ptr_factory_.GetWeakPtr()));
102 } else { 102 } else {
103 DCHECK(!ManagedUserSharedSettingsServiceFactory::GetForBrowserContext( 103 DCHECK(!SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(
104 profile)); 104 profile));
105 DCHECK(!ProfileOAuth2TokenServiceFactory::GetForProfile(profile)); 105 DCHECK(!ProfileOAuth2TokenServiceFactory::GetForProfile(profile));
106 } 106 }
107 } 107 }
108 } 108 }
109 109
110 void ManagedUserImportHandler::RegisterMessages() { 110 void ManagedUserImportHandler::RegisterMessages() {
111 web_ui()->RegisterMessageCallback("requestManagedUserImportUpdate", 111 web_ui()->RegisterMessageCallback("requestManagedUserImportUpdate",
112 base::Bind(&ManagedUserImportHandler::RequestManagedUserImportUpdate, 112 base::Bind(&ManagedUserImportHandler::RequestManagedUserImportUpdate,
113 base::Unretained(this))); 113 base::Unretained(this)));
114 } 114 }
115 115
116 void ManagedUserImportHandler::OnManagedUsersChanged() { 116 void ManagedUserImportHandler::OnSupervisedUsersChanged() {
117 FetchManagedUsers(); 117 FetchManagedUsers();
118 } 118 }
119 119
120 void ManagedUserImportHandler::FetchManagedUsers() { 120 void ManagedUserImportHandler::FetchManagedUsers() {
121 web_ui()->CallJavascriptFunction("options.ManagedUserListData.resetPromise"); 121 web_ui()->CallJavascriptFunction("options.ManagedUserListData.resetPromise");
122 RequestManagedUserImportUpdate(NULL); 122 RequestManagedUserImportUpdate(NULL);
123 } 123 }
124 124
125 void ManagedUserImportHandler::RequestManagedUserImportUpdate( 125 void ManagedUserImportHandler::RequestManagedUserImportUpdate(
126 const base::ListValue* /* args */) { 126 const base::ListValue* /* args */) {
127 if (Profile::FromWebUI(web_ui())->IsSupervised()) 127 if (Profile::FromWebUI(web_ui())->IsSupervised())
128 return; 128 return;
129 129
130 if (!IsAccountConnected() || HasAuthError()) { 130 if (!IsAccountConnected() || HasAuthError()) {
131 ClearManagedUsersAndShowError(); 131 ClearManagedUsersAndShowError();
132 } else { 132 } else {
133 ManagedUserSyncService* managed_user_sync_service = 133 SupervisedUserSyncService* supervised_user_sync_service =
134 ManagedUserSyncServiceFactory::GetForProfile( 134 SupervisedUserSyncServiceFactory::GetForProfile(
135 Profile::FromWebUI(web_ui())); 135 Profile::FromWebUI(web_ui()));
136 if (managed_user_sync_service) { 136 if (supervised_user_sync_service) {
137 managed_user_sync_service->GetManagedUsersAsync( 137 supervised_user_sync_service->GetSupervisedUsersAsync(
138 base::Bind(&ManagedUserImportHandler::SendExistingManagedUsers, 138 base::Bind(&ManagedUserImportHandler::SendExistingManagedUsers,
139 weak_ptr_factory_.GetWeakPtr())); 139 weak_ptr_factory_.GetWeakPtr()));
140 } 140 }
141 } 141 }
142 } 142 }
143 143
144 void ManagedUserImportHandler::SendExistingManagedUsers( 144 void ManagedUserImportHandler::SendExistingManagedUsers(
145 const base::DictionaryValue* dict) { 145 const base::DictionaryValue* dict) {
146 DCHECK(dict); 146 DCHECK(dict);
147 const ProfileInfoCache& cache = 147 const ProfileInfoCache& cache =
148 g_browser_process->profile_manager()->GetProfileInfoCache(); 148 g_browser_process->profile_manager()->GetProfileInfoCache();
149 149
150 // Collect the ids of local supervised user profiles. 150 // Collect the ids of local supervised user profiles.
151 std::set<std::string> managed_user_ids; 151 std::set<std::string> supervised_user_ids;
152 for (size_t i = 0; i < cache.GetNumberOfProfiles(); ++i) { 152 for (size_t i = 0; i < cache.GetNumberOfProfiles(); ++i) {
153 if (cache.ProfileIsSupervisedAtIndex(i)) 153 if (cache.ProfileIsSupervisedAtIndex(i))
154 managed_user_ids.insert(cache.GetSupervisedUserIdOfProfileAtIndex(i)); 154 supervised_user_ids.insert(cache.GetSupervisedUserIdOfProfileAtIndex(i));
155 } 155 }
156 156
157 base::ListValue managed_users; 157 base::ListValue supervised_users;
158 Profile* profile = Profile::FromWebUI(web_ui()); 158 Profile* profile = Profile::FromWebUI(web_ui());
159 ManagedUserSharedSettingsService* service = 159 SupervisedUserSharedSettingsService* service =
160 ManagedUserSharedSettingsServiceFactory::GetForBrowserContext(profile); 160 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(profile);
161 for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { 161 for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) {
162 const base::DictionaryValue* value = NULL; 162 const base::DictionaryValue* value = NULL;
163 bool success = it.value().GetAsDictionary(&value); 163 bool success = it.value().GetAsDictionary(&value);
164 DCHECK(success); 164 DCHECK(success);
165 std::string name; 165 std::string name;
166 value->GetString(ManagedUserSyncService::kName, &name); 166 value->GetString(SupervisedUserSyncService::kName, &name);
167 167
168 base::DictionaryValue* managed_user = new base::DictionaryValue; 168 base::DictionaryValue* supervised_user = new base::DictionaryValue;
169 managed_user->SetString("id", it.key()); 169 supervised_user->SetString("id", it.key());
170 managed_user->SetString("name", name); 170 supervised_user->SetString("name", name);
171 171
172 int avatar_index = ManagedUserSyncService::kNoAvatar; 172 int avatar_index = SupervisedUserSyncService::kNoAvatar;
173 const base::Value* avatar_index_value = 173 const base::Value* avatar_index_value =
174 service->GetValue(it.key(), managed_users::kChromeAvatarIndex); 174 service->GetValue(it.key(), supervised_users::kChromeAvatarIndex);
175 if (avatar_index_value) { 175 if (avatar_index_value) {
176 success = avatar_index_value->GetAsInteger(&avatar_index); 176 success = avatar_index_value->GetAsInteger(&avatar_index);
177 } else { 177 } else {
178 // Check if there is a legacy avatar index stored. 178 // Check if there is a legacy avatar index stored.
179 std::string avatar_str; 179 std::string avatar_str;
180 value->GetString(ManagedUserSyncService::kChromeAvatar, &avatar_str); 180 value->GetString(SupervisedUserSyncService::kChromeAvatar, &avatar_str);
181 success = 181 success =
182 ManagedUserSyncService::GetAvatarIndex(avatar_str, &avatar_index); 182 SupervisedUserSyncService::GetAvatarIndex(avatar_str, &avatar_index);
183 } 183 }
184 DCHECK(success); 184 DCHECK(success);
185 managed_user->SetBoolean("needAvatar", 185 supervised_user->SetBoolean(
186 avatar_index == ManagedUserSyncService::kNoAvatar); 186 "needAvatar",
187 avatar_index == SupervisedUserSyncService::kNoAvatar);
187 188
188 std::string supervised_user_icon = 189 std::string supervised_user_icon =
189 std::string(chrome::kChromeUIThemeURL) + 190 std::string(chrome::kChromeUIThemeURL) +
190 "IDR_SUPERVISED_USER_PLACEHOLDER"; 191 "IDR_SUPERVISED_USER_PLACEHOLDER";
191 std::string avatar_url = 192 std::string avatar_url =
192 avatar_index == ManagedUserSyncService::kNoAvatar ? 193 avatar_index == SupervisedUserSyncService::kNoAvatar ?
193 supervised_user_icon : 194 supervised_user_icon :
194 profiles::GetDefaultAvatarIconUrl(avatar_index); 195 profiles::GetDefaultAvatarIconUrl(avatar_index);
195 managed_user->SetString("iconURL", avatar_url); 196 supervised_user->SetString("iconURL", avatar_url);
196 bool on_current_device = 197 bool on_current_device =
197 managed_user_ids.find(it.key()) != managed_user_ids.end(); 198 supervised_user_ids.find(it.key()) != supervised_user_ids.end();
198 managed_user->SetBoolean("onCurrentDevice", on_current_device); 199 supervised_user->SetBoolean("onCurrentDevice", on_current_device);
199 200
200 managed_users.Append(managed_user); 201 supervised_users.Append(supervised_user);
201 } 202 }
202 203
203 web_ui()->CallJavascriptFunction( 204 web_ui()->CallJavascriptFunction(
204 "options.ManagedUserListData.receiveExistingManagedUsers", 205 "options.ManagedUserListData.receiveExistingManagedUsers",
205 managed_users); 206 supervised_users);
206 } 207 }
207 208
208 void ManagedUserImportHandler::ClearManagedUsersAndShowError() { 209 void ManagedUserImportHandler::ClearManagedUsersAndShowError() {
209 web_ui()->CallJavascriptFunction("options.ManagedUserListData.onSigninError"); 210 web_ui()->CallJavascriptFunction("options.ManagedUserListData.onSigninError");
210 } 211 }
211 212
212 bool ManagedUserImportHandler::IsAccountConnected() const { 213 bool ManagedUserImportHandler::IsAccountConnected() const {
213 Profile* profile = Profile::FromWebUI(web_ui()); 214 Profile* profile = Profile::FromWebUI(web_ui());
214 SigninManagerBase* signin_manager = 215 SigninManagerBase* signin_manager =
215 SigninManagerFactory::GetForProfile(profile); 216 SigninManagerFactory::GetForProfile(profile);
(...skipping 12 matching lines...) Expand all
228 229
229 GoogleServiceAuthError::State state = error_controller->auth_error().state(); 230 GoogleServiceAuthError::State state = error_controller->auth_error().state();
230 231
231 return state == GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS || 232 return state == GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS ||
232 state == GoogleServiceAuthError::USER_NOT_SIGNED_UP || 233 state == GoogleServiceAuthError::USER_NOT_SIGNED_UP ||
233 state == GoogleServiceAuthError::ACCOUNT_DELETED || 234 state == GoogleServiceAuthError::ACCOUNT_DELETED ||
234 state == GoogleServiceAuthError::ACCOUNT_DISABLED; 235 state == GoogleServiceAuthError::ACCOUNT_DISABLED;
235 } 236 }
236 237
237 void ManagedUserImportHandler::OnSharedSettingChanged( 238 void ManagedUserImportHandler::OnSharedSettingChanged(
238 const std::string& managed_user_id, 239 const std::string& supervised_user_id,
239 const std::string& key) { 240 const std::string& key) {
240 if (key == managed_users::kChromeAvatarIndex) 241 if (key == supervised_users::kChromeAvatarIndex)
241 FetchManagedUsers(); 242 FetchManagedUsers();
242 } 243 }
243 244
244 void ManagedUserImportHandler::OnErrorChanged() { 245 void ManagedUserImportHandler::OnErrorChanged() {
245 FetchManagedUsers(); 246 FetchManagedUsers();
246 } 247 }
247 248
248 } // namespace options 249 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698