| 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..dfa9b54c5657cb5446142c770cb10ca25b07740e 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,19 @@
|
|
|
| namespace app_list {
|
|
|
| +namespace {
|
| +
|
| +scoped_ptr<SearchBoxModel::SpeechButtonProperty> CreateNewProperty() {
|
| + 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)
|
| @@ -25,17 +38,8 @@ SearchResourceManager::SearchResourceManager(Profile* profile,
|
| ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
|
| search_box_->SetIcon(*bundle.GetImageSkiaNamed(IDR_OMNIBOX_SEARCH));
|
| 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))));
|
| - }
|
| + if (service && service->GetSpeechRecognitionContents())
|
| + search_box_->SetSpeechRecognitionButton(CreateNewProperty());
|
| OnSpeechRecognitionStateChanged(speech_ui_->state());
|
| }
|
|
|
| @@ -48,6 +52,10 @@ void SearchResourceManager::OnSpeechRecognitionStateChanged(
|
| search_box_->SetHintText(l10n_util::GetStringUTF16(
|
| (new_state == SPEECH_RECOGNITION_HOTWORD_LISTENING) ?
|
| IDS_SEARCH_BOX_HOTWORD_HINT : IDS_SEARCH_BOX_HINT));
|
| + scoped_ptr<SearchBoxModel::SpeechButtonProperty> button_prop;
|
| + if (new_state != SPEECH_RECOGNITION_OFF)
|
| + button_prop = CreateNewProperty();
|
| + search_box_->SetSpeechRecognitionButton(button_prop.Pass());
|
| }
|
|
|
| } // namespace app_list
|
|
|