Chromium Code Reviews| Index: chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc |
| diff --git a/chrome/browser/ui/webui/options/manage_profile_handler.cc b/chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc |
| similarity index 36% |
| copy from chrome/browser/ui/webui/options/manage_profile_handler.cc |
| copy to chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc |
| index f2aa14c7cb4312dc4da49fa6f52a546c8b7f25d4..a530704fa87579a1752d0997f3373f035eae56c7 100644 |
| --- a/chrome/browser/ui/webui/options/manage_profile_handler.cc |
| +++ b/chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc |
| @@ -1,8 +1,8 @@ |
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "chrome/browser/ui/webui/options/manage_profile_handler.h" |
| +#include "chrome/browser/ui/webui/settings/settings_manage_profile_handler.h" |
|
Dan Beam
2015/12/28 23:28:57
why did this need a "Settings" in front? it's in
tommycli
2016/01/04 21:40:13
Yeah other compiler complications. Originally it w
|
| #include "base/bind.h" |
| #include "base/bind_helpers.h" |
| @@ -25,14 +25,12 @@ |
| #include "chrome/browser/profiles/profile_window.h" |
| #include "chrome/browser/profiles/profiles_state.h" |
| #include "chrome/browser/signin/signin_manager_factory.h" |
| -#include "chrome/browser/sync/profile_sync_service_factory.h" |
| #include "chrome/browser/ui/browser_finder.h" |
| #include "chrome/browser/ui/webui/options/options_handlers_helper.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/grit/chromium_strings.h" |
| #include "chrome/grit/generated_resources.h" |
| -#include "components/browser_sync/browser/profile_sync_service.h" |
| #include "components/signin/core/browser/signin_manager.h" |
| #include "components/signin/core/common/profile_management_switches.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -42,122 +40,16 @@ |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/webui/web_ui_util.h" |
| -#if defined(ENABLE_SETTINGS_APP) |
| -#include "chrome/browser/ui/app_list/app_list_service.h" |
| -#include "content/public/browser/web_contents.h" |
| -#endif |
| +namespace settings { |
| -namespace options { |
| - |
| -namespace { |
| - |
| -const char kCreateProfileIdentifier[] = "create"; |
| -const char kManageProfileIdentifier[] = "manage"; |
| - |
| -// Given |args| from the WebUI, parses value 0 as a FilePath |profile_file_path| |
| -// and returns true on success. |
| -bool GetProfilePathFromArgs(const base::ListValue* args, |
| - base::FilePath* profile_file_path) { |
| - const base::Value* file_path_value; |
| - if (!args->Get(0, &file_path_value)) |
| - return false; |
| - return base::GetValueAsFilePath(*file_path_value, profile_file_path); |
| -} |
| - |
| -void HandleLogDeleteUserDialogShown(const base::ListValue* args) { |
| - ProfileMetrics::LogProfileDeleteUser( |
| - ProfileMetrics::DELETE_PROFILE_SETTINGS_SHOW_WARNING); |
| -} |
| - |
| -} // namespace |
| - |
| -ManageProfileHandler::ManageProfileHandler() |
| - : weak_factory_(this) { |
| -} |
| - |
| -ManageProfileHandler::~ManageProfileHandler() { |
| - ProfileSyncService* service = |
| - ProfileSyncServiceFactory::GetForProfile(Profile::FromWebUI(web_ui())); |
| - // Sync may be disabled in tests. |
| - if (service) |
| - service->RemoveObserver(this); |
| -} |
| - |
| -void ManageProfileHandler::GetLocalizedValues( |
| - base::DictionaryValue* localized_strings) { |
| - DCHECK(localized_strings); |
| - |
| - static OptionsStringResource resources[] = { |
| - { "manageProfilesNameLabel", IDS_PROFILES_MANAGE_NAME_LABEL }, |
| - { "manageProfilesIconLabel", IDS_PROFILES_MANAGE_ICON_LABEL }, |
| - { "manageProfilesExistingSupervisedUser", |
| - IDS_PROFILES_CREATE_LEGACY_SUPERVISED_USER_ERROR_EXISTS_REMOTELY }, |
| - { "managedProfilesExistingLocalSupervisedUser", |
| - IDS_PROFILES_CREATE_LEGACY_SUPERVISED_USER_ERROR_EXISTS_LOCALLY }, |
| - { "manageProfilesSupervisedSignedInLabel", |
| - IDS_PROFILES_CREATE_SUPERVISED_SIGNED_IN_LABEL }, |
| - { "manageProfilesSupervisedNotSignedIn", |
| - IDS_PROFILES_CREATE_SUPERVISED_NOT_SIGNED_IN_HTML }, |
| - { "manageProfilesSupervisedAccountDetailsOutOfDate", |
| - IDS_PROFILES_CREATE_SUPERVISED_ACCOUNT_DETAILS_OUT_OF_DATE_LABEL }, |
| - { "manageProfilesSupervisedSignInAgainLink", |
| - IDS_PROFILES_GAIA_REAUTH_TITLE }, |
| - { "manageProfilesConfirm", IDS_SAVE }, |
| - { "deleteProfileTitle", IDS_PROFILES_DELETE_TITLE }, |
| - { "deleteProfileOK", IDS_PROFILES_DELETE_OK_BUTTON_LABEL }, |
| - { "deleteProfileMessage", IDS_PROFILES_DELETE_MESSAGE }, |
| - { "disconnectManagedProfileTitle", |
| - IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_TITLE }, |
| - { "disconnectManagedProfileOK", |
| - IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_OK_BUTTON_LABEL }, |
| - { "createProfileTitle", IDS_PROFILES_CREATE_TITLE }, |
| - { "createProfileInstructions", IDS_PROFILES_CREATE_INSTRUCTIONS }, |
| - { "createProfileConfirm", IDS_ADD }, |
| - { "createProfileShortcutCheckbox", IDS_PROFILES_CREATE_SHORTCUT_CHECKBOX }, |
| - { "createProfileShortcutButton", IDS_PROFILES_CREATE_SHORTCUT_BUTTON }, |
| - { "removeProfileShortcutButton", IDS_PROFILES_REMOVE_SHORTCUT_BUTTON }, |
| - { "importExistingSupervisedUserLink", |
| - IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_TITLE }, |
| - }; |
| - |
| - RegisterStrings(localized_strings, resources, arraysize(resources)); |
| - RegisterTitle(localized_strings, "manageProfile", IDS_PROFILES_MANAGE_TITLE); |
| - RegisterTitle(localized_strings, "createProfile", IDS_PROFILES_CREATE_TITLE); |
| - |
| - base::string16 supervised_user_dashboard_url = |
| - base::ASCIIToUTF16(chrome::kLegacySupervisedUserManagementURL); |
| - base::string16 supervised_user_dashboard_display = |
| - base::ASCIIToUTF16(chrome::kLegacySupervisedUserManagementDisplayURL); |
| - localized_strings->SetString("deleteSupervisedProfileAddendum", |
| - l10n_util::GetStringFUTF16(IDS_PROFILES_DELETE_LEGACY_SUPERVISED_ADDENDUM, |
| - supervised_user_dashboard_url, |
| - supervised_user_dashboard_display)); |
| - |
| - localized_strings->SetBoolean("profileShortcutsEnabled", |
| - ProfileShortcutManager::IsFeatureEnabled()); |
| - |
| - GenerateSignedinUserSpecificStrings(localized_strings); |
| -} |
| - |
| -void ManageProfileHandler::InitializeHandler() { |
| +ManageProfileHandler::ManageProfileHandler(Profile* profile) |
| + : profile_(profile), weak_factory_(this) { |
| g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this); |
| - |
| - Profile* profile = Profile::FromWebUI(web_ui()); |
| - pref_change_registrar_.Init(profile->GetPrefs()); |
| - pref_change_registrar_.Add( |
| - prefs::kSupervisedUserCreationAllowed, |
| - base::Bind(&ManageProfileHandler::OnCreateSupervisedUserPrefChange, |
| - base::Unretained(this))); |
| - ProfileSyncService* service = |
| - ProfileSyncServiceFactory::GetForProfile(profile); |
| - // Sync may be disabled for tests. |
| - if (service) |
| - service->AddObserver(this); |
| } |
| -void ManageProfileHandler::InitializePage() { |
| - SendExistingProfileNames(); |
| - OnCreateSupervisedUserPrefChange(); |
| +ManageProfileHandler::~ManageProfileHandler() { |
| + g_browser_process->profile_manager()-> |
| + GetProfileInfoCache().RemoveObserver(this); |
| } |
| void ManageProfileHandler::RegisterMessages() { |
| @@ -167,23 +59,12 @@ void ManageProfileHandler::RegisterMessages() { |
| web_ui()->RegisterMessageCallback("requestDefaultProfileIcons", |
| base::Bind(&ManageProfileHandler::RequestDefaultProfileIcons, |
| base::Unretained(this))); |
| - web_ui()->RegisterMessageCallback("requestNewProfileDefaults", |
| - base::Bind(&ManageProfileHandler::RequestNewProfileDefaults, |
| - base::Unretained(this))); |
| web_ui()->RegisterMessageCallback("requestHasProfileShortcuts", |
| base::Bind(&ManageProfileHandler::RequestHasProfileShortcuts, |
| base::Unretained(this))); |
| - web_ui()->RegisterMessageCallback("requestCreateProfileUpdate", |
| - base::Bind(&ManageProfileHandler::RequestCreateProfileUpdate, |
| - base::Unretained(this))); |
| web_ui()->RegisterMessageCallback("profileIconSelectionChanged", |
| base::Bind(&ManageProfileHandler::ProfileIconSelectionChanged, |
| base::Unretained(this))); |
| -#if defined(ENABLE_SETTINGS_APP) |
| - web_ui()->RegisterMessageCallback("switchAppListProfile", |
| - base::Bind(&ManageProfileHandler::SwitchAppListProfile, |
| - base::Unretained(this))); |
| -#endif |
| web_ui()->RegisterMessageCallback("addProfileShortcut", |
| base::Bind(&ManageProfileHandler::AddProfileShortcut, |
| base::Unretained(this))); |
| @@ -193,129 +74,38 @@ void ManageProfileHandler::RegisterMessages() { |
| web_ui()->RegisterMessageCallback("refreshGaiaPicture", |
| base::Bind(&ManageProfileHandler::RefreshGaiaPicture, |
| base::Unretained(this))); |
| - web_ui()->RegisterMessageCallback( |
| - "showDisconnectManagedProfileDialog", |
| - base::Bind(&ManageProfileHandler::ShowDisconnectManagedProfileDialog, |
| - base::Unretained(this))); |
| - web_ui()->RegisterMessageCallback("logDeleteUserDialogShown", |
| - base::Bind(&HandleLogDeleteUserDialogShown)); |
| -} |
| - |
| -void ManageProfileHandler::Uninitialize() { |
| - g_browser_process->profile_manager()-> |
| - GetProfileInfoCache().RemoveObserver(this); |
| -} |
| - |
| -void ManageProfileHandler::OnProfileAdded(const base::FilePath& profile_path) { |
| - SendExistingProfileNames(); |
| -} |
| - |
| -void ManageProfileHandler::OnProfileWasRemoved( |
| - const base::FilePath& profile_path, |
| - const base::string16& profile_name) { |
| - SendExistingProfileNames(); |
| } |
| void ManageProfileHandler::OnProfileNameChanged( |
| const base::FilePath& profile_path, |
| const base::string16& old_profile_name) { |
| - base::StringValue value(kManageProfileIdentifier); |
| - SendProfileIconsAndNames(value); |
| + SendAvailableIcons(); |
| } |
| void ManageProfileHandler::OnProfileAvatarChanged( |
| const base::FilePath& profile_path) { |
| - base::StringValue value(kManageProfileIdentifier); |
| - SendProfileIconsAndNames(value); |
| -} |
| - |
| -void ManageProfileHandler::OnStateChanged() { |
| - RequestCreateProfileUpdate(NULL); |
| -} |
| - |
| -void ManageProfileHandler::GenerateSignedinUserSpecificStrings( |
| - base::DictionaryValue* dictionary) { |
| - std::string username; |
| - std::string domain_name; |
| - |
| -#if !defined(OS_CHROMEOS) |
| - Profile* profile = Profile::FromWebUI(web_ui()); |
| - DCHECK(profile); |
| - SigninManagerBase* manager = SigninManagerFactory::GetForProfile(profile); |
| - if (manager) { |
| - username = manager->GetAuthenticatedAccountInfo().email; |
| - // If there is no one logged in or if the profile name is empty then the |
| - // domain name is empty. This happens in browser tests. |
| - if (!username.empty()) { |
| - domain_name = "<span id=disconnect-managed-profile-domain-name>" + |
| - gaia::ExtractDomainName(username) + "</span>"; |
| - } |
| - } |
| -#endif |
| - |
| - dictionary->SetString( |
| - "disconnectManagedProfileDomainInformation", |
| - l10n_util::GetStringFUTF16( |
| - IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_DOMAIN_INFORMATION, |
| - base::ASCIIToUTF16(domain_name))); |
| - |
| - dictionary->SetString( |
| - "disconnectManagedProfileText", |
| - l10n_util::GetStringFUTF16( |
| - IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_TEXT, |
| - base::UTF8ToUTF16(username), |
| - base::UTF8ToUTF16(chrome::kSyncGoogleDashboardURL))); |
| + SendAvailableIcons(); |
| } |
| void ManageProfileHandler::RequestDefaultProfileIcons( |
| const base::ListValue* args) { |
| - std::string mode; |
| - bool ok = args->GetString(0, &mode); |
| - DCHECK(ok); |
| - DCHECK(mode == kCreateProfileIdentifier || mode == kManageProfileIdentifier); |
| - if (ok) { |
| - base::StringValue value(mode); |
| - SendProfileIconsAndNames(value); |
| - } |
| -} |
| - |
| -void ManageProfileHandler::RequestNewProfileDefaults( |
| - const base::ListValue* args) { |
| - const ProfileInfoCache& cache = |
| - g_browser_process->profile_manager()->GetProfileInfoCache(); |
| - const size_t icon_index = cache.ChooseAvatarIconIndexForNewProfile(); |
| - |
| - base::DictionaryValue profile_info; |
| - profile_info.SetString("name", cache.ChooseNameForNewProfile(icon_index)); |
| - profile_info.SetString("iconURL", |
| - profiles::GetDefaultAvatarIconUrl(icon_index)); |
| - |
| - web_ui()->CallJavascriptFunction( |
| - "ManageProfileOverlay.receiveNewProfileDefaults", profile_info); |
| + SendAvailableIcons(); |
| } |
| -void ManageProfileHandler::SendProfileIconsAndNames( |
| - const base::StringValue& mode) { |
| +void ManageProfileHandler::SendAvailableIcons() { |
| base::ListValue image_url_list; |
| - base::ListValue default_name_list; |
| - |
| const ProfileInfoCache& cache = |
| g_browser_process->profile_manager()->GetProfileInfoCache(); |
| - // In manage mode, first add the GAIA picture if it is available. No GAIA |
| - // picture in create mode. |
| - if (mode.GetString() == kManageProfileIdentifier) { |
| - Profile* profile = Profile::FromWebUI(web_ui()); |
| - size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); |
| - if (profile_index != std::string::npos) { |
| - const gfx::Image* icon = |
| - cache.GetGAIAPictureOfProfileAtIndex(profile_index); |
| - if (icon) { |
| - gfx::Image icon2 = profiles::GetAvatarIconForWebUI(*icon, true); |
| - gaia_picture_url_ = webui::GetBitmapDataUrl(icon2.AsBitmap()); |
| - image_url_list.AppendString(gaia_picture_url_); |
| - default_name_list.AppendString(std::string()); |
| - } |
| + // First add the GAIA picture if it is available. |
| + size_t profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
| + if (profile_index != std::string::npos) { |
| + const gfx::Image* icon = |
| + cache.GetGAIAPictureOfProfileAtIndex(profile_index); |
| + if (icon) { |
| + gfx::Image icon2 = profiles::GetAvatarIconForWebUI(*icon, true); |
| + gaia_picture_url_ = webui::GetBitmapDataUrl(icon2.AsBitmap()); |
| + image_url_list.AppendString(gaia_picture_url_); |
| } |
| } |
| @@ -323,52 +113,21 @@ void ManageProfileHandler::SendProfileIconsAndNames( |
| for (size_t i = 0; i < profiles::GetDefaultAvatarIconCount(); i++) { |
| std::string url = profiles::GetDefaultAvatarIconUrl(i); |
| image_url_list.AppendString(url); |
| - default_name_list.AppendString(cache.ChooseNameForNewProfile(i)); |
| - } |
| - |
| - web_ui()->CallJavascriptFunction( |
| - "ManageProfileOverlay.receiveDefaultProfileIconsAndNames", mode, |
| - image_url_list, default_name_list); |
| -} |
| - |
| -void ManageProfileHandler::SendExistingProfileNames() { |
| - const ProfileInfoCache& cache = |
| - g_browser_process->profile_manager()->GetProfileInfoCache(); |
| - base::DictionaryValue profile_name_dict; |
| - for (size_t i = 0, e = cache.GetNumberOfProfiles(); i < e; ++i) { |
| - profile_name_dict.SetBoolean( |
| - base::UTF16ToUTF8(cache.GetNameOfProfileAtIndex(i)), true); |
| } |
| web_ui()->CallJavascriptFunction( |
| - "ManageProfileOverlay.receiveExistingProfileNames", profile_name_dict); |
| -} |
| - |
| -void ManageProfileHandler::ShowDisconnectManagedProfileDialog( |
| - const base::ListValue* args) { |
| - base::DictionaryValue replacements; |
| - GenerateSignedinUserSpecificStrings(&replacements); |
| - web_ui()->CallJavascriptFunction( |
| - "ManageProfileOverlay.showDisconnectManagedProfileDialog", replacements); |
| + "settings.SyncPrivateApi.receiveAvailableIcons", |
| + image_url_list); |
| } |
| void ManageProfileHandler::SetProfileIconAndName(const base::ListValue* args) { |
| DCHECK(args); |
| - base::FilePath profile_file_path; |
| - if (!GetProfilePathFromArgs(args, &profile_file_path)) |
| - return; |
| - |
| - Profile* profile = |
| - g_browser_process->profile_manager()->GetProfile(profile_file_path); |
| - if (!profile) |
| - return; |
| - |
| std::string icon_url; |
| - if (!args->GetString(1, &icon_url)) |
| + if (!args->GetString(0, &icon_url)) |
| return; |
| - PrefService* pref_service = profile->GetPrefs(); |
| + PrefService* pref_service = profile_->GetPrefs(); |
| // Updating the profile preferences will cause the cache to be updated. |
| // Metrics logging variable. |
| @@ -394,55 +153,26 @@ void ManageProfileHandler::SetProfileIconAndName(const base::ListValue* args) { |
| // Only default avatars and Gaia account photos are supported. |
| CHECK(false); |
| } |
| - ProfileMetrics::LogProfileUpdate(profile_file_path); |
| + ProfileMetrics::LogProfileUpdate(profile_->GetPath()); |
| - if (profile->IsLegacySupervised()) |
| + if (profile_->IsLegacySupervised()) |
| return; |
| base::string16 new_profile_name; |
| - if (!args->GetString(2, &new_profile_name)) |
| + if (!args->GetString(1, &new_profile_name)) |
| return; |
| base::TrimWhitespace(new_profile_name, base::TRIM_ALL, &new_profile_name); |
| CHECK(!new_profile_name.empty()); |
| - profiles::UpdateProfileName(profile, new_profile_name); |
| -} |
| - |
| -#if defined(ENABLE_SETTINGS_APP) |
| -void ManageProfileHandler::SwitchAppListProfile(const base::ListValue* args) { |
| - DCHECK(args); |
| - DCHECK(profiles::IsMultipleProfilesEnabled()); |
| - |
| - const base::Value* file_path_value; |
| - base::FilePath profile_file_path; |
| - if (!args->Get(0, &file_path_value) || |
| - !base::GetValueAsFilePath(*file_path_value, &profile_file_path)) |
| - return; |
| - |
| - AppListService* app_list_service = AppListService::Get( |
| - options::helper::GetDesktopType(web_ui())); |
| - app_list_service->SetProfilePath(profile_file_path); |
| - app_list_service->Show(); |
| - |
| - // Close the settings app, since it will now be for the wrong profile. |
| - web_ui()->GetWebContents()->Close(); |
| + profiles::UpdateProfileName(profile_, new_profile_name); |
| } |
| -#endif // defined(ENABLE_SETTINGS_APP) |
| void ManageProfileHandler::ProfileIconSelectionChanged( |
| const base::ListValue* args) { |
| DCHECK(args); |
| - base::FilePath profile_file_path; |
| - if (!GetProfilePathFromArgs(args, &profile_file_path)) |
| - return; |
| - |
| - // Currently this only supports editing the current profile's info. |
| - if (profile_file_path != Profile::FromWebUI(web_ui())->GetPath()) |
| - return; |
| - |
| std::string icon_url; |
| - if (!args->GetString(1, &icon_url)) |
| + if (!args->GetString(0, &icon_url)) |
| return; |
| if (icon_url != gaia_picture_url_) |
| @@ -453,7 +183,7 @@ void ManageProfileHandler::ProfileIconSelectionChanged( |
| // or the first name. |
| ProfileInfoCache& cache = |
| g_browser_process->profile_manager()->GetProfileInfoCache(); |
| - size_t profile_index = cache.GetIndexOfProfileWithPath(profile_file_path); |
| + size_t profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
| if (profile_index == std::string::npos) |
| return; |
| base::string16 gaia_name = cache.GetNameOfProfileAtIndex(profile_index); |
| @@ -461,9 +191,9 @@ void ManageProfileHandler::ProfileIconSelectionChanged( |
| return; |
| base::StringValue gaia_name_value(gaia_name); |
| - base::StringValue mode_value(kManageProfileIdentifier); |
| - web_ui()->CallJavascriptFunction("ManageProfileOverlay.setProfileName", |
| - gaia_name_value, mode_value); |
| + web_ui()->CallJavascriptFunction( |
| + "settings.SyncPrivateApi.setProfileName", |
| + gaia_name_value); |
| } |
| void ManageProfileHandler::RequestHasProfileShortcuts( |
| @@ -471,13 +201,9 @@ void ManageProfileHandler::RequestHasProfileShortcuts( |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| DCHECK(ProfileShortcutManager::IsFeatureEnabled()); |
| - base::FilePath profile_file_path; |
| - if (!GetProfilePathFromArgs(args, &profile_file_path)) |
| - return; |
| - |
| const ProfileInfoCache& cache = |
| g_browser_process->profile_manager()->GetProfileInfoCache(); |
| - size_t profile_index = cache.GetIndexOfProfileWithPath(profile_file_path); |
| + size_t profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
| if (profile_index == std::string::npos) |
| return; |
| @@ -494,76 +220,34 @@ void ManageProfileHandler::RequestHasProfileShortcuts( |
| weak_factory_.GetWeakPtr())); |
| } |
| -void ManageProfileHandler::RequestCreateProfileUpdate( |
| - const base::ListValue* args) { |
| - Profile* profile = Profile::FromWebUI(web_ui()); |
| - SigninManagerBase* manager = |
| - SigninManagerFactory::GetForProfile(profile); |
| - base::string16 username = |
| - base::UTF8ToUTF16(manager->GetAuthenticatedAccountInfo().email); |
| - ProfileSyncService* service = |
| - ProfileSyncServiceFactory::GetForProfile(profile); |
| - GoogleServiceAuthError::State state = GoogleServiceAuthError::NONE; |
| - |
| - // |service| might be null if Sync is disabled from the command line. |
| - if (service) |
| - state = service->GetAuthError().state(); |
| - |
| - bool has_error = (!service || |
| - state == GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS || |
| - state == GoogleServiceAuthError::USER_NOT_SIGNED_UP || |
| - state == GoogleServiceAuthError::ACCOUNT_DELETED || |
| - state == GoogleServiceAuthError::ACCOUNT_DISABLED); |
| - web_ui()->CallJavascriptFunction("CreateProfileOverlay.updateSignedInStatus", |
| - base::StringValue(username), |
| - base::FundamentalValue(has_error)); |
| - |
| - OnCreateSupervisedUserPrefChange(); |
| -} |
| - |
| -void ManageProfileHandler::OnCreateSupervisedUserPrefChange() { |
| - PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); |
| - base::FundamentalValue allowed( |
| - prefs->GetBoolean(prefs::kSupervisedUserCreationAllowed)); |
| - web_ui()->CallJavascriptFunction( |
| - "CreateProfileOverlay.updateSupervisedUsersAllowed", allowed); |
| -} |
| - |
| void ManageProfileHandler::OnHasProfileShortcuts(bool has_shortcuts) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| const base::FundamentalValue has_shortcuts_value(has_shortcuts); |
| web_ui()->CallJavascriptFunction( |
| - "ManageProfileOverlay.receiveHasProfileShortcuts", has_shortcuts_value); |
| + "settings.SyncPrivateApi.receiveHasProfileShortcuts", |
| + has_shortcuts_value); |
| } |
| void ManageProfileHandler::AddProfileShortcut(const base::ListValue* args) { |
| - base::FilePath profile_file_path; |
| - if (!GetProfilePathFromArgs(args, &profile_file_path)) |
| - return; |
| - |
| DCHECK(ProfileShortcutManager::IsFeatureEnabled()); |
| ProfileShortcutManager* shortcut_manager = |
| g_browser_process->profile_manager()->profile_shortcut_manager(); |
| DCHECK(shortcut_manager); |
| - shortcut_manager->CreateProfileShortcut(profile_file_path); |
| + shortcut_manager->CreateProfileShortcut(profile_->GetPath()); |
| // Update the UI buttons. |
| OnHasProfileShortcuts(true); |
| } |
| void ManageProfileHandler::RemoveProfileShortcut(const base::ListValue* args) { |
| - base::FilePath profile_file_path; |
| - if (!GetProfilePathFromArgs(args, &profile_file_path)) |
| - return; |
| - |
| DCHECK(ProfileShortcutManager::IsFeatureEnabled()); |
| ProfileShortcutManager* shortcut_manager = |
| g_browser_process->profile_manager()->profile_shortcut_manager(); |
| DCHECK(shortcut_manager); |
| - shortcut_manager->RemoveProfileShortcuts(profile_file_path); |
| + shortcut_manager->RemoveProfileShortcuts(profile_->GetPath()); |
| // Update the UI buttons. |
| OnHasProfileShortcuts(false); |
| @@ -573,4 +257,4 @@ void ManageProfileHandler::RefreshGaiaPicture(const base::ListValue* args) { |
| profiles::UpdateGaiaProfileInfoIfNeeded(Profile::FromWebUI(web_ui())); |
| } |
| -} // namespace options |
| +} // namespace settings |