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

Unified Diff: content/shell/renderer/test_runner/MockWebSpeechRecognizer.cpp

Issue 429953002: test_runner: Migrate MockWebSpeechRecognizer to Chromium C++ style. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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/MockWebSpeechRecognizer.cpp
diff --git a/content/shell/renderer/test_runner/MockWebSpeechRecognizer.cpp b/content/shell/renderer/test_runner/MockWebSpeechRecognizer.cpp
deleted file mode 100644
index beb7e871892ae30220b47123ec0f22dd34032c45..0000000000000000000000000000000000000000
--- a/content/shell/renderer/test_runner/MockWebSpeechRecognizer.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-// Copyright 2013 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/MockWebSpeechRecognizer.h"
-
-#include "base/logging.h"
-#include "content/shell/renderer/test_runner/WebTestDelegate.h"
-#include "third_party/WebKit/public/web/WebSpeechRecognitionResult.h"
-#include "third_party/WebKit/public/web/WebSpeechRecognizerClient.h"
-
-using namespace blink;
-
-namespace content {
-
-namespace {
-
-// Task class for calling a client function that does not take any parameters.
-typedef void (WebSpeechRecognizerClient::*ClientFunctionPointer)(const WebSpeechRecognitionHandle&);
-class ClientCallTask : public MockWebSpeechRecognizer::Task {
-public:
- ClientCallTask(MockWebSpeechRecognizer* mock, ClientFunctionPointer function)
- : MockWebSpeechRecognizer::Task(mock)
- , m_function(function)
- {
- }
-
- virtual void run() OVERRIDE { (m_recognizer->client()->*m_function)(m_recognizer->handle()); }
-
-private:
- ClientFunctionPointer m_function;
-};
-
-// Task for delivering a result event.
-class ResultTask : public MockWebSpeechRecognizer::Task {
-public:
- ResultTask(MockWebSpeechRecognizer* mock, const WebString transcript, float confidence)
- : MockWebSpeechRecognizer::Task(mock)
- , m_transcript(transcript)
- , m_confidence(confidence)
- {
- }
-
- virtual void run() OVERRIDE
- {
- WebVector<WebString> transcripts(static_cast<size_t>(1));
- WebVector<float> confidences(static_cast<size_t>(1));
- transcripts[0] = m_transcript;
- confidences[0] = m_confidence;
- WebVector<WebSpeechRecognitionResult> finalResults(static_cast<size_t>(1));
- WebVector<WebSpeechRecognitionResult> interimResults;
- finalResults[0].assign(transcripts, confidences, true);
-
- m_recognizer->client()->didReceiveResults(m_recognizer->handle(), finalResults, interimResults);
- }
-
-private:
- WebString m_transcript;
- float m_confidence;
-};
-
-// Task for delivering a nomatch event.
-class NoMatchTask : public MockWebSpeechRecognizer::Task {
-public:
- NoMatchTask(MockWebSpeechRecognizer* mock) : MockWebSpeechRecognizer::Task(mock) { }
- virtual void run() OVERRIDE { m_recognizer->client()->didReceiveNoMatch(m_recognizer->handle(), WebSpeechRecognitionResult()); }
-};
-
-// Task for delivering an error event.
-class ErrorTask : public MockWebSpeechRecognizer::Task {
-public:
- ErrorTask(MockWebSpeechRecognizer* mock, WebSpeechRecognizerClient::ErrorCode code, const WebString& message)
- : MockWebSpeechRecognizer::Task(mock)
- , m_code(code)
- , m_message(message)
- {
- }
-
- virtual void run() OVERRIDE { m_recognizer->client()->didReceiveError(m_recognizer->handle(), m_message, m_code); }
-
-private:
- WebSpeechRecognizerClient::ErrorCode m_code;
- WebString m_message;
-};
-
-} // namespace
-
-MockWebSpeechRecognizer::MockWebSpeechRecognizer()
- : m_wasAborted(false)
- , m_taskQueueRunning(false)
- , m_delegate(0)
-{
-}
-
-MockWebSpeechRecognizer::~MockWebSpeechRecognizer()
-{
- clearTaskQueue();
-}
-
-void MockWebSpeechRecognizer::setDelegate(WebTestDelegate* delegate)
-{
- m_delegate = delegate;
-}
-
-void MockWebSpeechRecognizer::start(const WebSpeechRecognitionHandle& handle, const WebSpeechRecognitionParams& params, WebSpeechRecognizerClient* client)
-{
- m_wasAborted = false;
- m_handle = handle;
- m_client = client;
-
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didStart));
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didStartAudio));
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didStartSound));
-
- if (!m_mockTranscripts.empty()) {
- DCHECK_EQ(m_mockTranscripts.size(), m_mockConfidences.size());
-
- for (size_t i = 0; i < m_mockTranscripts.size(); ++i)
- m_taskQueue.push_back(new ResultTask(this, m_mockTranscripts[i], m_mockConfidences[i]));
-
- m_mockTranscripts.clear();
- m_mockConfidences.clear();
- } else
- m_taskQueue.push_back(new NoMatchTask(this));
-
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didEndSound));
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didEndAudio));
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didEnd));
-
- startTaskQueue();
-}
-
-void MockWebSpeechRecognizer::stop(const WebSpeechRecognitionHandle& handle, WebSpeechRecognizerClient* client)
-{
- m_handle = handle;
- m_client = client;
-
- // FIXME: Implement.
- NOTREACHED();
-}
-
-void MockWebSpeechRecognizer::abort(const WebSpeechRecognitionHandle& handle, WebSpeechRecognizerClient* client)
-{
- m_handle = handle;
- m_client = client;
-
- clearTaskQueue();
- m_wasAborted = true;
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didEnd));
- startTaskQueue();
-}
-
-void MockWebSpeechRecognizer::addMockResult(const WebString& transcript, float confidence)
-{
- m_mockTranscripts.push_back(transcript);
- m_mockConfidences.push_back(confidence);
-}
-
-void MockWebSpeechRecognizer::setError(const WebString& error, const WebString& message)
-{
- WebSpeechRecognizerClient::ErrorCode code;
- if (error == "OtherError")
- code = WebSpeechRecognizerClient::OtherError;
- else if (error == "NoSpeechError")
- code = WebSpeechRecognizerClient::NoSpeechError;
- else if (error == "AbortedError")
- code = WebSpeechRecognizerClient::AbortedError;
- else if (error == "AudioCaptureError")
- code = WebSpeechRecognizerClient::AudioCaptureError;
- else if (error == "NetworkError")
- code = WebSpeechRecognizerClient::NetworkError;
- else if (error == "NotAllowedError")
- code = WebSpeechRecognizerClient::NotAllowedError;
- else if (error == "ServiceNotAllowedError")
- code = WebSpeechRecognizerClient::ServiceNotAllowedError;
- else if (error == "BadGrammarError")
- code = WebSpeechRecognizerClient::BadGrammarError;
- else if (error == "LanguageNotSupportedError")
- code = WebSpeechRecognizerClient::LanguageNotSupportedError;
- else
- return;
-
- clearTaskQueue();
- m_taskQueue.push_back(new ErrorTask(this, code, message));
- m_taskQueue.push_back(new ClientCallTask(this, &WebSpeechRecognizerClient::didEnd));
- startTaskQueue();
-}
-
-void MockWebSpeechRecognizer::startTaskQueue()
-{
- if (m_taskQueueRunning)
- return;
- m_delegate->postTask(new StepTask(this));
- m_taskQueueRunning = true;
-}
-
-void MockWebSpeechRecognizer::clearTaskQueue()
-{
- while (!m_taskQueue.empty()) {
- delete m_taskQueue.front();
- m_taskQueue.pop_front();
- }
- m_taskQueueRunning = false;
-}
-
-void MockWebSpeechRecognizer::StepTask::runIfValid()
-{
- if (m_object->m_taskQueue.empty()) {
- m_object->m_taskQueueRunning = false;
- return;
- }
-
- Task* task = m_object->m_taskQueue.front();
- m_object->m_taskQueue.pop_front();
- task->run();
- delete task;
-
- if (m_object->m_taskQueue.empty()) {
- m_object->m_taskQueueRunning = false;
- return;
- }
-
- m_object->m_delegate->postTask(new StepTask(m_object));
-}
-
-} // namespace content

Powered by Google App Engine
This is Rietveld 408576698