Index: chrome/browser/ui/search/search_tab_helper.cc |
diff --git a/chrome/browser/ui/search/search_tab_helper.cc b/chrome/browser/ui/search/search_tab_helper.cc |
index 4cbbd8aa2dfe33e1049e180d742d98c106842fdc..2485c418c6e3a4fa59a8787f9c041ce2005e8921 100644 |
--- a/chrome/browser/ui/search/search_tab_helper.cc |
+++ b/chrome/browser/ui/search/search_tab_helper.cc |
@@ -100,6 +100,8 @@ bool SearchTabHelper::OnMessageReceived(const IPC::Message& message) { |
OnSearchBoxShowBars) |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SearchBoxHideBars, |
OnSearchBoxHideBars) |
+ IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SetVoiceSearchSupported, |
+ OnSetVoiceSearchSupported) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -127,7 +129,8 @@ void SearchTabHelper::UpdateMode() { |
// OmniboxEditModel::SetInputInProgress() which is called from |
// OmniboxEditModel::Revert(). |
model_.SetState(SearchModel::State(SearchMode(type, origin), |
- model_.state().top_bars_visible)); |
+ model_.state().top_bars_visible, |
+ model_.state().voice_search_supported)); |
} else { |
model_.SetMode(SearchMode(type, origin)); |
} |
@@ -144,3 +147,8 @@ void SearchTabHelper::OnSearchBoxHideBars(int page_id) { |
Send(new ChromeViewMsg_SearchBoxBarsHidden(routing_id())); |
} |
} |
+ |
+void SearchTabHelper::OnSetVoiceSearchSupported(int page_id, bool supported) { |
+ if (web_contents()->IsActiveEntry(page_id)) |
+ model_.SetVoiceSearchSupported(supported); |
+} |