summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
diff options
context:
space:
mode:
authorsatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-04 22:24:11 +0000
committersatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-04 22:24:11 +0000
commit638694c1f47e6aa78a0ea55660e5f9f42967ceb9 (patch)
tree7090242fe50a062b493161ad17ac53862eab700f /chrome/renderer/render_view.cc
parent7ae7a1409240c228ab83136c7918de742950792b (diff)
downloadchromium_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.cc12
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.