Index: chrome/browser/ui/app_list/app_list_service_impl.cc |
diff --git a/chrome/browser/ui/app_list/app_list_service_impl.cc b/chrome/browser/ui/app_list/app_list_service_impl.cc |
index 8054e8753103c4099deae6845ff5516775996d2f..882665f8ba58c439a1572f6b0af5743ea7051f7c 100644 |
--- a/chrome/browser/ui/app_list/app_list_service_impl.cc |
+++ b/chrome/browser/ui/app_list/app_list_service_impl.cc |
@@ -17,6 +17,7 @@ |
#include "chrome/common/pref_names.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/notification_details.h" |
+#include "content/public/browser/notification_service.h" |
#include "content/public/browser/notification_source.h" |
namespace { |
@@ -199,6 +200,8 @@ void AppListServiceImpl::SetProfile(Profile* new_profile) { |
if (!profile_) |
return; |
+ registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, |
+ content::NotificationService::AllSources()); |
registrar_.Add(this, chrome::NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL, |
content::Source<Profile>(profile_)); |
registrar_.Add(this, chrome::NOTIFICATION_GOOGLE_SIGNIN_FAILED, |
@@ -211,6 +214,13 @@ void AppListServiceImpl::InvalidatePendingProfileLoads() { |
profile_loader_.InvalidatePendingProfileLoads(); |
} |
+void AppListServiceImpl::ShowForProfileByPath(base::FilePath profile_path) { |
+ profile_loader().LoadProfileInvalidatingOtherLoads( |
+ profile_path, |
+ base::Bind(&AppListServiceImpl::ShowForProfile, |
+ weak_factory_.GetWeakPtr())); |
+} |
+ |
void AppListServiceImpl::HandleCommandLineFlags(Profile* initial_profile) { |
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableAppList)) |
EnableAppList(initial_profile); |