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

Unified Diff: content/shell/renderer/test_runner/mock_web_speech_recognizer.cc

Issue 1167703002: Move test runner to a component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 5 years, 7 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/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

Powered by Google App Engine
This is Rietveld 408576698