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

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

Issue 907833002: Hide experimental app list Google logo and custom launcher page when search engine is not Google. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@update_app_list_bg_color
Patch Set: Created 5 years, 10 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/app_list/start_page_service.cc
diff --git a/chrome/browser/ui/app_list/start_page_service.cc b/chrome/browser/ui/app_list/start_page_service.cc
index c65a3e03a34990a4c1c607e69e34715d0100894b..817a3ff260213ddf4bb9aa6d0b40f77ac447cbf4 100644
--- a/chrome/browser/ui/app_list/start_page_service.cc
+++ b/chrome/browser/ui/app_list/start_page_service.cc
@@ -19,6 +19,7 @@
#include "chrome/browser/profiles/profile.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/search_engines/ui_thread_search_terms_data.h"
#include "chrome/browser/ui/app_list/speech_auth_helper.h"
#include "chrome/browser/ui/app_list/speech_recognizer.h"
@@ -30,6 +31,8 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
+#include "components/search_engines/template_url_prepopulate_data.h"
+#include "components/search_engines/template_url_service.h"
#include "components/ui/zoom/zoom_controller.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
@@ -279,10 +282,20 @@ StartPageService::StartPageService(Profile* profile)
if (app_list::switches::IsExperimentalAppListEnabled())
LoadContents();
+ TemplateURLService* template_url_service =
+ TemplateURLServiceFactory::GetForProfile(profile_);
+ if (template_url_service)
+ template_url_service->AddObserver(this);
+
network_change_observer_.reset(new NetworkChangeObserver(this));
}
-StartPageService::~StartPageService() {}
+StartPageService::~StartPageService() {
+ TemplateURLService* template_url_service =
+ TemplateURLServiceFactory::GetForProfile(profile_);
+ if (template_url_service)
+ template_url_service->RemoveObserver(this);
+}
void StartPageService::AddObserver(StartPageObserver* observer) {
observers_.AddObserver(observer);
@@ -494,6 +507,24 @@ void StartPageService::GetSpeechAuthParameters(std::string* auth_scope,
}
}
+void StartPageService::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;
+
+ contents_->GetWebUI()->CallJavascriptFunction(
+ "appList.startPage.onSearchEngineChanged",
+ base::FundamentalValue(is_google));
+
+ if (is_google)
+ FetchDoodleJson();
+}
+
void StartPageService::Shutdown() {
UnloadContents();
#if defined(OS_CHROMEOS)
@@ -531,7 +562,7 @@ void StartPageService::WebUILoaded() {
cb.Run();
pending_webui_callbacks_.clear();
- FetchDoodleJson();
+ OnTemplateURLServiceChanged();
}
void StartPageService::LoadContents() {

Powered by Google App Engine
This is Rietveld 408576698