summaryrefslogtreecommitdiffstats
path: root/content/browser/speech/speech_recognition_manager_impl.cc
diff options
context:
space:
mode:
authormsarda@chromium.org <msarda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-24 10:01:09 +0000
committermsarda@chromium.org <msarda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-24 10:01:09 +0000
commit74f05e5f6b235f4d6ab81af8aa5a855ffea46def (patch)
tree2044242af80cff50733de378308530a014249ae6 /content/browser/speech/speech_recognition_manager_impl.cc
parent6ffd22c7dc3c6dc88f48a1f8fe2b4726dbb12f49 (diff)
downloadchromium_src-74f05e5f6b235f4d6ab81af8aa5a855ffea46def.zip
chromium_src-74f05e5f6b235f4d6ab81af8aa5a855ffea46def.tar.gz
chromium_src-74f05e5f6b235f4d6ab81af8aa5a855ffea46def.tar.bz2
Build SpeechRecognitionManagerImpl on iOS. Run content speech unit tests.
Build SpeechRecognitionManagerImpl on iOS: * Ifdef-out PermissionRequest on iOS as it extends MediaStreamRequester which is part of content/browser/renderer_host/media/ and is not build on iOS. * Voice search can only be initiated by clear user action. Add DCHECKs to clearly identify the expected behavior. * Build all content/browser/speech/... unit tests. Review URL: https://chromiumcodereview.appspot.com/11229004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163803 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/speech/speech_recognition_manager_impl.cc')
-rw-r--r--content/browser/speech/speech_recognition_manager_impl.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/content/browser/speech/speech_recognition_manager_impl.cc b/content/browser/speech/speech_recognition_manager_impl.cc
index 5967620..be99298 100644
--- a/content/browser/speech/speech_recognition_manager_impl.cc
+++ b/content/browser/speech/speech_recognition_manager_impl.cc
@@ -51,6 +51,7 @@ void ShowAudioInputSettingsOnFileThread() {
namespace speech {
+#if !defined(OS_IOS)
class SpeechRecognitionManagerImpl::PermissionRequest
: public media_stream::MediaStreamRequester {
public:
@@ -125,6 +126,7 @@ class SpeechRecognitionManagerImpl::PermissionRequest
std::string label_;
bool started_;
};
+#endif // !defined(OS_IOS)
SpeechRecognitionManagerImpl* SpeechRecognitionManagerImpl::GetInstance() {
return g_speech_recognition_manager_impl;
@@ -229,6 +231,11 @@ void SpeechRecognitionManagerImpl::RecognitionAllowedCallback(int session_id,
if (!SessionExists(session_id))
return;
+#if defined(OS_IOS)
+ // On iOS, voice search can only be initiated by clear user action and thus
+ // it is always allowed.
+ DCHECK(!ask_user && is_allowed);
+#else
if (ask_user) {
const SpeechRecognitionSessionContext& context =
GetSessionContext(session_id);
@@ -246,8 +253,8 @@ void SpeechRecognitionManagerImpl::RecognitionAllowedCallback(int session_id,
return;
}
-
permission_request_.reset();
+#endif // defined(OS_IOS)
if (is_allowed) {
MessageLoop::current()->PostTask(FROM_HERE,
@@ -267,11 +274,13 @@ void SpeechRecognitionManagerImpl::AbortSession(int session_id) {
if (!SessionExists(session_id))
return;
+#if !defined(OS_IOS)
if (permission_request_.get() &&
permission_request_->Session() == session_id) {
DCHECK(permission_request_.get());
permission_request_->Abort();
}
+#endif // !defined(OS_IOS)
MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,
@@ -283,11 +292,13 @@ void SpeechRecognitionManagerImpl::StopAudioCaptureForSession(int session_id) {
if (!SessionExists(session_id))
return;
+#if !defined(OS_IOS)
if (permission_request_.get() &&
permission_request_->Session() == session_id) {
DCHECK(permission_request_.get());
permission_request_->Abort();
}
+#endif // !defined(OS_IOS)
MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(&SpeechRecognitionManagerImpl::DispatchEvent,