| Index: content/shell/renderer/test_runner/mock_web_speech_recognizer.cc
|
| diff --git a/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc b/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc
|
| deleted file mode 100644
|
| index 7974d5a3047914f0a5ff2e3711c6bf6c1a68fd81..0000000000000000000000000000000000000000
|
| --- a/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc
|
| +++ /dev/null
|
| @@ -1,253 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/shell/renderer/test_runner/mock_web_speech_recognizer.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "content/shell/renderer/test_runner/web_test_delegate.h"
|
| -#include "third_party/WebKit/public/web/WebSpeechRecognitionResult.h"
|
| -#include "third_party/WebKit/public/web/WebSpeechRecognizerClient.h"
|
| -
|
| -namespace content {
|
| -
|
| -namespace {
|
| -
|
| -// Task class for calling a client function that does not take any parameters.
|
| -typedef void (blink::WebSpeechRecognizerClient::*ClientFunctionPointer)(
|
| - const blink::WebSpeechRecognitionHandle&);
|
| -class ClientCallTask : public MockWebSpeechRecognizer::Task {
|
| - public:
|
| - ClientCallTask(MockWebSpeechRecognizer* mock, ClientFunctionPointer function)
|
| - : MockWebSpeechRecognizer::Task(mock), function_(function) {}
|
| -
|
| - ~ClientCallTask() override {}
|
| -
|
| - void run() override {
|
| - (recognizer_->Client()->*function_)(recognizer_->Handle());
|
| - }
|
| -
|
| - private:
|
| - ClientFunctionPointer function_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ClientCallTask);
|
| -};
|
| -
|
| -// Task for delivering a result event.
|
| -class ResultTask : public MockWebSpeechRecognizer::Task {
|
| - public:
|
| - ResultTask(MockWebSpeechRecognizer* mock,
|
| - const blink::WebString transcript,
|
| - float confidence)
|
| - : MockWebSpeechRecognizer::Task(mock),
|
| - transcript_(transcript),
|
| - confidence_(confidence) {}
|
| -
|
| - ~ResultTask() override {}
|
| -
|
| - void run() override {
|
| - blink::WebVector<blink::WebString> transcripts(static_cast<size_t>(1));
|
| - blink::WebVector<float> confidences(static_cast<size_t>(1));
|
| - transcripts[0] = transcript_;
|
| - confidences[0] = confidence_;
|
| - blink::WebVector<blink::WebSpeechRecognitionResult> final_results(
|
| - static_cast<size_t>(1));
|
| - blink::WebVector<blink::WebSpeechRecognitionResult> interim_results;
|
| - final_results[0].assign(transcripts, confidences, true);
|
| -
|
| - recognizer_->Client()->didReceiveResults(
|
| - recognizer_->Handle(), final_results, interim_results);
|
| - }
|
| -
|
| - private:
|
| - blink::WebString transcript_;
|
| - float confidence_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ResultTask);
|
| -};
|
| -
|
| -// Task for delivering a nomatch event.
|
| -class NoMatchTask : public MockWebSpeechRecognizer::Task {
|
| - public:
|
| - NoMatchTask(MockWebSpeechRecognizer* mock)
|
| - : MockWebSpeechRecognizer::Task(mock) {}
|
| -
|
| - ~NoMatchTask() override {}
|
| -
|
| - void run() override {
|
| - recognizer_->Client()->didReceiveNoMatch(
|
| - recognizer_->Handle(), blink::WebSpeechRecognitionResult());
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(NoMatchTask);
|
| -};
|
| -
|
| -// Task for delivering an error event.
|
| -class ErrorTask : public MockWebSpeechRecognizer::Task {
|
| - public:
|
| - ErrorTask(MockWebSpeechRecognizer* mock,
|
| - blink::WebSpeechRecognizerClient::ErrorCode code,
|
| - const blink::WebString& message)
|
| - : MockWebSpeechRecognizer::Task(mock), code_(code), message_(message) {}
|
| -
|
| - ~ErrorTask() override {}
|
| -
|
| - void run() override {
|
| - recognizer_->Client()->didReceiveError(
|
| - recognizer_->Handle(), message_, code_);
|
| - }
|
| -
|
| - private:
|
| - blink::WebSpeechRecognizerClient::ErrorCode code_;
|
| - blink::WebString message_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ErrorTask);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -MockWebSpeechRecognizer::MockWebSpeechRecognizer()
|
| - : was_aborted_(false), task_queue_running_(false), delegate_(0) {
|
| -}
|
| -
|
| -MockWebSpeechRecognizer::~MockWebSpeechRecognizer() {
|
| - ClearTaskQueue();
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::SetDelegate(WebTestDelegate* delegate) {
|
| - delegate_ = delegate;
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::start(
|
| - const blink::WebSpeechRecognitionHandle& handle,
|
| - const blink::WebSpeechRecognitionParams& params,
|
| - blink::WebSpeechRecognizerClient* client) {
|
| - was_aborted_ = false;
|
| - handle_ = handle;
|
| - client_ = client;
|
| -
|
| - task_queue_.push_back(
|
| - new ClientCallTask(this, &blink::WebSpeechRecognizerClient::didStart));
|
| - task_queue_.push_back(new ClientCallTask(
|
| - this, &blink::WebSpeechRecognizerClient::didStartAudio));
|
| - task_queue_.push_back(new ClientCallTask(
|
| - this, &blink::WebSpeechRecognizerClient::didStartSound));
|
| -
|
| - if (!mock_transcripts_.empty()) {
|
| - DCHECK_EQ(mock_transcripts_.size(), mock_confidences_.size());
|
| -
|
| - for (size_t i = 0; i < mock_transcripts_.size(); ++i)
|
| - task_queue_.push_back(
|
| - new ResultTask(this, mock_transcripts_[i], mock_confidences_[i]));
|
| -
|
| - mock_transcripts_.clear();
|
| - mock_confidences_.clear();
|
| - } else
|
| - task_queue_.push_back(new NoMatchTask(this));
|
| -
|
| - task_queue_.push_back(
|
| - new ClientCallTask(this, &blink::WebSpeechRecognizerClient::didEndSound));
|
| - task_queue_.push_back(
|
| - new ClientCallTask(this, &blink::WebSpeechRecognizerClient::didEndAudio));
|
| - task_queue_.push_back(
|
| - new ClientCallTask(this, &blink::WebSpeechRecognizerClient::didEnd));
|
| -
|
| - StartTaskQueue();
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::stop(
|
| - const blink::WebSpeechRecognitionHandle& handle,
|
| - blink::WebSpeechRecognizerClient* client) {
|
| - handle_ = handle;
|
| - client_ = client;
|
| -
|
| - // FIXME: Implement.
|
| - NOTREACHED();
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::abort(
|
| - const blink::WebSpeechRecognitionHandle& handle,
|
| - blink::WebSpeechRecognizerClient* client) {
|
| - handle_ = handle;
|
| - client_ = client;
|
| -
|
| - ClearTaskQueue();
|
| - was_aborted_ = true;
|
| - task_queue_.push_back(
|
| - new ClientCallTask(this, &blink::WebSpeechRecognizerClient::didEnd));
|
| - StartTaskQueue();
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::AddMockResult(const blink::WebString& transcript,
|
| - float confidence) {
|
| - mock_transcripts_.push_back(transcript);
|
| - mock_confidences_.push_back(confidence);
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::SetError(const blink::WebString& error,
|
| - const blink::WebString& message) {
|
| - blink::WebSpeechRecognizerClient::ErrorCode code;
|
| - if (error == "OtherError")
|
| - code = blink::WebSpeechRecognizerClient::OtherError;
|
| - else if (error == "NoSpeechError")
|
| - code = blink::WebSpeechRecognizerClient::NoSpeechError;
|
| - else if (error == "AbortedError")
|
| - code = blink::WebSpeechRecognizerClient::AbortedError;
|
| - else if (error == "AudioCaptureError")
|
| - code = blink::WebSpeechRecognizerClient::AudioCaptureError;
|
| - else if (error == "NetworkError")
|
| - code = blink::WebSpeechRecognizerClient::NetworkError;
|
| - else if (error == "NotAllowedError")
|
| - code = blink::WebSpeechRecognizerClient::NotAllowedError;
|
| - else if (error == "ServiceNotAllowedError")
|
| - code = blink::WebSpeechRecognizerClient::ServiceNotAllowedError;
|
| - else if (error == "BadGrammarError")
|
| - code = blink::WebSpeechRecognizerClient::BadGrammarError;
|
| - else if (error == "LanguageNotSupportedError")
|
| - code = blink::WebSpeechRecognizerClient::LanguageNotSupportedError;
|
| - else
|
| - return;
|
| -
|
| - ClearTaskQueue();
|
| - task_queue_.push_back(new ErrorTask(this, code, message));
|
| - task_queue_.push_back(
|
| - new ClientCallTask(this, &blink::WebSpeechRecognizerClient::didEnd));
|
| - StartTaskQueue();
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::StartTaskQueue() {
|
| - if (task_queue_running_)
|
| - return;
|
| - delegate_->PostTask(new StepTask(this));
|
| - task_queue_running_ = true;
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::ClearTaskQueue() {
|
| - while (!task_queue_.empty()) {
|
| - delete task_queue_.front();
|
| - task_queue_.pop_front();
|
| - }
|
| - task_queue_running_ = false;
|
| -}
|
| -
|
| -void MockWebSpeechRecognizer::StepTask::RunIfValid() {
|
| - if (object_->task_queue_.empty()) {
|
| - object_->task_queue_running_ = false;
|
| - return;
|
| - }
|
| -
|
| - Task* task = object_->task_queue_.front();
|
| - object_->task_queue_.pop_front();
|
| - task->run();
|
| - delete task;
|
| -
|
| - if (object_->task_queue_.empty()) {
|
| - object_->task_queue_running_ = false;
|
| - return;
|
| - }
|
| -
|
| - object_->delegate_->PostTask(new StepTask(object_));
|
| -}
|
| -
|
| -} // namespace content
|
|
|