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

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

Issue 1159623009: content: Remove use of MessageLoopProxy and deprecated MessageLoop APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test build fix. Created 5 years, 6 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_manager_impl.h" 5 #include "content/browser/speech/speech_recognition_manager_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h"
9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h"
8 #include "content/browser/browser_main_loop.h" 11 #include "content/browser/browser_main_loop.h"
9 #include "content/browser/renderer_host/media/media_stream_manager.h" 12 #include "content/browser/renderer_host/media/media_stream_manager.h"
10 #include "content/browser/renderer_host/media/media_stream_ui_proxy.h" 13 #include "content/browser/renderer_host/media/media_stream_ui_proxy.h"
11 #include "content/browser/speech/google_one_shot_remote_engine.h" 14 #include "content/browser/speech/google_one_shot_remote_engine.h"
12 #include "content/browser/speech/google_streaming_remote_engine.h" 15 #include "content/browser/speech/google_streaming_remote_engine.h"
13 #include "content/browser/speech/speech_recognition_engine.h" 16 #include "content/browser/speech/speech_recognition_engine.h"
14 #include "content/browser/speech/speech_recognizer_impl.h" 17 #include "content/browser/speech/speech_recognizer_impl.h"
15 #include "content/public/browser/browser_thread.h" 18 #include "content/public/browser/browser_thread.h"
16 #include "content/public/browser/content_browser_client.h" 19 #include "content/public/browser/content_browser_client.h"
17 #include "content/public/browser/resource_context.h" 20 #include "content/public/browser/resource_context.h"
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 context.request_id, 206 context.request_id,
204 StreamOptions(true, false), 207 StreamOptions(true, false),
205 GURL(context.context_name), 208 GURL(context.context_name),
206 base::Bind( 209 base::Bind(
207 &SpeechRecognitionManagerImpl::MediaRequestPermissionCallback, 210 &SpeechRecognitionManagerImpl::MediaRequestPermissionCallback,
208 weak_factory_.GetWeakPtr(), session_id)); 211 weak_factory_.GetWeakPtr(), session_id));
209 return; 212 return;
210 } 213 }
211 214
212 if (is_allowed) { 215 if (is_allowed) {
213 base::MessageLoop::current()->PostTask( 216 base::ThreadTaskRunnerHandle::Get()->PostTask(
214 FROM_HERE, 217 FROM_HERE,
215 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent, 218 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
216 weak_factory_.GetWeakPtr(), 219 weak_factory_.GetWeakPtr(), session_id, EVENT_START));
217 session_id,
218 EVENT_START));
219 } else { 220 } else {
220 OnRecognitionError(session_id, SpeechRecognitionError( 221 OnRecognitionError(session_id, SpeechRecognitionError(
221 SPEECH_RECOGNITION_ERROR_NOT_ALLOWED)); 222 SPEECH_RECOGNITION_ERROR_NOT_ALLOWED));
222 base::MessageLoop::current()->PostTask( 223 base::ThreadTaskRunnerHandle::Get()->PostTask(
223 FROM_HERE, 224 FROM_HERE,
224 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent, 225 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
225 weak_factory_.GetWeakPtr(), 226 weak_factory_.GetWeakPtr(), session_id, EVENT_ABORT));
226 session_id,
227 EVENT_ABORT));
228 } 227 }
229 } 228 }
230 229
231 void SpeechRecognitionManagerImpl::MediaRequestPermissionCallback( 230 void SpeechRecognitionManagerImpl::MediaRequestPermissionCallback(
232 int session_id, 231 int session_id,
233 const MediaStreamDevices& devices, 232 const MediaStreamDevices& devices,
234 scoped_ptr<MediaStreamUIProxy> stream_ui) { 233 scoped_ptr<MediaStreamUIProxy> stream_ui) {
235 DCHECK_CURRENTLY_ON(BrowserThread::IO); 234 DCHECK_CURRENTLY_ON(BrowserThread::IO);
236 235
237 SessionsTable::iterator iter = sessions_.find(session_id); 236 SessionsTable::iterator iter = sessions_.find(session_id);
(...skipping 22 matching lines...) Expand all
260 return; 259 return;
261 260
262 SessionsTable::iterator iter = sessions_.find(session_id); 261 SessionsTable::iterator iter = sessions_.find(session_id);
263 iter->second->ui.reset(); 262 iter->second->ui.reset();
264 263
265 if (iter->second->abort_requested) 264 if (iter->second->abort_requested)
266 return; 265 return;
267 266
268 iter->second->abort_requested = true; 267 iter->second->abort_requested = true;
269 268
270 base::MessageLoop::current()->PostTask( 269 base::ThreadTaskRunnerHandle::Get()->PostTask(
271 FROM_HERE, 270 FROM_HERE,
272 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent, 271 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
273 weak_factory_.GetWeakPtr(), 272 weak_factory_.GetWeakPtr(), session_id, EVENT_ABORT));
274 session_id,
275 EVENT_ABORT));
276 } 273 }
277 274
278 void SpeechRecognitionManagerImpl::StopAudioCaptureForSession(int session_id) { 275 void SpeechRecognitionManagerImpl::StopAudioCaptureForSession(int session_id) {
279 DCHECK_CURRENTLY_ON(BrowserThread::IO); 276 DCHECK_CURRENTLY_ON(BrowserThread::IO);
280 if (!SessionExists(session_id)) 277 if (!SessionExists(session_id))
281 return; 278 return;
282 279
283 SessionsTable::iterator iter = sessions_.find(session_id); 280 SessionsTable::iterator iter = sessions_.find(session_id);
284 iter->second->ui.reset(); 281 iter->second->ui.reset();
285 282
286 base::MessageLoop::current()->PostTask( 283 base::ThreadTaskRunnerHandle::Get()->PostTask(
287 FROM_HERE, 284 FROM_HERE,
288 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent, 285 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
289 weak_factory_.GetWeakPtr(), 286 weak_factory_.GetWeakPtr(), session_id, EVENT_STOP_CAPTURE));
290 session_id,
291 EVENT_STOP_CAPTURE));
292 } 287 }
293 288
294 // Here begins the SpeechRecognitionEventListener interface implementation, 289 // Here begins the SpeechRecognitionEventListener interface implementation,
295 // which will simply relay the events to the proper listener registered for the 290 // which will simply relay the events to the proper listener registered for the
296 // particular session and to the catch-all listener provided by the delegate 291 // particular session and to the catch-all listener provided by the delegate
297 // (if any). 292 // (if any).
298 293
299 void SpeechRecognitionManagerImpl::OnRecognitionStart(int session_id) { 294 void SpeechRecognitionManagerImpl::OnRecognitionStart(int session_id) {
300 DCHECK_CURRENTLY_ON(BrowserThread::IO); 295 DCHECK_CURRENTLY_ON(BrowserThread::IO);
301 if (!SessionExists(session_id)) 296 if (!SessionExists(session_id))
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 360
366 void SpeechRecognitionManagerImpl::OnAudioEnd(int session_id) { 361 void SpeechRecognitionManagerImpl::OnAudioEnd(int session_id) {
367 DCHECK_CURRENTLY_ON(BrowserThread::IO); 362 DCHECK_CURRENTLY_ON(BrowserThread::IO);
368 if (!SessionExists(session_id)) 363 if (!SessionExists(session_id))
369 return; 364 return;
370 365
371 if (SpeechRecognitionEventListener* delegate_listener = GetDelegateListener()) 366 if (SpeechRecognitionEventListener* delegate_listener = GetDelegateListener())
372 delegate_listener->OnAudioEnd(session_id); 367 delegate_listener->OnAudioEnd(session_id);
373 if (SpeechRecognitionEventListener* listener = GetListener(session_id)) 368 if (SpeechRecognitionEventListener* listener = GetListener(session_id))
374 listener->OnAudioEnd(session_id); 369 listener->OnAudioEnd(session_id);
375 base::MessageLoop::current()->PostTask( 370 base::ThreadTaskRunnerHandle::Get()->PostTask(
376 FROM_HERE, 371 FROM_HERE,
377 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent, 372 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
378 weak_factory_.GetWeakPtr(), 373 weak_factory_.GetWeakPtr(), session_id, EVENT_AUDIO_ENDED));
379 session_id,
380 EVENT_AUDIO_ENDED));
381 } 374 }
382 375
383 void SpeechRecognitionManagerImpl::OnRecognitionResults( 376 void SpeechRecognitionManagerImpl::OnRecognitionResults(
384 int session_id, const SpeechRecognitionResults& results) { 377 int session_id, const SpeechRecognitionResults& results) {
385 DCHECK_CURRENTLY_ON(BrowserThread::IO); 378 DCHECK_CURRENTLY_ON(BrowserThread::IO);
386 if (!SessionExists(session_id)) 379 if (!SessionExists(session_id))
387 return; 380 return;
388 381
389 if (SpeechRecognitionEventListener* delegate_listener = GetDelegateListener()) 382 if (SpeechRecognitionEventListener* delegate_listener = GetDelegateListener())
390 delegate_listener->OnRecognitionResults(session_id, results); 383 delegate_listener->OnRecognitionResults(session_id, results);
(...skipping 27 matching lines...) Expand all
418 411
419 void SpeechRecognitionManagerImpl::OnRecognitionEnd(int session_id) { 412 void SpeechRecognitionManagerImpl::OnRecognitionEnd(int session_id) {
420 DCHECK_CURRENTLY_ON(BrowserThread::IO); 413 DCHECK_CURRENTLY_ON(BrowserThread::IO);
421 if (!SessionExists(session_id)) 414 if (!SessionExists(session_id))
422 return; 415 return;
423 416
424 if (SpeechRecognitionEventListener* delegate_listener = GetDelegateListener()) 417 if (SpeechRecognitionEventListener* delegate_listener = GetDelegateListener())
425 delegate_listener->OnRecognitionEnd(session_id); 418 delegate_listener->OnRecognitionEnd(session_id);
426 if (SpeechRecognitionEventListener* listener = GetListener(session_id)) 419 if (SpeechRecognitionEventListener* listener = GetListener(session_id))
427 listener->OnRecognitionEnd(session_id); 420 listener->OnRecognitionEnd(session_id);
428 base::MessageLoop::current()->PostTask( 421 base::ThreadTaskRunnerHandle::Get()->PostTask(
429 FROM_HERE, 422 FROM_HERE, base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
430 base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent, 423 weak_factory_.GetWeakPtr(), session_id,
431 weak_factory_.GetWeakPtr(), 424 EVENT_RECOGNITION_ENDED));
432 session_id,
433 EVENT_RECOGNITION_ENDED));
434 } 425 }
435 426
436 int SpeechRecognitionManagerImpl::GetSession( 427 int SpeechRecognitionManagerImpl::GetSession(
437 int render_process_id, int render_view_id, int request_id) const { 428 int render_process_id, int render_view_id, int request_id) const {
438 DCHECK_CURRENTLY_ON(BrowserThread::IO); 429 DCHECK_CURRENTLY_ON(BrowserThread::IO);
439 SessionsTable::const_iterator iter; 430 SessionsTable::const_iterator iter;
440 for (iter = sessions_.begin(); iter != sessions_.end(); ++iter) { 431 for (iter = sessions_.begin(); iter != sessions_.end(); ++iter) {
441 const int session_id = iter->first; 432 const int session_id = iter->first;
442 const SpeechRecognitionSessionContext& context = iter->second->context; 433 const SpeechRecognitionSessionContext& context = iter->second->context;
443 if (context.render_process_id == render_process_id && 434 if (context.render_process_id == render_process_id &&
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 SpeechRecognitionManagerImpl::Session::Session() 685 SpeechRecognitionManagerImpl::Session::Session()
695 : id(kSessionIDInvalid), 686 : id(kSessionIDInvalid),
696 abort_requested(false), 687 abort_requested(false),
697 listener_is_active(true) { 688 listener_is_active(true) {
698 } 689 }
699 690
700 SpeechRecognitionManagerImpl::Session::~Session() { 691 SpeechRecognitionManagerImpl::Session::~Session() {
701 } 692 }
702 693
703 } // namespace content 694 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/speech/speech_recognition_browsertest.cc ('k') | content/browser/speech/speech_recognizer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698