diff options
author | satish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 22:24:11 +0000 |
---|---|---|
committer | satish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 22:24:11 +0000 |
commit | 638694c1f47e6aa78a0ea55660e5f9f42967ceb9 (patch) | |
tree | 7090242fe50a062b493161ad17ac53862eab700f /chrome/renderer/render_view.cc | |
parent | 7ae7a1409240c228ab83136c7918de742950792b (diff) | |
download | chromium_src-638694c1f47e6aa78a0ea55660e5f9f42967ceb9.zip chromium_src-638694c1f47e6aa78a0ea55660e5f9f42967ceb9.tar.gz chromium_src-638694c1f47e6aa78a0ea55660e5f9f42967ceb9.tar.bz2 |
Adds chromium side plumbing to pass speech input calls back and forth with WebKit.
Please advise if any of the code needs to be within "#if ENABLE_INPUT_SPEECH", since most of the speech input code in webkit is under "#if ENABLE(INPUT_SPEECH)"
- Created renderer/SpeechInputDispatcher, implements WebKit::WebSpeechInputController which is used by WebView for invoking speech input.
- Created browser/speech/SpeechInputDispatcherHost to receive IPC messages from the above SpeechInputDispatcher. Nothing done yet apart from receiving the messages.
- Creates new directory chrome/browser/speech, this will be used for SpeechInputDispatcherHost, network based speech recognizer, speech audio recording/buffering code as well as speech output (Text-to-speech) code in future.
BUG=none
TEST=no functionality to test yet.
Review URL: http://codereview.chromium.org/3035035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54981 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r-- | chrome/renderer/render_view.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index 39c4193..9d97ee2 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -61,6 +61,7 @@ #include "chrome/renderer/render_view_visitor.h" #include "chrome/renderer/renderer_webapplicationcachehost_impl.h" #include "chrome/renderer/renderer_webstoragenamespace_impl.h" +#include "chrome/renderer/speech_input_dispatcher.h" #include "chrome/renderer/spellchecker/spellcheck.h" #include "chrome/renderer/user_script_slave.h" #include "chrome/renderer/visitedlink_slave.h" @@ -628,6 +629,10 @@ void RenderView::OnMessageReceived(const IPC::Message& message) { geolocation_dispatcher_->OnMessageReceived(message)) { return; } + if (speech_input_dispatcher_.get() && + speech_input_dispatcher_->OnMessageReceived(message)) { + return; + } IPC_BEGIN_MESSAGE_MAP(RenderView, message) IPC_MESSAGE_HANDLER(ViewMsg_CaptureThumbnail, OnCaptureThumbnail) @@ -5258,6 +5263,13 @@ WebKit::WebGeolocationService* RenderView::geolocationService() { return geolocation_dispatcher_.get(); } +WebKit::WebSpeechInputController* RenderView::speechInputController( + WebKit::WebSpeechInputListener* listener) { + if (!speech_input_dispatcher_.get()) + speech_input_dispatcher_.reset(new SpeechInputDispatcher(this, listener)); + return speech_input_dispatcher_.get(); +} + bool RenderView::IsNonLocalTopLevelNavigation( const GURL& url, WebKit::WebFrame* frame, WebKit::WebNavigationType type) { // Must be a top level frame. |