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

Unified Diff: chrome/browser/ui/webui/app_launcher_login_handler.cc

Issue 1143963002: Split NTPLoginHandler across chrome://apps and chrome://history. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: lower Created 5 years, 7 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/app_launcher_login_handler.cc
diff --git a/chrome/browser/ui/webui/ntp/ntp_login_handler.cc b/chrome/browser/ui/webui/app_launcher_login_handler.cc
similarity index 80%
rename from chrome/browser/ui/webui/ntp/ntp_login_handler.cc
rename to chrome/browser/ui/webui/app_launcher_login_handler.cc
index f9cfa021a6792ac56cf3e7f80e9f10f9b90999ec..2d656fa1cd1fd771ddba75ad707d7f7ff953689c 100644
--- a/chrome/browser/ui/webui/ntp/ntp_login_handler.cc
+++ b/chrome/browser/ui/webui/app_launcher_login_handler.cc
@@ -2,7 +2,7 @@
// 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/ntp/ntp_login_handler.h"
+#include "chrome/browser/ui/webui/app_launcher_login_handler.h"
#include <string>
@@ -27,6 +27,7 @@
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
+#include "chrome/browser/ui/webui/profile_info_watcher.h"
#include "chrome/browser/web_resource/promo_resource_service.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
@@ -79,52 +80,37 @@ base::string16 CreateElementWithClass(const base::string16& content,
} // namespace
-NTPLoginHandler::NTPLoginHandler() {
-}
-
-NTPLoginHandler::~NTPLoginHandler() {
- ProfileManager* profile_manager = g_browser_process->profile_manager();
- // The profile_manager might be NULL in testing environments.
- if (profile_manager)
- profile_manager->GetProfileInfoCache().RemoveObserver(this);
-}
+AppLauncherLoginHandler::AppLauncherLoginHandler() {}
-void NTPLoginHandler::RegisterMessages() {
- ProfileManager* profile_manager = g_browser_process->profile_manager();
- // The profile_manager might be NULL in testing environments.
- if (profile_manager)
- profile_manager->GetProfileInfoCache().AddObserver(this);
+AppLauncherLoginHandler::~AppLauncherLoginHandler() {}
- PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
- signin_allowed_pref_.Init(prefs::kSigninAllowed,
- pref_service,
- base::Bind(&NTPLoginHandler::UpdateLogin,
- base::Unretained(this)));
+void AppLauncherLoginHandler::RegisterMessages() {
+ profile_info_watcher_.reset(new ProfileInfoWatcher(
+ Profile::FromWebUI(web_ui()),
+ base::Bind(&AppLauncherLoginHandler::UpdateLogin,
+ base::Unretained(this))));
web_ui()->RegisterMessageCallback("initializeSyncLogin",
- base::Bind(&NTPLoginHandler::HandleInitializeSyncLogin,
+ base::Bind(&AppLauncherLoginHandler::HandleInitializeSyncLogin,
base::Unretained(this)));
web_ui()->RegisterMessageCallback("showSyncLoginUI",
- base::Bind(&NTPLoginHandler::HandleShowSyncLoginUI,
+ base::Bind(&AppLauncherLoginHandler::HandleShowSyncLoginUI,
base::Unretained(this)));
web_ui()->RegisterMessageCallback("loginMessageSeen",
- base::Bind(&NTPLoginHandler::HandleLoginMessageSeen,
+ base::Bind(&AppLauncherLoginHandler::HandleLoginMessageSeen,
base::Unretained(this)));
web_ui()->RegisterMessageCallback("showAdvancedLoginUI",
- base::Bind(&NTPLoginHandler::HandleShowAdvancedLoginUI,
+ base::Bind(&AppLauncherLoginHandler::HandleShowAdvancedLoginUI,
base::Unretained(this)));
}
-void NTPLoginHandler::OnProfileAuthInfoChanged(
- const base::FilePath& profile_path) {
- UpdateLogin();
-}
-
-void NTPLoginHandler::HandleInitializeSyncLogin(const base::ListValue* args) {
+void AppLauncherLoginHandler::HandleInitializeSyncLogin(
+ const base::ListValue* args) {
UpdateLogin();
}
-void NTPLoginHandler::HandleShowSyncLoginUI(const base::ListValue* args) {
+void AppLauncherLoginHandler::HandleShowSyncLoginUI(
+ const base::ListValue* args) {
Profile* profile = Profile::FromWebUI(web_ui());
if (!signin::ShouldShowPromo(profile))
return;
@@ -148,7 +134,7 @@ void NTPLoginHandler::HandleShowSyncLoginUI(const base::ListValue* args) {
RecordInHistogram(NTP_SIGN_IN_PROMO_CLICKED);
}
-void NTPLoginHandler::RecordInHistogram(int type) {
+void AppLauncherLoginHandler::RecordInHistogram(int type) {
// Invalid type to record.
if (type < NTP_SIGN_IN_PROMO_VIEWED ||
type > NTP_SIGN_IN_PROMO_CLICKED) {
@@ -159,7 +145,8 @@ void NTPLoginHandler::RecordInHistogram(int type) {
}
}
-void NTPLoginHandler::HandleLoginMessageSeen(const base::ListValue* args) {
+void AppLauncherLoginHandler::HandleLoginMessageSeen(
+ const base::ListValue* args) {
Profile::FromWebUI(web_ui())->GetPrefs()->SetBoolean(
prefs::kSignInPromoShowNTPBubble, false);
NewTabUI* ntp_ui = NewTabUI::FromWebUIController(web_ui()->GetController());
@@ -168,26 +155,19 @@ void NTPLoginHandler::HandleLoginMessageSeen(const base::ListValue* args) {
ntp_ui->set_showing_sync_bubble(true);
}
-void NTPLoginHandler::HandleShowAdvancedLoginUI(const base::ListValue* args) {
+void AppLauncherLoginHandler::HandleShowAdvancedLoginUI(
+ const base::ListValue* args) {
Browser* browser =
chrome::FindBrowserWithWebContents(web_ui()->GetWebContents());
if (browser)
chrome::ShowBrowserSignin(browser, signin_metrics::SOURCE_NTP_LINK);
}
-void NTPLoginHandler::UpdateLogin() {
- Profile* profile = Profile::FromWebUI(web_ui());
- SigninManagerBase* signin_manager =
- SigninManagerFactory::GetForProfile(profile);
- if (!signin_manager) {
- // Guests on desktop do not have a signin manager.
- return;
- }
-
- std::string username = signin_manager->GetAuthenticatedUsername();
-
+void AppLauncherLoginHandler::UpdateLogin() {
+ std::string username = profile_info_watcher_->GetAuthenticatedUsername();
MAD 2015/05/20 19:33:01 DCHECK(profile_info_watcher_.get()); ?
Dan Beam 2015/05/20 21:53:23 nah, that's redundant https://code.google.com/p/ch
base::string16 header, sub_header;
std::string icon_url;
+ Profile* profile = Profile::FromWebUI(web_ui());
if (!username.empty()) {
ProfileInfoCache& cache =
g_browser_process->profile_manager()->GetProfileInfoCache();
@@ -240,7 +220,7 @@ void NTPLoginHandler::UpdateLogin() {
}
// static
-bool NTPLoginHandler::ShouldShow(Profile* profile) {
+bool AppLauncherLoginHandler::ShouldShow(Profile* profile) {
#if defined(OS_CHROMEOS)
// For now we don't care about showing sync status on Chrome OS. The promo
// UI and the avatar menu don't exist on that platform.
@@ -252,8 +232,8 @@ bool NTPLoginHandler::ShouldShow(Profile* profile) {
}
// static
-void NTPLoginHandler::GetLocalizedValues(Profile* profile,
- base::DictionaryValue* values) {
+void AppLauncherLoginHandler::GetLocalizedValues(
+ Profile* profile, base::DictionaryValue* values) {
PrefService* prefs = profile->GetPrefs();
bool hide_sync = !prefs->GetBoolean(prefs::kSignInPromoShowNTPBubble);

Powered by Google App Engine
This is Rietveld 408576698