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

Unified Diff: chrome/browser/ui/webui/signin/user_manager_screen_handler.cc

Issue 1248613003: Issue 501916 : Add data type counts to profile deletion flow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sixth draft Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
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 d18f88b2baddc25eee811fba9a96566109ed005f..295dd2d0604c6e5e69c4004eb0b763bec430a3cb 100644
--- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc
+++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc
@@ -70,6 +70,7 @@ const char kKeyIsOwner[] = "isOwner";
const char kKeyIsDesktop[] = "isDesktopUser";
const char kKeyAvatarUrl[] = "userImage";
const char kKeyNeedsSignin[] = "needsSignin";
+const char kKeyIsProfileLoaded[] = "isProfileLoaded";
// JS API callback names.
const char kJsApiUserManagerInitialize[] = "userManagerInitialize";
@@ -81,7 +82,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;
@@ -548,6 +550,47 @@ 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;
+
+ if (!base::GetValueAsFilePath(*profile_path_value, &profile_path))
+ return;
+
+ base::StringValue return_profile_path(profile_path.value());
+ Profile* profile = g_browser_process->profile_manager()->
+ GetProfileByPath(profile_path);
+
+ if (!profile)
+ return;
+
+ profiles::GetProfileStatistics(
+ profile,
+ base::Bind(
+ &UserManagerScreenHandler::RemoveUserDialogLoadStatsCallback,
+ weak_ptr_factory_.GetWeakPtr(), profile_path),
+ &tracker_);
Mike Lerman 2015/08/07 19:37:12 Should we call tracker_.TryCancelAll() in this cla
lwchkg 2015/08/09 16:11:49 No. This is already called by the destructor of Ca
Mike Lerman 2015/08/13 14:56:33 Acknowledged.
+}
+
+void UserManagerScreenHandler::RemoveUserDialogLoadStatsCallback(
+ 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.
@@ -592,6 +635,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);
@@ -648,8 +694,29 @@ void UserManagerScreenHandler::GetLocalizedValues(
// For AccountPickerScreen, the remove user warning overlay.
localized_strings->SetString("removeUserWarningButtonTitle",
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("removeUserWarningTextNonSyncNoStats",
+ l10n_util::GetStringUTF16(
+ IDS_LOGIN_POD_USER_REMOVE_WARNING_NONSYNC_NOSTATS));
+ 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("removeUserWarningTextCalculating",
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_CALCULATING));
+ localized_strings->SetString("removeUserWarningTextSync",
+ l10n_util::GetStringUTF16(IDS_LOGIN_POD_USER_REMOVE_WARNING_SYNC));
+ localized_strings->SetString("removeUserWarningTextSyncNoStats",
+ l10n_util::GetStringUTF16(
+ IDS_LOGIN_POD_USER_REMOVE_WARNING_SYNC_NOSTATS));
+ localized_strings->SetString("removeUserWarningManageLinkSync",
+ l10n_util::GetStringUTF16(
+ IDS_LOGIN_POD_USER_REMOVE_WARNING_MANAGE_LINK_SYNC));
localized_strings->SetString("removeLegacySupervisedUserWarningText",
l10n_util::GetStringFUTF16(
IDS_LOGIN_POD_LEGACY_SUPERVISED_USER_REMOVE_WARNING,
@@ -747,6 +814,9 @@ void UserManagerScreenHandler::SendUserList() {
profile_value->SetBoolean(kKeyIsDesktop, true);
profile_value->SetString(
kKeyAvatarUrl, GetAvatarImageAtIndex(i, info_cache));
+ profile_value->SetBoolean(kKeyIsProfileLoaded,
Mike Lerman 2015/08/07 19:37:12 Above line 782, can you declare a local reference
lwchkg 2015/08/09 16:11:49 Acknowledged.
+ g_browser_process->profile_manager()->GetProfileByPath(profile_path)
+ ? true : false);
users_list.Append(profile_value);
}

Powered by Google App Engine
This is Rietveld 408576698