Index: chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
index 6887224827e7b10446995c7b751d0b0e0774d125..67598733871e1bef56d2c7d389810e25cee64d45 100644 |
--- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
+++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
@@ -81,7 +81,8 @@ const char kJsApiUserManagerRemoveUser[] = "removeUser"; |
const char kJsApiUserManagerAttemptUnlock[] = "attemptUnlock"; |
const char kJsApiUserManagerLogRemoveUserWarningShown[] = |
"logRemoveUserWarningShown"; |
- |
+const char kJsApiUserManagerRemoveUserWarningLoadStats[] = |
+ "removeUserWarningLoadStats"; |
const size_t kAvatarIconSize = 180; |
const int kMaxOAuthRetries = 3; |
@@ -571,6 +572,46 @@ void UserManagerScreenHandler::HandleHardlockUserPod( |
HideUserPodCustomIcon(email); |
} |
+void UserManagerScreenHandler::HandleRemoveUserWarningLoadStats( |
+ const base::ListValue* args) { |
+ const base::Value* profile_path_value; |
+ if (!args->Get(0, &profile_path_value)) |
+ return; |
+ |
+ base::FilePath* profile_path = new base::FilePath(); |
+ if (!base::GetValueAsFilePath(*profile_path_value, profile_path)) { |
+ delete profile_path; |
+ return; |
+ } |
+ |
+ Profile* profile = g_browser_process->profile_manager()-> |
+ GetProfileByPath(*profile_path); |
+ |
+ if (!profile) { |
+ delete profile_path; |
+ return; |
+ } |
+ |
+ profiles::GetProfileStatistics(profile, |
+ base::Bind(&UserManagerScreenHandler::RemoveUserDialogLoadStatsCallback, |
+ weak_ptr_factory_.GetWeakPtr(), base::Owned(profile_path)), |
+ &tracker); |
+} |
+ |
+void UserManagerScreenHandler::RemoveUserDialogLoadStatsCallback( |
+ const base::FilePath* profile_path, |
+ profiles::ProfileStatisticsValues result) { |
+ // Copy result into return_value. |
+ base::StringValue return_profile_path(profile_path->value()); |
+ base::DictionaryValue return_value; |
+ for (profiles::ProfileStatisticsValues::const_iterator |
+ iter = result.begin(); iter != result.end(); iter++) { |
+ return_value.SetIntegerWithoutPathExpansion(iter->first, iter->second); |
+ } |
+ web_ui()->CallJavascriptFunction("updateRemoveWarningDialog", |
+ return_profile_path, return_value); |
+} |
+ |
void UserManagerScreenHandler::OnGetTokenInfoResponse( |
scoped_ptr<base::DictionaryValue> token_info) { |
// Password is unchanged so user just mistyped it. Ask again. |
@@ -665,6 +706,9 @@ void UserManagerScreenHandler::RegisterMessages() { |
base::Unretained(this))); |
web_ui()->RegisterMessageCallback(kJsApiUserManagerLogRemoveUserWarningShown, |
base::Bind(&HandleLogRemoveUserWarningShown)); |
+ web_ui()->RegisterMessageCallback(kJsApiUserManagerRemoveUserWarningLoadStats, |
+ base::Bind(&UserManagerScreenHandler::HandleRemoveUserWarningLoadStats, |
+ base::Unretained(this))); |
const content::WebUI::MessageCallback& kDoNothingCallback = |
base::Bind(&HandleAndDoNothing); |
@@ -723,6 +767,22 @@ void UserManagerScreenHandler::GetLocalizedValues( |
l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON)); |
localized_strings->SetString("removeUserWarningText", |
l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING)); |
+ localized_strings->SetString("removeUserWarningTextNonSync", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_NONSYNC)); |
+ localized_strings->SetString("removeUserWarningTextHistory", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_HISTORY)); |
+ localized_strings->SetString("removeUserWarningTextPasswords", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_PASSWORDS)); |
+ localized_strings->SetString("removeUserWarningTextBookmarks", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_BOOKMARKS)); |
+ localized_strings->SetString("removeUserWarningTextSettings", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_SETTINGS)); |
+ localized_strings->SetString("removeUserWarningTextComputing", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_COMPUTING)); |
+ localized_strings->SetString("removeUserWarningTextSync", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_SYNC)); |
+ localized_strings->SetString("removeUserWarningTextSync2", |
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_SYNC2)); |
localized_strings->SetString("removeLegacySupervisedUserWarningText", |
l10n_util::GetStringFUTF16( |
IDS_LOGIN_POD_LEGACY_SUPERVISED_USER_REMOVE_WARNING, |