From 33c622ec866c07e5f52b836579f95e9ebad67500 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 7 Oct 2014 21:27:15 +0800 Subject: [PATCH] Install tts dispatcher --- atom/browser/atom_browser_client.cc | 3 +++ atom/renderer/atom_renderer_client.cc | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/atom/browser/atom_browser_client.cc b/atom/browser/atom_browser_client.cc index bfc2ce59b883..04e860821afe 100644 --- a/atom/browser/atom_browser_client.cc +++ b/atom/browser/atom_browser_client.cc @@ -11,6 +11,7 @@ #include "atom/browser/native_window.h" #include "atom/browser/window_list.h" #include "chrome/browser/printing/printing_message_filter.h" +#include "chrome/browser/speech/tts_message_filter.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/resource_dispatcher_host.h" @@ -51,7 +52,9 @@ AtomBrowserClient::~AtomBrowserClient() { void AtomBrowserClient::RenderProcessWillLaunch( content::RenderProcessHost* host) { + int id = host->GetID(); host->AddFilter(new PrintingMessageFilter(host->GetID())); + host->AddFilter(new TtsMessageFilter(id, host->GetBrowserContext())); } void AtomBrowserClient::ResourceDispatcherHostCreated() { diff --git a/atom/renderer/atom_renderer_client.cc b/atom/renderer/atom_renderer_client.cc index e32eef796491..751074165dd5 100644 --- a/atom/renderer/atom_renderer_client.cc +++ b/atom/renderer/atom_renderer_client.cc @@ -12,6 +12,7 @@ #include "atom/renderer/api/atom_renderer_bindings.h" #include "atom/renderer/atom_render_view_observer.h" #include "chrome/renderer/printing/print_web_view_helper.h" +#include "chrome/renderer/tts_dispatcher.h" #include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_frame_observer.h" #include "content/public/renderer/render_thread.h" @@ -130,7 +131,7 @@ void AtomRendererClient::RenderViewCreated(content::RenderView* render_view) { blink::WebSpeechSynthesizer* AtomRendererClient::OverrideSpeechSynthesizer( blink::WebSpeechSynthesizerClient* client) { - return NULL; + return new TtsDispatcher(client); } void AtomRendererClient::DidCreateScriptContext(blink::WebFrame* frame,