diff options
author | msarda@chromium.org <msarda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-24 10:01:09 +0000 |
---|---|---|
committer | msarda@chromium.org <msarda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-24 10:01:09 +0000 |
commit | 74f05e5f6b235f4d6ab81af8aa5a855ffea46def (patch) | |
tree | 2044242af80cff50733de378308530a014249ae6 /content/browser/speech/speech_recognition_manager_impl.cc | |
parent | 6ffd22c7dc3c6dc88f48a1f8fe2b4726dbb12f49 (diff) | |
download | chromium_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.cc | 13 |
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, |