Chromium Code Reviews| 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"); |
|
robliao
2015/02/19 18:43:25
Turn "GoogleNowLauncher" and "Disabled" into a con
skare_
2015/02/19 20:19:29
VoiceTrigger (below) is using this format for its
|
| + bool has_field_trial = (!group.empty() && group != "Disabled"); |
| + |
| + 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()); |