diff --git a/atom/browser/atom_browser_client.cc b/atom/browser/atom_browser_client.cc index dca8019877ba..8b06e6ddda2c 100644 --- a/atom/browser/atom_browser_client.cc +++ b/atom/browser/atom_browser_client.cc @@ -10,6 +10,7 @@ #include "atom/browser/atom_resource_dispatcher_host_delegate.h" #include "atom/browser/native_window.h" #include "atom/browser/window_list.h" +#include "chrome/browser/printing/printing_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" @@ -48,6 +49,11 @@ AtomBrowserClient::AtomBrowserClient() AtomBrowserClient::~AtomBrowserClient() { } +void AtomBrowserClient::RenderProcessWillLaunch( + content::RenderProcessHost* host) { + host->AddFilter(new PrintingMessageFilter(host->GetID())); +} + void AtomBrowserClient::ResourceDispatcherHostCreated() { resource_dispatcher_delegate_.reset(new AtomResourceDispatcherHostDelegate); content::ResourceDispatcherHost::Get()->SetDelegate( diff --git a/atom/browser/atom_browser_client.h b/atom/browser/atom_browser_client.h index 9c2b2a98efc8..9958e2ffe840 100644 --- a/atom/browser/atom_browser_client.h +++ b/atom/browser/atom_browser_client.h @@ -20,6 +20,8 @@ class AtomBrowserClient : public brightray::BrowserClient { protected: // content::ContentBrowserClient: + virtual void RenderProcessWillLaunch( + content::RenderProcessHost* host) OVERRIDE; virtual void ResourceDispatcherHostCreated() OVERRIDE; virtual content::AccessTokenStore* CreateAccessTokenStore() OVERRIDE; virtual void OverrideWebkitPrefs(content::RenderViewHost* render_view_host, diff --git a/chromium_src/chrome/browser/printing/printing_message_filter.cc b/chromium_src/chrome/browser/printing/printing_message_filter.cc index 68845d1f55b3..6dab425bb195 100644 --- a/chromium_src/chrome/browser/printing/printing_message_filter.cc +++ b/chromium_src/chrome/browser/printing/printing_message_filter.cc @@ -87,11 +87,8 @@ void RenderParamsFromPrintSettings(const printing::PrintSettings& settings, } // namespace -PrintingMessageFilter::PrintingMessageFilter(int render_process_id, - Profile* profile) +PrintingMessageFilter::PrintingMessageFilter(int render_process_id) : BrowserMessageFilter(PrintMsgStart), - // profile_io_data_(ProfileIOData::FromResourceContext( - // profile->GetResourceContext())), render_process_id_(render_process_id), queue_(g_browser_process->print_job_manager()->queue()) { DCHECK(queue_); diff --git a/chromium_src/chrome/browser/printing/printing_message_filter.h b/chromium_src/chrome/browser/printing/printing_message_filter.h index 9c380dc1f2ef..80684b515752 100644 --- a/chromium_src/chrome/browser/printing/printing_message_filter.h +++ b/chromium_src/chrome/browser/printing/printing_message_filter.h @@ -15,8 +15,6 @@ #endif struct PrintHostMsg_ScriptedPrint_Params; -class Profile; -class ProfileIOData; namespace base { class DictionaryValue; @@ -37,7 +35,7 @@ class PrintQueriesQueue; // renderer process on the IPC thread. class PrintingMessageFilter : public content::BrowserMessageFilter { public: - PrintingMessageFilter(int render_process_id, Profile* profile); + explicit PrintingMessageFilter(int render_process_id); // content::BrowserMessageFilter methods. virtual void OverrideThreadForMessage(