This source file includes following definitions.
- create
- m_listener
- setListener
- startRecognition
- stopRecording
- cancelRecognition
- didCompleteRecording
- didCompleteRecognition
- setRecognitionResult
#include "config.h"
#include "SpeechInputClientImpl.h"
#include "public/platform/WebString.h"
#include "wtf/text/WTFString.h"
#include "WebSecurityOrigin.h"
#include "WebSpeechInputController.h"
#include "WebViewClient.h"
#include "core/speech/SpeechInputListener.h"
#include "platform/weborigin/SecurityOrigin.h"
#if ENABLE(INPUT_SPEECH)
namespace blink {
PassOwnPtr<SpeechInputClientImpl> SpeechInputClientImpl::create(WebViewClient* client)
{
return adoptPtr(new SpeechInputClientImpl(client));
}
SpeechInputClientImpl::SpeechInputClientImpl(WebViewClient* web_view_client)
: m_controller(web_view_client ? web_view_client->speechInputController(this) : 0)
, m_listener(0)
{
}
SpeechInputClientImpl::~SpeechInputClientImpl()
{
}
void SpeechInputClientImpl::setListener(WebCore::SpeechInputListener* listener)
{
m_listener = listener;
}
bool SpeechInputClientImpl::startRecognition(int requestId, const WebCore::IntRect& elementRect, const AtomicString& language, const String& grammar, WebCore::SecurityOrigin* origin)
{
ASSERT(m_listener);
return m_controller->startRecognition(requestId, elementRect, language, grammar, WebSecurityOrigin(origin));
}
void SpeechInputClientImpl::stopRecording(int requestId)
{
ASSERT(m_listener);
m_controller->stopRecording(requestId);
}
void SpeechInputClientImpl::cancelRecognition(int requestId)
{
ASSERT(m_listener);
m_controller->cancelRecognition(requestId);
}
void SpeechInputClientImpl::didCompleteRecording(int requestId)
{
ASSERT(m_listener);
m_listener->didCompleteRecording(requestId);
}
void SpeechInputClientImpl::didCompleteRecognition(int requestId)
{
ASSERT(m_listener);
m_listener->didCompleteRecognition(requestId);
}
void SpeechInputClientImpl::setRecognitionResult(int requestId, const WebSpeechInputResultArray& results)
{
ASSERT(m_listener);
WebCore::SpeechInputResultArray webcoreResults(results.size());
for (size_t i = 0; i < results.size(); ++i)
webcoreResults[i] = PassRefPtrWillBeRawPtr<WebCore::SpeechInputResult>(results[i]);
m_listener->setRecognitionResult(requestId, webcoreResults);
}
}
#endif