Index: Source/web/SpeechRecognitionClientProxy.cpp |
diff --git a/Source/web/SpeechRecognitionClientProxy.cpp b/Source/web/SpeechRecognitionClientProxy.cpp |
index 479f15d5ed6cbc5bad804618516c0547c1a9c980..6c56e4c14822c2516ebad7d26029b47126b9456d 100644 |
--- a/Source/web/SpeechRecognitionClientProxy.cpp |
+++ b/Source/web/SpeechRecognitionClientProxy.cpp |
@@ -33,6 +33,7 @@ |
#include "modules/speech/SpeechRecognitionResult.h" |
#include "modules/speech/SpeechRecognitionResultList.h" |
#include "platform/weborigin/SecurityOrigin.h" |
+#include "public/platform/WebMediaStreamTrack.h" |
#include "public/web/WebSecurityOrigin.h" |
#include "public/web/WebSpeechGrammar.h" |
#include "public/web/WebSpeechRecognitionHandle.h" |
@@ -52,6 +53,14 @@ PassOwnPtr<SpeechRecognitionClientProxy> SpeechRecognitionClientProxy::create(We |
return adoptPtr(new SpeechRecognitionClientProxy(recognizer)); |
} |
+void SpeechRecognitionClientProxy::attach(SpeechRecognition* recognition, MediaStreamTrack* audioTrack) |
+{ |
+ if (audioTrack) |
+ m_recognizer->attach(WebSpeechRecognitionHandle(recognition), audioTrack->component(), this); |
+ else |
+ m_recognizer->detach(WebSpeechRecognitionHandle(recognition), this); |
+} |
+ |
void SpeechRecognitionClientProxy::start(SpeechRecognition* recognition, const SpeechGrammarList* grammarList, const String& lang, bool continuous, bool interimResults, unsigned long maxAlternatives) |
{ |
WebVector<WebSpeechGrammar> webSpeechGrammars(static_cast<size_t>(grammarList->length())); |