summaryrefslogtreecommitdiffstats
path: root/content/browser/speech/speech_recognition_dispatcher_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/speech/speech_recognition_dispatcher_host.cc')
-rw-r--r--content/browser/speech/speech_recognition_dispatcher_host.cc181
1 files changed, 0 insertions, 181 deletions
diff --git a/content/browser/speech/speech_recognition_dispatcher_host.cc b/content/browser/speech/speech_recognition_dispatcher_host.cc
deleted file mode 100644
index 55d032e..0000000
--- a/content/browser/speech/speech_recognition_dispatcher_host.cc
+++ /dev/null
@@ -1,181 +0,0 @@
-// Copyright (c) 2012 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/browser/speech/speech_recognition_dispatcher_host.h"
-
-#include "base/bind.h"
-#include "base/command_line.h"
-#include "base/lazy_instance.h"
-#include "content/common/speech_recognition_messages.h"
-#include "content/public/browser/speech_recognition_manager.h"
-#include "content/public/browser/speech_recognition_preferences.h"
-#include "content/public/browser/speech_recognition_session_config.h"
-#include "content/public/browser/speech_recognition_session_context.h"
-#include "content/public/common/content_switches.h"
-
-using content::SpeechRecognitionManager;
-using content::SpeechRecognitionSessionConfig;
-using content::SpeechRecognitionSessionContext;
-
-namespace speech {
-SpeechRecognitionManager* SpeechRecognitionDispatcherHost::manager_for_tests_;
-
-void SpeechRecognitionDispatcherHost::SetManagerForTests(
- SpeechRecognitionManager* manager) {
- manager_for_tests_ = manager;
-}
-
-SpeechRecognitionDispatcherHost::SpeechRecognitionDispatcherHost(
- int render_process_id,
- net::URLRequestContextGetter* context_getter,
- content::SpeechRecognitionPreferences* recognition_preferences)
- : render_process_id_(render_process_id),
- context_getter_(context_getter),
- recognition_preferences_(recognition_preferences) {
- // Do not add any non-trivial initialization here, instead do it lazily when
- // required (e.g. see the method |manager()|) or add an Init() method.
-}
-
-SpeechRecognitionDispatcherHost::~SpeechRecognitionDispatcherHost() {
- if (SpeechRecognitionManager* sr_manager = manager())
- sr_manager->AbortAllSessionsForListener(this);
-}
-
-SpeechRecognitionManager* SpeechRecognitionDispatcherHost::manager() {
- if (manager_for_tests_)
- return manager_for_tests_;
-
- const CommandLine& command_line = *CommandLine::ForCurrentProcess();
- if (command_line.HasSwitch(switches::kEnableScriptedSpeech))
- return SpeechRecognitionManager::GetInstance();
-
- return NULL;
-}
-
-bool SpeechRecognitionDispatcherHost::OnMessageReceived(
- const IPC::Message& message, bool* message_was_ok) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP_EX(SpeechRecognitionDispatcherHost, message,
- *message_was_ok)
- IPC_MESSAGE_HANDLER(SpeechRecognitionHostMsg_StartRequest,
- OnStartRequest)
- IPC_MESSAGE_HANDLER(SpeechRecognitionHostMsg_AbortRequest,
- OnAbortRequest)
- IPC_MESSAGE_HANDLER(SpeechRecognitionHostMsg_StopCaptureRequest,
- OnStopCaptureRequest)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-void SpeechRecognitionDispatcherHost::OnStartRequest(
- const SpeechRecognitionHostMsg_StartRequest_Params& params) {
-
- SpeechRecognitionSessionContext context;
- context.render_process_id = render_process_id_;
- context.render_view_id = params.render_view_id;
- context.request_id = params.request_id;
-
- SpeechRecognitionSessionConfig config;
- config.is_one_shot = params.is_one_shot;
- config.language = params.language;
- config.grammars = params.grammars;
- config.origin_url = params.origin_url;
- config.initial_context = context;
- config.url_request_context_getter = context_getter_.get();
- config.filter_profanities = recognition_preferences_->FilterProfanities();
- config.event_listener = this;
-
- int session_id = manager()->CreateSession(config);
- DCHECK_NE(session_id, content::SpeechRecognitionManager::kSessionIDInvalid);
- manager()->StartSession(session_id);
-}
-
-void SpeechRecognitionDispatcherHost::OnAbortRequest(int render_view_id,
- int request_id) {
- int session_id = manager()->GetSession(render_process_id_,
- render_view_id,
- request_id);
- if (session_id != content::SpeechRecognitionManager::kSessionIDInvalid)
- manager()->AbortSession(session_id);
-}
-
-void SpeechRecognitionDispatcherHost::OnStopCaptureRequest(
- int render_view_id, int request_id) {
- int session_id = manager()->GetSession(render_process_id_,
- render_view_id,
- request_id);
- if (session_id != content::SpeechRecognitionManager::kSessionIDInvalid)
- manager()->StopAudioCaptureForSession(session_id);
-}
-
-// -------- SpeechRecognitionEventListener interface implementation -----------
-
-void SpeechRecognitionDispatcherHost::OnRecognitionStart(int session_id) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_Started(context.render_view_id,
- context.request_id));
-}
-
-void SpeechRecognitionDispatcherHost::OnAudioStart(int session_id) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_AudioStarted(context.render_view_id,
- context.request_id));
-}
-
-void SpeechRecognitionDispatcherHost::OnSoundStart(int session_id) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_SoundStarted(context.render_view_id,
- context.request_id));
-}
-
-void SpeechRecognitionDispatcherHost::OnSoundEnd(int session_id) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_SoundEnded(context.render_view_id,
- context.request_id));
-}
-
-void SpeechRecognitionDispatcherHost::OnAudioEnd(int session_id) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_AudioEnded(context.render_view_id,
- context.request_id));
-}
-
-void SpeechRecognitionDispatcherHost::OnRecognitionEnd(int session_id) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_Ended(context.render_view_id,
- context.request_id));
-}
-
-void SpeechRecognitionDispatcherHost::OnRecognitionResult(
- int session_id, const content::SpeechRecognitionResult& result) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_ResultRetrieved(context.render_view_id,
- context.request_id,
- result));
-}
-
-void SpeechRecognitionDispatcherHost::OnRecognitionError(
- int session_id, const content::SpeechRecognitionError& error) {
- const SpeechRecognitionSessionContext& context =
- manager()->GetSessionContext(session_id);
- Send(new SpeechRecognitionMsg_ErrorOccurred(context.render_view_id,
- context.request_id,
- error));
-}
-
-// The events below are currently not used by speech JS APIs implementation.
-void SpeechRecognitionDispatcherHost::OnAudioLevelsChange(
- int session_id, float volume, float noise_volume) {}
-void SpeechRecognitionDispatcherHost::OnEnvironmentEstimationComplete(
- int session_id) {}
-
-} // namespace speech