Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / common / speech_recognition_messages.h
index f68a48d..80eb7f7 100644 (file)
@@ -6,17 +6,22 @@
 
 #include <string>
 
+#include "base/memory/shared_memory.h"
+#include "base/sync_socket.h"
 #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"
+#include "media/audio/audio_parameters.h"
 #include "ui/gfx/rect.h"
 
 #define IPC_MESSAGE_START SpeechRecognitionMsgStart
 
-IPC_ENUM_TRAITS(content::SpeechAudioErrorDetails)
-IPC_ENUM_TRAITS(content::SpeechRecognitionErrorCode)
+IPC_ENUM_TRAITS_MAX_VALUE(content::SpeechAudioErrorDetails,
+                          content::SPEECH_AUDIO_ERROR_DETAILS_LAST)
+IPC_ENUM_TRAITS_MAX_VALUE(content::SpeechRecognitionErrorCode,
+                          content::SPEECH_RECOGNITION_ERROR_LAST)
 
 IPC_STRUCT_TRAITS_BEGIN(content::SpeechRecognitionError)
   IPC_STRUCT_TRAITS_MEMBER(code)
@@ -38,67 +43,6 @@ IPC_STRUCT_TRAITS_BEGIN(content::SpeechRecognitionGrammar)
   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.
-  IPC_STRUCT_MEMBER(int, render_view_id)
-  // Request ID used within the render view.
-  IPC_STRUCT_MEMBER(int, request_id)
-  // Position of the UI element in page coordinates.
-  IPC_STRUCT_MEMBER(gfx::Rect, element_rect)
-  // Language to use for speech recognition.
-  IPC_STRUCT_MEMBER(std::string, language)
-  // Speech grammar given by the speech recognition element.
-  IPC_STRUCT_MEMBER(std::string, grammar)
-  // URL of the page (or iframe if applicable).
-  IPC_STRUCT_MEMBER(std::string, origin_url)
-IPC_STRUCT_END()
-
-// Renderer -> Browser messages.
-
-// Requests the speech recognition service to start speech recognition on behalf
-// of the given |render_view_id|.
-IPC_MESSAGE_CONTROL1(InputTagSpeechHostMsg_StartRecognition,
-                     InputTagSpeechHostMsg_StartRecognition_Params)
-
-// Requests the speech recognition service to cancel 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(InputTagSpeechHostMsg_CancelRecognition,
-                     int /* render_view_id */,
-                     int /* request_id */)
-
-// Requests the speech recognition service to stop audio recording 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(InputTagSpeechHostMsg_StopRecording,
-                     int /* render_view_id */,
-                     int /* request_id */)
-
-// Browser -> Renderer messages.
-
-// Relays a speech recognition result, either partial or final.
-IPC_MESSAGE_ROUTED2(InputTagSpeechMsg_SetRecognitionResults,
-                    int /* request_id */,
-                    content::SpeechRecognitionResults /* results */)
-
-// Indicates that speech recognizer has stopped recording and started
-// recognition.
-IPC_MESSAGE_ROUTED1(InputTagSpeechMsg_RecordingComplete,
-                    int /* request_id */)
-
-// 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 */)
-
-// 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) ----------
 
 // Renderer -> Browser messages.
@@ -121,6 +65,8 @@ IPC_STRUCT_BEGIN(SpeechRecognitionHostMsg_StartRequest_Params)
   IPC_STRUCT_MEMBER(bool, continuous)
   // Whether the user requested interim results or not.
   IPC_STRUCT_MEMBER(bool, interim_results)
+  // Wheter the user has set an audio track as input or not.
+  IPC_STRUCT_MEMBER(bool, using_audio_track)
 IPC_STRUCT_END()
 
 
@@ -129,12 +75,19 @@ 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.
+// behalf of the given |render_view_id| and |request_id|. If there are no
+// sessions associated with the |request_id| in the render view, this call
+// does nothing.
 IPC_MESSAGE_CONTROL2(SpeechRecognitionHostMsg_AbortRequest,
                      int /* render_view_id */,
                      int /* request_id */)
 
+// Requests the speech recognition service to abort all speech recognitions 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_CONTROL1(SpeechRecognitionHostMsg_AbortAllRequests,
+                     int /* render_view_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
@@ -166,3 +119,9 @@ IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_SoundEnded, int /* request_id */)
 IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_AudioEnded, int /* request_id */)
 
 IPC_MESSAGE_ROUTED1(SpeechRecognitionMsg_Ended, int /* request_id */)
+
+IPC_MESSAGE_ROUTED4(SpeechRecognitionMsg_AudioReceiverReady,
+                    int /* request_id */,
+                    media::AudioParameters /* params */,
+                    base::SharedMemoryHandle /* memory */,
+                    base::SyncSocket::TransitDescriptor /* socket */)