| 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 b95f5e706c5ced402ee5b768fdf25c2804fe8bd5..9820a1ccd3d28e878277d726fd62670412dd58da 100644
|
| --- a/chrome/browser/ui/app_list/app_list_view_delegate.cc
|
| +++ b/chrome/browser/ui/app_list/app_list_view_delegate.cc
|
| @@ -20,6 +20,7 @@
|
| #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"
|
| #include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
|
| #include "chrome/browser/ui/app_list/app_list_service.h"
|
| #include "chrome/browser/ui/app_list/app_list_syncable_service.h"
|
| @@ -37,6 +38,7 @@
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/common/url_constants.h"
|
| +#include "components/search_engines/template_url_prepopulate_data.h"
|
| #include "components/signin/core/browser/signin_manager.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_service.h"
|
| @@ -158,6 +160,7 @@ AppListViewDelegate::AppListViewDelegate(AppListControllerDelegate* controller)
|
| profile_(NULL),
|
| model_(NULL),
|
| is_voice_query_(false),
|
| + template_url_service_observer_(this),
|
| scoped_observer_(this) {
|
| // TODO(vadimt): Remove ScopedTracker below once crbug.com/431326 is fixed.
|
| tracked_objects::ScopedTracker tracking_profile(
|
| @@ -286,6 +289,9 @@ void AppListViewDelegate::SetProfile(Profile* new_profile) {
|
| tracked_objects::ScopedTracker tracking_profile3(
|
| FROM_HERE_WITH_EXPLICIT_FUNCTION(
|
| "431326 AppListViewDelegate::SetProfile3"));
|
| + template_url_service_observer_.RemoveAll();
|
| + template_url_service_observer_.Add(
|
| + TemplateURLServiceFactory::GetForProfile(profile_));
|
|
|
| model_ =
|
| app_list::AppListSyncableServiceFactory::GetForProfile(profile_)->model();
|
| @@ -297,6 +303,7 @@ void AppListViewDelegate::SetProfile(Profile* new_profile) {
|
| SetUpSearchUI();
|
| SetUpProfileSwitcher();
|
| SetUpCustomLauncherPages();
|
| + OnTemplateURLServiceChanged();
|
|
|
| // TODO(vadimt): Remove ScopedTracker below once crbug.com/431326 is fixed.
|
| tracked_objects::ScopedTracker tracking_profile4(
|
| @@ -773,6 +780,24 @@ void AppListViewDelegate::RemoveObserver(
|
| observers_.RemoveObserver(observer);
|
| }
|
|
|
| +void AppListViewDelegate::OnTemplateURLServiceChanged() {
|
| + TemplateURLService* template_url_service =
|
| + TemplateURLServiceFactory::GetForProfile(profile_);
|
| + const TemplateURL* default_provider =
|
| + template_url_service->GetDefaultSearchProvider();
|
| + bool is_google =
|
| + TemplateURLPrepopulateData::GetEngineType(
|
| + *default_provider, template_url_service->search_terms_data()) ==
|
| + SEARCH_ENGINE_GOOGLE;
|
| +
|
| + model_->SetSearchEngineIsGoogle(is_google);
|
| +
|
| + app_list::StartPageService* start_page_service =
|
| + app_list::StartPageService::Get(profile_);
|
| + 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) {
|
|
|