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

Side by Side Diff: content/shell/renderer/test_runner/MockWebSpeechRecognizer.h

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, 4 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 unified diff | Download patch
« no previous file with comments | « content/shell/BUILD.gn ('k') | content/shell/renderer/test_runner/MockWebSpeechRecognizer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBSPEECHRECOGNIZER_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBSPEECHRECOGNIZER_H_
7
8 #include <deque>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "content/shell/renderer/test_runner/TestCommon.h"
13 #include "content/shell/renderer/test_runner/WebTask.h"
14 #include "third_party/WebKit/public/web/WebSpeechRecognizer.h"
15
16 namespace blink {
17 class WebSpeechRecognitionHandle;
18 class WebSpeechRecognitionParams;
19 class WebSpeechRecognizerClient;
20 }
21
22 namespace content {
23
24 class WebTestDelegate;
25
26 class MockWebSpeechRecognizer : public blink::WebSpeechRecognizer {
27 public:
28 MockWebSpeechRecognizer();
29 virtual ~MockWebSpeechRecognizer();
30
31 void setDelegate(WebTestDelegate*);
32
33 // WebSpeechRecognizer implementation:
34 virtual void start(const blink::WebSpeechRecognitionHandle&, const blink::We bSpeechRecognitionParams&, blink::WebSpeechRecognizerClient*) OVERRIDE;
35 virtual void stop(const blink::WebSpeechRecognitionHandle&, blink::WebSpeech RecognizerClient*) OVERRIDE;
36 virtual void abort(const blink::WebSpeechRecognitionHandle&, blink::WebSpeec hRecognizerClient*) OVERRIDE;
37
38 // Methods accessed by layout tests:
39 void addMockResult(const blink::WebString& transcript, float confidence);
40 void setError(const blink::WebString& error, const blink::WebString& message );
41 bool wasAborted() const { return m_wasAborted; }
42
43 // Methods accessed from Task objects:
44 blink::WebSpeechRecognizerClient* client() { return m_client; }
45 blink::WebSpeechRecognitionHandle& handle() { return m_handle; }
46 WebTaskList* mutable_task_list() { return &m_taskList; }
47
48 class Task {
49 public:
50 Task(MockWebSpeechRecognizer* recognizer) : m_recognizer(recognizer) { }
51 virtual ~Task() { }
52 virtual void run() = 0;
53 protected:
54 MockWebSpeechRecognizer* m_recognizer;
55 };
56
57 private:
58 void startTaskQueue();
59 void clearTaskQueue();
60
61 WebTaskList m_taskList;
62 blink::WebSpeechRecognitionHandle m_handle;
63 blink::WebSpeechRecognizerClient* m_client;
64 std::vector<blink::WebString> m_mockTranscripts;
65 std::vector<float> m_mockConfidences;
66 bool m_wasAborted;
67
68 // Queue of tasks to be run.
69 std::deque<Task*> m_taskQueue;
70 bool m_taskQueueRunning;
71
72 WebTestDelegate* m_delegate;
73
74 // Task for stepping the queue.
75 class StepTask : public WebMethodTask<MockWebSpeechRecognizer> {
76 public:
77 StepTask(MockWebSpeechRecognizer* object) : WebMethodTask<MockWebSpeechR ecognizer>(object) { }
78 virtual void runIfValid() OVERRIDE;
79 };
80
81 DISALLOW_COPY_AND_ASSIGN(MockWebSpeechRecognizer);
82 };
83
84 } // namespace content
85
86 #endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBSPEECHRECOGNIZER_H_
OLDNEW
« no previous file with comments | « content/shell/BUILD.gn ('k') | content/shell/renderer/test_runner/MockWebSpeechRecognizer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698