Index: chrome/browser/ui/app_list/start_page_service.cc |
diff --git a/chrome/browser/ui/app_list/start_page_service.cc b/chrome/browser/ui/app_list/start_page_service.cc |
index c65a3e03a34990a4c1c607e69e34715d0100894b..6f78bfa3c527fd17edd07d3cb8853bf83ce848f4 100644 |
--- a/chrome/browser/ui/app_list/start_page_service.cc |
+++ b/chrome/browser/ui/app_list/start_page_service.cc |
@@ -341,6 +341,12 @@ void StartPageService::AppListHidden() { |
speech_recognizer_) { |
speech_recognizer_->Stop(); |
speech_recognizer_.reset(); |
+ |
+ // When the SpeechRecognizer is destroyed above, we get stuck in the current |
+ // speech state instead of being reset into the READY state. Reset the |
+ // speech state explicitly so that speech works when the launcher is opened |
+ // again. |
+ OnSpeechRecognitionStateChanged(SPEECH_RECOGNITION_READY); |
} |
#if defined(OS_CHROMEOS) |