Index: chrome/browser/ui/webui/app_list/start_page_handler.cc |
diff --git a/chrome/browser/ui/webui/app_list/start_page_handler.cc b/chrome/browser/ui/webui/app_list/start_page_handler.cc |
index eb0b89cd63d980598c5defb066b85422db2f5319..c41dc597686a33a868c0a190af5cc9520a7ebf95 100644 |
--- a/chrome/browser/ui/webui/app_list/start_page_handler.cc |
+++ b/chrome/browser/ui/webui/app_list/start_page_handler.cc |
@@ -22,6 +22,7 @@ |
#include "content/public/browser/web_contents_view.h" |
#include "content/public/browser/web_ui.h" |
#include "extensions/common/extension.h" |
+#include "ui/app_list/speech_ui_model.h" |
#include "ui/events/event_constants.h" |
namespace app_list { |
@@ -65,8 +66,13 @@ void StartPageHandler::RegisterMessages() { |
"launchApp", |
base::Bind(&StartPageHandler::HandleLaunchApp, base::Unretained(this))); |
web_ui()->RegisterMessageCallback( |
- "search", |
- base::Bind(&StartPageHandler::HandleSearch, base::Unretained(this))); |
+ "speechResult", |
+ base::Bind(&StartPageHandler::HandleSpeechResult, |
+ base::Unretained(this))); |
+ web_ui()->RegisterMessageCallback( |
+ "speechSoundLevel", |
+ base::Bind(&StartPageHandler::HandleSpeechSoundLevel, |
+ base::Unretained(this))); |
web_ui()->RegisterMessageCallback( |
"setSpeechRecognitionState", |
base::Bind(&StartPageHandler::HandleSpeechRecognition, |
@@ -124,20 +130,41 @@ void StartPageHandler::HandleLaunchApp(const base::ListValue* args) { |
ui::EF_NONE); |
} |
-void StartPageHandler::HandleSearch(const base::ListValue* args) { |
+void StartPageHandler::HandleSpeechResult(const base::ListValue* args) { |
base::string16 query; |
+ bool is_final = false; |
CHECK(args->GetString(0, &query)); |
+ CHECK(args->GetBoolean(1, &is_final)); |
- StartPageService::Get(Profile::FromWebUI(web_ui()))->OnSearch(query); |
+ StartPageService::Get(Profile::FromWebUI(web_ui()))->OnSpeechResult( |
+ query, is_final); |
+} |
+ |
+void StartPageHandler::HandleSpeechSoundLevel(const base::ListValue* args) { |
+ double level; |
+ CHECK(args->GetDouble(0, &level)); |
+ |
+ StartPageService* service = |
+ StartPageService::Get(Profile::FromWebUI(web_ui())); |
+ service->OnSpeechSoundLevelChanged(static_cast<int16>(level)); |
} |
void StartPageHandler::HandleSpeechRecognition(const base::ListValue* args) { |
- bool recognizing; |
- CHECK(args->GetBoolean(0, &recognizing)); |
+ std::string state_string; |
+ CHECK(args->GetString(0, &state_string)); |
+ LOG(ERROR) << state_string; |
+ |
+ SpeechRecognitionState new_state = SPEECH_RECOGNITION_NOT_STARTED; |
+ if (state_string == "on") { |
+ new_state = SPEECH_RECOGNITION_ON; |
+ } else if (state_string == "in-speech") { |
+ new_state = SPEECH_RECOGNITION_IN_SPEECH; |
+ } |
+ LOG(ERROR) << new_state; |
StartPageService* service = |
StartPageService::Get(Profile::FromWebUI(web_ui())); |
- service->OnSpeechRecognitionStateChanged(recognizing); |
+ service->OnSpeechRecognitionStateChanged(new_state); |
} |
} // namespace app_list |