Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 6088aba42308c5000c05cadc5a7fe47f9a46e583..61e056b5cbd5873650192a3592be78af2baa9768 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -94,6 +94,7 @@ |
#include "content/renderer/renderer_webcolorchooser_impl.h" |
#include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
#include "content/renderer/shared_worker_repository.h" |
+#include "content/renderer/speech_recognition_dispatcher.h" |
#include "content/renderer/v8_value_converter_impl.h" |
#include "content/renderer/websharedworker_proxy.h" |
#include "gin/modules/module_registry.h" |
@@ -589,6 +590,7 @@ RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
push_messaging_dispatcher_(NULL), |
screen_orientation_dispatcher_(NULL), |
manifest_manager_(NULL), |
+ speech_recognition_dispatcher_(NULL), |
accessibility_mode_(AccessibilityModeOff), |
renderer_accessibility_(NULL), |
weak_factory_(this) { |
@@ -3374,6 +3376,12 @@ void RenderFrameImpl::didChangeManifest(blink::WebLocalFrame* frame) |
FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidChangeManifest()); |
} |
+blink::WebSpeechRecognizer* RenderFrameImpl::speechRecognizer() { |
+ if (!speech_recognition_dispatcher_) |
+ speech_recognition_dispatcher_ = new SpeechRecognitionDispatcher(this); |
+ return speech_recognition_dispatcher_; |
+} |
+ |
void RenderFrameImpl::DidPlay(blink::WebMediaPlayer* player) { |
Send(new FrameHostMsg_MediaPlayingNotification( |
routing_id_, reinterpret_cast<int64>(player), player->hasVideo(), |
@@ -3441,11 +3449,11 @@ void RenderFrameImpl::SendDidCommitProvisionalLoad(blink::WebFrame* frame) { |
params.page_id = render_view_->page_id_; |
// We need to track the RenderViewHost routing_id because of downstream |
// dependencies (crbug.com/392171 DownloadRequestHandle, SaveFileManager, |
- // ResourceDispatcherHostImpl, MediaStreamUIProxy, |
- // SpeechRecognitionDispatcherHost and possibly others). They look up the view |
- // based on the ID stored in the resource requests. Once those dependencies |
- // are unwound or moved to RenderFrameHost (crbug.com/304341) we can move the |
- // client to be based on the routing_id of the RenderFrameHost. |
+ // ResourceDispatcherHostImpl, MediaStreamUIProxy, and possibly others). They |
+ // look up the view based on the ID stored in the resource requests. Once |
+ // those dependencies are unwound or moved to RenderFrameHost |
+ // (crbug.com/304341) we can move the client to be based on the routing_id of |
+ // the RenderFrameHost. |
params.render_view_routing_id = render_view_->routing_id(); |
params.socket_address.set_host(response.remoteIPAddress().utf8()); |
params.socket_address.set_port(response.remotePort()); |