| Index: android_webview/browser/aw_print_manager.cc
|
| diff --git a/android_webview/browser/aw_print_manager.cc b/android_webview/browser/aw_print_manager.cc
|
| index 80748093e636e55e070235560d8c138d72f7a966..6aa43f476a3e90271c618d2beeccfcb42cd2d979 100644
|
| --- a/android_webview/browser/aw_print_manager.cc
|
| +++ b/android_webview/browser/aw_print_manager.cc
|
| @@ -7,6 +7,7 @@
|
| #include "components/printing/browser/print_manager_utils.h"
|
| #include "components/printing/common/print_messages.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "content/public/browser/render_frame_host.h"
|
|
|
| DEFINE_WEB_CONTENTS_USER_DATA_KEY(android_webview::AwPrintManager);
|
|
|
| @@ -41,27 +42,33 @@ AwPrintManager::~AwPrintManager() {
|
|
|
| bool AwPrintManager::PrintNow() {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| - return Send(new PrintMsg_PrintPages(routing_id()));
|
| + auto* rfh = web_contents()->GetMainFrame();
|
| + return rfh->Send(new PrintMsg_PrintPages(rfh->GetRoutingID()));
|
| }
|
|
|
| -bool AwPrintManager::OnMessageReceived(const IPC::Message& message) {
|
| +bool AwPrintManager::OnMessageReceived(
|
| + const IPC::Message& message,
|
| + content::RenderFrameHost* render_frame_host) {
|
| bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP(AwPrintManager, message)
|
| - IPC_MESSAGE_HANDLER_DELAY_REPLY(PrintHostMsg_GetDefaultPrintSettings,
|
| - OnGetDefaultPrintSettings)
|
| + IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(AwPrintManager, message, render_frame_host)
|
| + IPC_MESSAGE_HANDLER_WITH_PARAM_DELAY_REPLY(
|
| + PrintHostMsg_GetDefaultPrintSettings, OnGetDefaultPrintSettings)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| - return handled ? true : PrintManager::OnMessageReceived(message);
|
| + return handled ? true
|
| + : PrintManager::OnMessageReceived(message, render_frame_host);
|
| }
|
|
|
| -void AwPrintManager::OnGetDefaultPrintSettings(IPC::Message* reply_msg) {
|
| +void AwPrintManager::OnGetDefaultPrintSettings(
|
| + content::RenderFrameHost* render_frame_host,
|
| + IPC::Message* reply_msg) {
|
| // Unlike the printing_message_filter, we do process this in UI thread.
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| PrintMsg_Print_Params params;
|
| printing::RenderParamsFromPrintSettings(settings_, ¶ms);
|
| params.document_cookie = cookie_;
|
| PrintHostMsg_GetDefaultPrintSettings::WriteReplyParams(reply_msg, params);
|
| - Send(reply_msg);
|
| + render_frame_host->Send(reply_msg);
|
| }
|
|
|
| } // namespace android_webview
|
|
|