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

Side by Side Diff: content/browser/speech/speech_recognition_dispatcher_host.cc

Issue 11347004: content/browser: Move speech code into content namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/speech/speech_recognition_dispatcher_host.h" 5 #include "content/browser/speech/speech_recognition_dispatcher_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "content/common/speech_recognition_messages.h" 10 #include "content/common/speech_recognition_messages.h"
11 #include "content/public/browser/speech_recognition_manager.h" 11 #include "content/public/browser/speech_recognition_manager.h"
12 #include "content/public/browser/speech_recognition_preferences.h" 12 #include "content/public/browser/speech_recognition_preferences.h"
13 #include "content/public/browser/speech_recognition_session_config.h" 13 #include "content/public/browser/speech_recognition_session_config.h"
14 #include "content/public/browser/speech_recognition_session_context.h" 14 #include "content/public/browser/speech_recognition_session_context.h"
15 #include "content/public/common/content_switches.h" 15 #include "content/public/common/content_switches.h"
16 16
17 using content::SpeechRecognitionManager; 17 namespace content {
18 using content::SpeechRecognitionSessionConfig;
19 using content::SpeechRecognitionSessionContext;
20
21 namespace speech {
22 SpeechRecognitionManager* SpeechRecognitionDispatcherHost::manager_for_tests_; 18 SpeechRecognitionManager* SpeechRecognitionDispatcherHost::manager_for_tests_;
23 19
24 void SpeechRecognitionDispatcherHost::SetManagerForTests( 20 void SpeechRecognitionDispatcherHost::SetManagerForTests(
25 SpeechRecognitionManager* manager) { 21 SpeechRecognitionManager* manager) {
26 manager_for_tests_ = manager; 22 manager_for_tests_ = manager;
27 } 23 }
28 24
29 SpeechRecognitionDispatcherHost::SpeechRecognitionDispatcherHost( 25 SpeechRecognitionDispatcherHost::SpeechRecognitionDispatcherHost(
30 int render_process_id, 26 int render_process_id,
31 net::URLRequestContextGetter* context_getter, 27 net::URLRequestContextGetter* context_getter,
32 content::SpeechRecognitionPreferences* recognition_preferences) 28 SpeechRecognitionPreferences* recognition_preferences)
33 : render_process_id_(render_process_id), 29 : render_process_id_(render_process_id),
34 context_getter_(context_getter), 30 context_getter_(context_getter),
35 recognition_preferences_(recognition_preferences) { 31 recognition_preferences_(recognition_preferences) {
36 // Do not add any non-trivial initialization here, instead do it lazily when 32 // Do not add any non-trivial initialization here, instead do it lazily when
37 // required (e.g. see the method |manager()|) or add an Init() method. 33 // required (e.g. see the method |manager()|) or add an Init() method.
38 } 34 }
39 35
40 SpeechRecognitionDispatcherHost::~SpeechRecognitionDispatcherHost() { 36 SpeechRecognitionDispatcherHost::~SpeechRecognitionDispatcherHost() {
41 if (SpeechRecognitionManager* sr_manager = manager()) 37 if (SpeechRecognitionManager* sr_manager = manager())
42 sr_manager->AbortAllSessionsForListener(this); 38 sr_manager->AbortAllSessionsForListener(this);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 if (recognition_preferences_) { 86 if (recognition_preferences_) {
91 config.filter_profanities = recognition_preferences_->FilterProfanities(); 87 config.filter_profanities = recognition_preferences_->FilterProfanities();
92 } else { 88 } else {
93 config.filter_profanities = false; 89 config.filter_profanities = false;
94 } 90 }
95 config.continuous = params.continuous; 91 config.continuous = params.continuous;
96 config.interim_results = params.interim_results; 92 config.interim_results = params.interim_results;
97 config.event_listener = this; 93 config.event_listener = this;
98 94
99 int session_id = manager()->CreateSession(config); 95 int session_id = manager()->CreateSession(config);
100 DCHECK_NE(session_id, content::SpeechRecognitionManager::kSessionIDInvalid); 96 DCHECK_NE(session_id, SpeechRecognitionManager::kSessionIDInvalid);
101 manager()->StartSession(session_id); 97 manager()->StartSession(session_id);
102 } 98 }
103 99
104 void SpeechRecognitionDispatcherHost::OnAbortRequest(int render_view_id, 100 void SpeechRecognitionDispatcherHost::OnAbortRequest(int render_view_id,
105 int request_id) { 101 int request_id) {
106 int session_id = manager()->GetSession(render_process_id_, 102 int session_id = manager()->GetSession(render_process_id_,
107 render_view_id, 103 render_view_id,
108 request_id); 104 request_id);
109 105
110 // The renderer might provide an invalid |request_id| if the session was not 106 // The renderer might provide an invalid |request_id| if the session was not
111 // started as expected, e.g., due to unsatisfied security requirements. 107 // started as expected, e.g., due to unsatisfied security requirements.
112 if (session_id != content::SpeechRecognitionManager::kSessionIDInvalid) 108 if (session_id != SpeechRecognitionManager::kSessionIDInvalid)
113 manager()->AbortSession(session_id); 109 manager()->AbortSession(session_id);
114 } 110 }
115 111
116 void SpeechRecognitionDispatcherHost::OnStopCaptureRequest( 112 void SpeechRecognitionDispatcherHost::OnStopCaptureRequest(
117 int render_view_id, int request_id) { 113 int render_view_id, int request_id) {
118 int session_id = manager()->GetSession(render_process_id_, 114 int session_id = manager()->GetSession(render_process_id_,
119 render_view_id, 115 render_view_id,
120 request_id); 116 request_id);
121 117
122 // The renderer might provide an invalid |request_id| if the session was not 118 // The renderer might provide an invalid |request_id| if the session was not
123 // started as expected, e.g., due to unsatisfied security requirements. 119 // started as expected, e.g., due to unsatisfied security requirements.
124 if (session_id != content::SpeechRecognitionManager::kSessionIDInvalid) 120 if (session_id != SpeechRecognitionManager::kSessionIDInvalid)
125 manager()->StopAudioCaptureForSession(session_id); 121 manager()->StopAudioCaptureForSession(session_id);
126 } 122 }
127 123
128 // -------- SpeechRecognitionEventListener interface implementation ----------- 124 // -------- SpeechRecognitionEventListener interface implementation -----------
129 125
130 void SpeechRecognitionDispatcherHost::OnRecognitionStart(int session_id) { 126 void SpeechRecognitionDispatcherHost::OnRecognitionStart(int session_id) {
131 const SpeechRecognitionSessionContext& context = 127 const SpeechRecognitionSessionContext& context =
132 manager()->GetSessionContext(session_id); 128 manager()->GetSessionContext(session_id);
133 Send(new SpeechRecognitionMsg_Started(context.render_view_id, 129 Send(new SpeechRecognitionMsg_Started(context.render_view_id,
134 context.request_id)); 130 context.request_id));
(...skipping 28 matching lines...) Expand all
163 } 159 }
164 160
165 void SpeechRecognitionDispatcherHost::OnRecognitionEnd(int session_id) { 161 void SpeechRecognitionDispatcherHost::OnRecognitionEnd(int session_id) {
166 const SpeechRecognitionSessionContext& context = 162 const SpeechRecognitionSessionContext& context =
167 manager()->GetSessionContext(session_id); 163 manager()->GetSessionContext(session_id);
168 Send(new SpeechRecognitionMsg_Ended(context.render_view_id, 164 Send(new SpeechRecognitionMsg_Ended(context.render_view_id,
169 context.request_id)); 165 context.request_id));
170 } 166 }
171 167
172 void SpeechRecognitionDispatcherHost::OnRecognitionResult( 168 void SpeechRecognitionDispatcherHost::OnRecognitionResult(
173 int session_id, const content::SpeechRecognitionResult& result) { 169 int session_id,
170 const SpeechRecognitionResult& result) {
174 const SpeechRecognitionSessionContext& context = 171 const SpeechRecognitionSessionContext& context =
175 manager()->GetSessionContext(session_id); 172 manager()->GetSessionContext(session_id);
176 Send(new SpeechRecognitionMsg_ResultRetrieved(context.render_view_id, 173 Send(new SpeechRecognitionMsg_ResultRetrieved(context.render_view_id,
177 context.request_id, 174 context.request_id,
178 result)); 175 result));
179 } 176 }
180 177
181 void SpeechRecognitionDispatcherHost::OnRecognitionError( 178 void SpeechRecognitionDispatcherHost::OnRecognitionError(
182 int session_id, const content::SpeechRecognitionError& error) { 179 int session_id,
180 const SpeechRecognitionError& error) {
183 const SpeechRecognitionSessionContext& context = 181 const SpeechRecognitionSessionContext& context =
184 manager()->GetSessionContext(session_id); 182 manager()->GetSessionContext(session_id);
185 Send(new SpeechRecognitionMsg_ErrorOccurred(context.render_view_id, 183 Send(new SpeechRecognitionMsg_ErrorOccurred(context.render_view_id,
186 context.request_id, 184 context.request_id,
187 error)); 185 error));
188 } 186 }
189 187
190 // The events below are currently not used by speech JS APIs implementation. 188 // The events below are currently not used by speech JS APIs implementation.
191 void SpeechRecognitionDispatcherHost::OnAudioLevelsChange( 189 void SpeechRecognitionDispatcherHost::OnAudioLevelsChange(int session_id,
192 int session_id, float volume, float noise_volume) {} 190 float volume,
191 float noise_volume) {
192 }
193
193 void SpeechRecognitionDispatcherHost::OnEnvironmentEstimationComplete( 194 void SpeechRecognitionDispatcherHost::OnEnvironmentEstimationComplete(
194 int session_id) {} 195 int session_id) {
196 }
195 197
196 } // namespace speech 198 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698