Index: chrome/browser/ui/webui/options/browser_options_handler.cc |
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc |
index cea13a0111b28c5bc5088ca1ef6c9723466abb16..222fba414a7b1d1359bf7f1702b8f6d6ebccbd91 100644 |
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc |
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc |
@@ -277,6 +277,7 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
{ "fontSizeLabelSmall", IDS_OPTIONS_FONT_SIZE_LABEL_SMALL }, |
{ "fontSizeLabelVeryLarge", IDS_OPTIONS_FONT_SIZE_LABEL_VERY_LARGE }, |
{ "fontSizeLabelVerySmall", IDS_OPTIONS_FONT_SIZE_LABEL_VERY_SMALL }, |
+ { "googleNowLauncherEnable", IDS_OPTIONS_ENABLE_GOOGLE_NOW }, |
{ "hideAdvancedSettings", IDS_SETTINGS_HIDE_ADVANCED_SETTINGS }, |
{ "homePageNtp", IDS_OPTIONS_HOMEPAGE_NTP }, |
{ "homePageShowHomeButton", IDS_OPTIONS_TOOLBAR_SHOW_HOME_BUTTON }, |
@@ -777,6 +778,11 @@ void BrowserOptionsHandler::RegisterMessages() { |
} |
#endif |
web_ui()->RegisterMessageCallback( |
+ "requestGoogleNowAvailable", |
+ base::Bind(&BrowserOptionsHandler::HandleRequestGoogleNowAvailable, |
+ base::Unretained(this))); |
+ |
+ web_ui()->RegisterMessageCallback( |
"requestHotwordAvailable", |
base::Bind(&BrowserOptionsHandler::HandleRequestHotwordAvailable, |
base::Unretained(this))); |
@@ -1212,6 +1218,7 @@ void BrowserOptionsHandler::OnTemplateURLServiceChanged() { |
SetupExtensionControlledIndicators(); |
HandleRequestHotwordAvailable(nullptr); |
+ HandleRequestGoogleNowAvailable(nullptr); |
} |
void BrowserOptionsHandler::SetDefaultSearchEngine( |
@@ -1685,6 +1692,27 @@ void BrowserOptionsHandler::SetHotwordAudioHistorySectionVisible( |
base::StringValue(audio_history_state)); |
} |
+void BrowserOptionsHandler::HandleRequestGoogleNowAvailable( |
+ const base::ListValue* args) { |
+ bool is_search_provider_google = false; |
+ if (template_url_service_ && template_url_service_->loaded()) { |
+ const TemplateURL* default_url = |
+ template_url_service_->GetDefaultSearchProvider(); |
+ if (default_url && default_url->HasGoogleBaseURLs( |
+ template_url_service_->search_terms_data())) { |
+ is_search_provider_google = true; |
+ } |
+ } |
+ |
+ std::string group = base::FieldTrialList::FindFullName("GoogleNowLauncher"); |
+ bool has_field_trial = (!group.empty() && group != "Disabled"); |
Dan Beam
2015/02/20 03:19:40
nit: remove extra parens
skare_
2015/02/20 17:54:49
Done.
|
+ |
+ bool should_show = is_search_provider_google && has_field_trial; |
+ web_ui()->CallJavascriptFunction( |
+ "BrowserOptions.setNowSectionVisible", |
+ base::FundamentalValue(should_show)); |
+} |
+ |
void BrowserOptionsHandler::HandleRequestHotwordAvailable( |
const base::ListValue* args) { |
Profile* profile = Profile::FromWebUI(web_ui()); |