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

Unified Diff: chrome/browser/ui/app_list/app_list_view_delegate.cc

Issue 2127713005: Purge AppListMenu, and the app list profile switcher (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@20160707-Apps-RemoveSettings
Patch Set: Created 4 years, 5 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
« no previous file with comments | « chrome/browser/ui/app_list/app_list_view_delegate.h ('k') | chrome/common/url_constants.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/app_list/app_list_view_delegate.cc
diff --git a/chrome/browser/ui/app_list/app_list_view_delegate.cc b/chrome/browser/ui/app_list/app_list_view_delegate.cc
index 37188e3ea79aa9647a0c6387f16d7d7c3264ad2d..77d26ada6bc29c42817ac2c78678bd42a861c3ac 100644
--- a/chrome/browser/ui/app_list/app_list_view_delegate.cc
+++ b/chrome/browser/ui/app_list/app_list_view_delegate.cc
@@ -17,11 +17,6 @@
#include "base/stl_util.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/lifetime/scoped_keep_alive.h"
-#include "chrome/browser/profiles/profile_attributes_entry.h"
-#include "chrome/browser/profiles/profile_attributes_storage.h"
-#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/search/hotword_service.h"
#include "chrome/browser/search/hotword_service_factory.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
@@ -43,10 +38,8 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "components/prefs/pref_service.h"
-#include "components/signin/core/browser/signin_manager.h"
#include "components/user_prefs/user_prefs.h"
#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/notification_service.h"
#include "content/public/browser/page_navigator.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host.h"
@@ -61,7 +54,6 @@
#include "extensions/common/manifest_handlers/launcher_page_info.h"
#include "grit/theme_resources.h"
#include "ui/app_list/app_list_switches.h"
-#include "ui/app_list/app_list_view_delegate_observer.h"
#include "ui/app_list/search_box_model.h"
#include "ui/app_list/search_controller.h"
#include "ui/app_list/speech_ui_model.h"
@@ -107,22 +99,6 @@ void CreateShortcutInWebAppDir(
}
#endif
-void PopulateUsers(const base::FilePath& active_profile_path,
- app_list::AppListViewDelegate::Users* users) {
- users->clear();
- std::vector<ProfileAttributesEntry*> entries = g_browser_process->
- profile_manager()->GetProfileAttributesStorage().
- GetAllProfilesAttributesSortedByName();
- for (const auto entry : entries) {
- app_list::AppListViewDelegate::User user;
- user.name = entry->GetName();
- user.email = entry->GetUserName();
- user.profile_path = entry->GetPath();
- user.active = active_profile_path == user.profile_path;
- users->push_back(user);
- }
-}
-
// Gets a list of URLs of the custom launcher pages to show in the launcher.
// Returns a URL for each installed launcher page. If --custom-launcher-page is
// specified and valid, also includes that URL.
@@ -177,30 +153,8 @@ AppListViewDelegate::AppListViewDelegate(AppListControllerDelegate* controller)
profile_(NULL),
model_(NULL),
is_voice_query_(false),
- template_url_service_observer_(this),
- scoped_observer_(this) {
+ template_url_service_observer_(this) {
CHECK(controller_);
- // The SigninManagerFactor and the SigninManagers are observed to keep the
- // profile switcher menu up to date, with the correct list of profiles and the
- // correct email address (or none for signed out users) for each.
- SigninManagerFactory::GetInstance()->AddObserver(this);
-
- // Start observing all already-created SigninManagers.
- ProfileManager* profile_manager = g_browser_process->profile_manager();
- std::vector<Profile*> profiles = profile_manager->GetLoadedProfiles();
-
- for (std::vector<Profile*>::iterator i = profiles.begin();
- i != profiles.end();
- ++i) {
- SigninManagerBase* manager =
- SigninManagerFactory::GetForProfileIfExists(*i);
- if (manager) {
- DCHECK(!scoped_observer_.IsObserving(manager));
- scoped_observer_.Add(manager);
- }
- }
-
- profile_manager->GetProfileAttributesStorage().AddObserver(this);
speech_ui_.reset(new app_list::SpeechUIModel);
#if defined(GOOGLE_CHROME_BUILD)
@@ -215,23 +169,10 @@ AppListViewDelegate::AppListViewDelegate(AppListControllerDelegate* controller)
speech_ui_->set_logo(*image);
#endif
-
- registrar_.Add(this,
- chrome::NOTIFICATION_APP_TERMINATING,
- content::NotificationService::AllSources());
}
AppListViewDelegate::~AppListViewDelegate() {
- // Note that the destructor is not always called. E.g. on Mac, this is owned
- // by a leaky singleton. Essential shutdown work must be done by observing
- // chrome::NOTIFICATION_APP_TERMINATING.
SetProfile(NULL);
- g_browser_process->profile_manager()->GetProfileAttributesStorage().
- RemoveObserver(this);
-
- SigninManagerFactory* factory = SigninManagerFactory::GetInstance();
- if (factory)
- factory->RemoveObserver(this);
}
void AppListViewDelegate::SetProfile(Profile* new_profile) {
@@ -291,7 +232,6 @@ void AppListViewDelegate::SetProfile(Profile* new_profile) {
#endif
SetUpSearchUI();
- SetUpProfileSwitcher();
SetUpCustomLauncherPages();
OnTemplateURLServiceChanged();
}
@@ -319,24 +259,6 @@ void AppListViewDelegate::SetUpSearchUI() {
search_controller_ = CreateSearchController(profile_, model_, controller_);
}
-void AppListViewDelegate::SetUpProfileSwitcher() {
- // If a profile change is observed when there is no app list, there is nothing
- // to update until SetProfile() calls this function again.
- if (!profile_)
- return;
-
-#if defined(USE_ASH)
- // Don't populate the app list users if we are on the ash desktop.
- return;
-#endif // USE_ASH
-
- // Populate the app list users.
- PopulateUsers(profile_->GetPath(), &users_);
-
- FOR_EACH_OBSERVER(
- app_list::AppListViewDelegateObserver, observers_, OnProfilesChanged());
-}
-
void AppListViewDelegate::SetUpCustomLauncherPages() {
std::vector<GURL> custom_launcher_page_urls;
GetCustomLauncherPageUrls(profile_, &custom_launcher_page_urls);
@@ -387,47 +309,6 @@ void AppListViewDelegate::OnHotwordRecognized(
StartSpeechRecognitionForHotword(preamble);
}
-void AppListViewDelegate::SigninManagerCreated(SigninManagerBase* manager) {
- scoped_observer_.Add(manager);
-}
-
-void AppListViewDelegate::SigninManagerShutdown(SigninManagerBase* manager) {
- if (scoped_observer_.IsObserving(manager))
- scoped_observer_.Remove(manager);
-}
-
-void AppListViewDelegate::GoogleSigninFailed(
- const GoogleServiceAuthError& error) {
- SetUpProfileSwitcher();
-}
-
-void AppListViewDelegate::GoogleSigninSucceeded(const std::string& account_id,
- const std::string& username,
- const std::string& password) {
- SetUpProfileSwitcher();
-}
-
-void AppListViewDelegate::GoogleSignedOut(const std::string& account_id,
- const std::string& username) {
- SetUpProfileSwitcher();
-}
-
-void AppListViewDelegate::OnProfileAdded(const base::FilePath& profile_path) {
- SetUpProfileSwitcher();
-}
-
-void AppListViewDelegate::OnProfileWasRemoved(
- const base::FilePath& profile_path,
- const base::string16& profile_name) {
- SetUpProfileSwitcher();
-}
-
-void AppListViewDelegate::OnProfileNameChanged(
- const base::FilePath& profile_path,
- const base::string16& old_profile_name) {
- SetUpProfileSwitcher();
-}
-
bool AppListViewDelegate::ForceNativeDesktop() const {
return controller_->ForceNativeDesktop();
}
@@ -567,22 +448,6 @@ void AppListViewDelegate::ViewClosing() {
}
}
-void AppListViewDelegate::OpenHelp() {
- chrome::ScopedTabbedBrowserDisplayer displayer(profile_);
- content::OpenURLParams params(GURL(chrome::kAppLauncherHelpURL),
- content::Referrer(),
- NEW_FOREGROUND_TAB,
- ui::PAGE_TRANSITION_LINK,
- false);
- displayer.browser()->OpenURL(params);
-}
-
-void AppListViewDelegate::OpenFeedback() {
- Browser* browser = chrome::FindTabbedBrowser(profile_, false);
- chrome::ShowFeedbackPage(browser, std::string(),
- chrome::kAppLauncherCategoryTag);
-}
-
void AppListViewDelegate::StartSpeechRecognition() {
StartSpeechRecognitionForHotword(nullptr);
}
@@ -738,11 +603,6 @@ bool AppListViewDelegate::IsSpeechRecognitionEnabled() {
return service && service->GetSpeechRecognitionContents();
}
-const app_list::AppListViewDelegate::Users&
-AppListViewDelegate::GetUsers() const {
- return users_;
-}
-
bool AppListViewDelegate::ShouldCenterWindow() const {
// Some ChromeOS devices (those that support TouchView mode) turn this flag on
// by default, which ensures that the app list is consistently centered on
@@ -762,16 +622,6 @@ bool AppListViewDelegate::ShouldCenterWindow() const {
return false;
}
-void AppListViewDelegate::AddObserver(
- app_list::AppListViewDelegateObserver* observer) {
- observers_.AddObserver(observer);
-}
-
-void AppListViewDelegate::RemoveObserver(
- app_list::AppListViewDelegateObserver* observer) {
- observers_.RemoveObserver(observer);
-}
-
#if !defined(OS_CHROMEOS)
base::string16 AppListViewDelegate::GetMessageTitle() const {
return l10n_util::GetStringUTF16(IDS_APP_LIST_MESSAGE_TITLE);
@@ -828,19 +678,3 @@ void AppListViewDelegate::OnTemplateURLServiceChanged() {
if (start_page_service)
start_page_service->set_search_engine_is_google(is_google);
}
-
-void AppListViewDelegate::Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- DCHECK_EQ(chrome::NOTIFICATION_APP_TERMINATING, type);
-
- FOR_EACH_OBSERVER(app_list::AppListViewDelegateObserver, observers_,
- OnShutdown());
-
- SetProfile(nullptr); // Ensures launcher page web contents are torn down.
-
- // SigninManagerFactory is not a leaky singleton (unlike this class), and
- // its destructor will check that it has no remaining observers.
- scoped_observer_.RemoveAll();
- SigninManagerFactory::GetInstance()->RemoveObserver(this);
-}
« no previous file with comments | « chrome/browser/ui/app_list/app_list_view_delegate.h ('k') | chrome/common/url_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698