diff options
Diffstat (limited to 'src/core/printing/print_view_manager_qt.h')
-rw-r--r-- | src/core/printing/print_view_manager_qt.h | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/src/core/printing/print_view_manager_qt.h b/src/core/printing/print_view_manager_qt.h index 654608ddd..209be8782 100644 --- a/src/core/printing/print_view_manager_qt.h +++ b/src/core/printing/print_view_manager_qt.h @@ -46,15 +46,15 @@ #include "print_view_manager_base_qt.h" -#include <QtWebEngineCore/qtwebenginecoreglobal.h> +#include "qtwebenginecoreglobal_p.h" #include "base/memory/ref_counted.h" #include "base/strings/string16.h" #include "components/prefs/pref_member.h" #include "components/printing/browser/print_manager.h" +#include "components/printing/common/print_messages.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" #include "content/public/browser/web_contents_user_data.h" -#include "printing/features/features.h" struct PrintHostMsg_RequestPrintPreview_Params; struct PrintHostMsg_DidPreviewDocument_Params; @@ -78,14 +78,14 @@ QT_END_NAMESPACE namespace QtWebEngineCore { class PrintViewManagerQt - : PrintViewManagerBaseQt + : public PrintViewManagerBaseQt , public content::WebContentsUserData<PrintViewManagerQt> { public: ~PrintViewManagerQt() override; typedef base::Callback<void(const std::vector<char> &result)> PrintToPDFCallback; typedef base::Callback<void(bool success)> PrintToPDFFileCallback; -#if BUILDFLAG(ENABLE_BASIC_PRINTING) + // Method to print a page to a Pdf document with page size \a pageSize in location \a filePath. void PrintToPDFFileWithCallback(const QPageLayout &pageLayout, bool printInColor, @@ -95,7 +95,6 @@ public: bool printInColor, bool useCustomMargins, const PrintToPDFCallback &callback); -#endif // ENABLE_BASIC_PRINTING base::string16 RenderSourceName() override; @@ -112,28 +111,38 @@ protected: // content::WebContentsObserver implementation. bool OnMessageReceived(const IPC::Message& message, content::RenderFrameHost* render_frame_host) override; + void RenderFrameDeleted(content::RenderFrameHost* render_frame_host) override; // IPC handlers void OnDidShowPrintDialog(); void OnRequestPrintPreview(const PrintHostMsg_RequestPrintPreview_Params&); - void OnMetafileReadyForPrinting(const PrintHostMsg_DidPreviewDocument_Params& params); - -#if BUILDFLAG(ENABLE_BASIC_PRINTING) + void OnMetafileReadyForPrinting(content::RenderFrameHost* rfh, + const PrintHostMsg_DidPreviewDocument_Params& params, + const PrintHostMsg_PreviewIds &ids); + void OnSetupScriptedPrintPreview(content::RenderFrameHost* rfh, + IPC::Message* reply_msg); + void OnDidPreviewPage(content::RenderFrameHost* rfh, + const PrintHostMsg_DidPreviewPage_Params& params, + const PrintHostMsg_PreviewIds& ids); + void OnShowScriptedPrintPreview(content::RenderFrameHost* rfh, + bool source_is_modifiable); bool PrintToPDFInternal(const QPageLayout &, bool printInColor, bool useCustomMargins = true); -#endif // BUILDFLAG(ENABLE_BASIC_PRINTING) - - base::FilePath m_pdfOutputPath; - PrintToPDFCallback m_pdfPrintCallback; - PrintToPDFFileCallback m_pdfSaveCallback; private: - friend class content::WebContentsUserData<PrintViewManagerQt>; - void resetPdfState(); - // content::WebContentsObserver implementation. void DidStartLoading() override; + void PrintPreviewDone(); + +private: + content::RenderFrameHost *m_printPreviewRfh; + base::FilePath m_pdfOutputPath; + PrintToPDFCallback m_pdfPrintCallback; + PrintToPDFFileCallback m_pdfSaveCallback; + std::unique_ptr<base::DictionaryValue> m_printSettings; + friend class content::WebContentsUserData<PrintViewManagerQt>; DISALLOW_COPY_AND_ASSIGN(PrintViewManagerQt); + struct FrameDispatchHelper; }; } // namespace QtWebEngineCore |