Index: chrome/browser/ui/app_list/search/search_resource_manager.cc |
diff --git a/chrome/browser/ui/app_list/search/search_resource_manager.cc b/chrome/browser/ui/app_list/search/search_resource_manager.cc |
index 4c6a1c1255276eeb4c1719a4802b868f20ba23e9..a6dc23e9f8e3e91a7d9e94cc1c286d7cd5db1cfe 100644 |
--- a/chrome/browser/ui/app_list/search/search_resource_manager.cc |
+++ b/chrome/browser/ui/app_list/search/search_resource_manager.cc |
@@ -15,6 +15,23 @@ |
namespace app_list { |
+namespace { |
+ |
+scoped_ptr<SearchBoxModel::SpeechButtonProperty> CreateNewProperty( |
+ SpeechRecognitionState state) { |
+ if (state == SPEECH_RECOGNITION_OFF) |
+ return nullptr; |
+ |
+ ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
+ return make_scoped_ptr(new SearchBoxModel::SpeechButtonProperty( |
+ *bundle.GetImageSkiaNamed(IDR_OMNIBOX_MIC_SEARCH), |
+ l10n_util::GetStringUTF16(IDS_APP_LIST_HOTWORD_LISTENING), |
+ *bundle.GetImageSkiaNamed(IDR_APP_LIST_MIC_HOTWORD_OFF), |
+ l10n_util::GetStringUTF16(IDS_APP_LIST_START_SPEECH_RECOGNITION))); |
+} |
+ |
+} // namespace |
+ |
SearchResourceManager::SearchResourceManager(Profile* profile, |
SearchBoxModel* search_box, |
SpeechUIModel* speech_ui) |
@@ -27,14 +44,7 @@ SearchResourceManager::SearchResourceManager(Profile* profile, |
StartPageService* service = StartPageService::Get(profile); |
if (service && service->GetSpeechRecognitionContents()) { |
search_box_->SetSpeechRecognitionButton( |
- scoped_ptr<SearchBoxModel::SpeechButtonProperty>( |
- new SearchBoxModel::SpeechButtonProperty( |
- *bundle.GetImageSkiaNamed(IDR_OMNIBOX_MIC_SEARCH), |
- l10n_util::GetStringUTF16( |
- IDS_APP_LIST_HOTWORD_LISTENING), |
- *bundle.GetImageSkiaNamed(IDR_APP_LIST_MIC_HOTWORD_OFF), |
- l10n_util::GetStringUTF16( |
- IDS_APP_LIST_START_SPEECH_RECOGNITION)))); |
+ CreateNewProperty(service->state())); |
} |
tapted
2014/11/26 02:05:59
it looks like the whole if block above is redundan
Jun Mukai
2014/11/26 23:29:51
Done.
|
OnSpeechRecognitionStateChanged(speech_ui_->state()); |
} |
@@ -48,6 +58,7 @@ void SearchResourceManager::OnSpeechRecognitionStateChanged( |
search_box_->SetHintText(l10n_util::GetStringUTF16( |
(new_state == SPEECH_RECOGNITION_HOTWORD_LISTENING) ? |
IDS_SEARCH_BOX_HOTWORD_HINT : IDS_SEARCH_BOX_HINT)); |
+ search_box_->SetSpeechRecognitionButton(CreateNewProperty(new_state)); |
} |
} // namespace app_list |