Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Unified Diff: content/common/speech_recognition_messages.h

Issue 10233010: Introducing new data types and IPC messages for scripted JS speech recognition APIs (Speech CL2.0) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed according to Hans review. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/speech_recognition_messages.h
diff --git a/content/common/speech_recognition_messages.h b/content/common/speech_recognition_messages.h
index dc3ceb38e4011fa8705ec5047c664e80e9a5c9b8..666487736cd5f299e53604e8d227416e422e5f98 100644
--- a/content/common/speech_recognition_messages.h
+++ b/content/common/speech_recognition_messages.h
@@ -7,6 +7,7 @@
#include <string>
#include "content/public/common/speech_recognition_error.h"
+#include "content/public/common/speech_recognition_grammar.h"
#include "content/public/common/speech_recognition_result.h"
#include "ipc/ipc_message_macros.h"
#include "ipc/ipc_param_traits.h"
@@ -14,17 +15,29 @@
#define IPC_MESSAGE_START SpeechRecognitionMsgStart
+IPC_ENUM_TRAITS(content::SpeechAudioErrorDetails)
Satish 2012/04/27 10:04:41 I'd prefer to see these IPC message additions in t
Primiano Tucci (use gerrit) 2012/04/27 15:58:44 Done.
IPC_ENUM_TRAITS(content::SpeechRecognitionErrorCode)
+IPC_STRUCT_TRAITS_BEGIN(content::SpeechRecognitionError)
+ IPC_STRUCT_TRAITS_MEMBER(code)
+ IPC_STRUCT_TRAITS_MEMBER(details)
+IPC_STRUCT_TRAITS_END()
+
IPC_STRUCT_TRAITS_BEGIN(content::SpeechRecognitionHypothesis)
IPC_STRUCT_TRAITS_MEMBER(utterance)
IPC_STRUCT_TRAITS_MEMBER(confidence)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(content::SpeechRecognitionResult)
+ IPC_STRUCT_TRAITS_MEMBER(provisional)
IPC_STRUCT_TRAITS_MEMBER(hypotheses)
IPC_STRUCT_TRAITS_END()
+IPC_STRUCT_TRAITS_BEGIN(content::SpeechRecognitionGrammar)
+ IPC_STRUCT_TRAITS_MEMBER(url)
+ IPC_STRUCT_TRAITS_MEMBER(weight)
+IPC_STRUCT_TRAITS_END()
+
// Used to start a speech recognition session.
IPC_STRUCT_BEGIN(InputTagSpeechHostMsg_StartRecognition_Params)
// The render view requesting speech recognition.
@@ -41,7 +54,7 @@ IPC_STRUCT_BEGIN(InputTagSpeechHostMsg_StartRecognition_Params)
IPC_STRUCT_MEMBER(std::string, origin_url)
IPC_STRUCT_END()
-// Speech recognition messages sent from the renderer to the browser.
+// Renderer -> Browser messages.
// Requests the speech recognition service to start speech recognition on behalf
// of the given |render_view_id|.
@@ -63,24 +76,82 @@ IPC_MESSAGE_CONTROL2(InputTagSpeechHostMsg_StopRecording,
int /* render_view_id */,
int /* request_id */)
-// Speech recognition messages sent from the browser to the renderer.
+// Browser -> Renderer messages.
-// Relay a speech recognition result, either partial or final.
+// Relays a speech recognition result, either partial or final.
IPC_MESSAGE_ROUTED2(InputTagSpeechMsg_SetRecognitionResult,
int /* request_id */,
content::SpeechRecognitionResult /* result */)
-// Indicate that speech recognizer has stopped recording and started
+// Indicates that speech recognizer has stopped recording and started
// recognition.
IPC_MESSAGE_ROUTED1(InputTagSpeechMsg_RecordingComplete,
int /* request_id */)
-// Indicate that speech recognizer has completed recognition. This will be the
+// Indicates that speech recognizer has completed recognition. This will be the
// last message sent in response to a InputTagSpeechHostMsg_StartRecognition.
IPC_MESSAGE_ROUTED1(InputTagSpeechMsg_RecognitionComplete,
int /* request_id */)
-// Toggle speech recognition on or off on the speech input control for the
+// Toggles speech recognition on or off on the speech input control for the
// current focused element. Has no effect if the current element doesn't
// support speech recognition.
IPC_MESSAGE_ROUTED0(InputTagSpeechMsg_ToggleSpeechInput)
+
+
+// ------- Messages for Speech JS APIs (SpeechRecognitionDispatcher) ----------
+
+// Used to start a speech recognition session.
+IPC_STRUCT_BEGIN(SpeechRecognitionHostMsg_StartRequest_Params)
+ // The render view requesting speech recognition.
+ IPC_STRUCT_MEMBER(int, render_view_id)
+ // Unique ID associated to the JS object making the calls.
+ IPC_STRUCT_MEMBER(int, js_handle_id)
+ // Language to use for speech recognition.
+ IPC_STRUCT_MEMBER(std::string, language)
+ // Speech grammars to use.
+ IPC_STRUCT_MEMBER(content::SpeechRecognitionGrammarArray, grammars)
+ // URL of the page (or iframe if applicable).
+ IPC_STRUCT_MEMBER(std::string, origin_url)
+ // Continuous recognition mode.
+ IPC_STRUCT_MEMBER(bool, continuous)
+IPC_STRUCT_END()
+
+// Render -> Browser messages.
+
+// Requests the speech recognition service to start speech recognition on behalf
+// of the given |render_view_id|.
+IPC_MESSAGE_CONTROL1(SpeechRecognitionHostMsg_StartRequest,
+ SpeechRecognitionHostMsg_StartRequest_Params)
+
+// Requests the speech recognition service to abort speech recognition on
+// behalf of the given |render_view_id|. If speech recognition is not happening
+// or is happening on behalf of some other render view, this call does nothing.
+IPC_MESSAGE_CONTROL2(SpeechRecognitionHostMsg_AbortRequest,
+ int /* render_view_id */,
+ int /* js_handle_id */)
+
+// Requests the speech recognition service to stop audio capture on behalf of
+// the given |render_view_id|. Any audio recorded so far will be fed to the
+// speech recognizer. If speech recognition is not happening nor or is
+// happening on behalf of some other render view, this call does nothing.
+IPC_MESSAGE_CONTROL2(SpeechRecognitionHostMsg_StopCaptureRequest,
+ int /* render_view_id */,
+ int /* js_handle_id */)
+
+// Browser -> Render messages.
+
+// The messages below follow exactly the same semantic of the corresponding
+// events defined in content/public/browser/speech_recognition_event_listener.h.
+IPC_MESSAGE_ROUTED2(SpeechRecognitionMsg_ResultRetrieved,
+ int /* js_handle_id */,
+ content::SpeechRecognitionResult /* result */)
+IPC_MESSAGE_ROUTED2(SpeechRecognitionMsg_ErrorOccurred,
+ int /* js_handle_id */,
+ content::SpeechRecognitionError /* error */)
+IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_Started, int /* js_handle_id */)
+IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_AudioStarted, int /* js_handle_id */)
+IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_SoundStarted, int /* js_handle_id */)
+IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_SoundEnded, int /* js_handle_id */)
+IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_AudioEnded, int /* js_handle_id */)
+IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_Ended, int /* js_handle_id */)

Powered by Google App Engine
This is Rietveld 408576698