| Index: chrome/browser/printing/print_view_manager.h
|
| diff --git a/chrome/browser/printing/print_view_manager.h b/chrome/browser/printing/print_view_manager.h
|
| index 89cbc741a665b41c3b090159113a7e333711890f..7c6ddf2b397a8ecf48cd257b816b9926ccb51790 100644
|
| --- a/chrome/browser/printing/print_view_manager.h
|
| +++ b/chrome/browser/printing/print_view_manager.h
|
| @@ -11,6 +11,7 @@
|
| #include "printing/features/features.h"
|
|
|
| namespace content {
|
| +class RenderFrameHost;
|
| class RenderProcessHost;
|
| }
|
|
|
| @@ -31,14 +32,14 @@ class PrintViewManager : public PrintViewManagerBase,
|
| // Same as PrintNow(), but for the case where a user press "ctrl+shift+p" to
|
| // show the native system dialog. This can happen from both initiator and
|
| // preview dialog.
|
| - bool BasicPrint();
|
| + bool BasicPrint(content::RenderFrameHost* rfh);
|
| #endif // ENABLE_BASIC_PRINTING
|
|
|
| // Initiate print preview of the current document by first notifying the
|
| // renderer. Since this happens asynchronous, the print preview dialog
|
| // creation will not be completed on the return of this function. Returns
|
| // false if print preview is impossible at the moment.
|
| - bool PrintPreviewNow(bool selection_only);
|
| + bool PrintPreviewNow(content::RenderFrameHost* rfh, bool has_selection);
|
|
|
| // Notify PrintViewManager that print preview is starting in the renderer for
|
| // a particular WebNode.
|
| @@ -49,14 +50,12 @@ class PrintViewManager : public PrintViewManagerBase,
|
| void PrintPreviewDone();
|
|
|
| // content::WebContentsObserver implementation.
|
| - bool OnMessageReceived(const IPC::Message& message) override;
|
| -
|
| - // content::WebContentsObserver implementation.
|
| void RenderFrameCreated(content::RenderFrameHost* render_frame_host) override;
|
| + void RenderFrameDeleted(content::RenderFrameHost* render_frame_host) override;
|
| + bool OnMessageReceived(const IPC::Message& message,
|
| + content::RenderFrameHost* render_frame_host) override;
|
|
|
| - // content::WebContentsObserver implementation.
|
| - // Terminates or cancels the print job if one was pending.
|
| - void RenderProcessGone(base::TerminationStatus status) override;
|
| + content::RenderFrameHost* print_preview_rfh() { return print_preview_rfh_; }
|
|
|
| private:
|
| explicit PrintViewManager(content::WebContents* web_contents);
|
| @@ -69,9 +68,11 @@ class PrintViewManager : public PrintViewManagerBase,
|
| };
|
|
|
| // IPC Message handlers.
|
| - void OnDidShowPrintDialog();
|
| - void OnSetupScriptedPrintPreview(IPC::Message* reply_msg);
|
| - void OnShowScriptedPrintPreview(bool source_is_modifiable);
|
| + void OnDidShowPrintDialog(content::RenderFrameHost* rfh);
|
| + void OnSetupScriptedPrintPreview(content::RenderFrameHost* rfh,
|
| + IPC::Message* reply_msg);
|
| + void OnShowScriptedPrintPreview(content::RenderFrameHost* rfh,
|
| + bool source_is_modifiable);
|
| void OnScriptedPrintPreviewReply(IPC::Message* reply_msg);
|
|
|
| base::Closure on_print_dialog_shown_callback_;
|
| @@ -79,6 +80,10 @@ class PrintViewManager : public PrintViewManagerBase,
|
| // Current state of print preview for this view.
|
| PrintPreviewState print_preview_state_;
|
|
|
| + // The current RFH that is print previewing. It should be a nullptr when
|
| + // |print_preview_state_| is NOT_PREVIEWING.
|
| + content::RenderFrameHost* print_preview_rfh_;
|
| +
|
| // Keeps track of the pending callback during scripted print preview.
|
| content::RenderProcessHost* scripted_print_preview_rph_;
|
|
|
|
|