summaryrefslogtreecommitdiffstats
path: root/src/core/printing/print_view_manager_qt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/printing/print_view_manager_qt.h')
-rw-r--r--src/core/printing/print_view_manager_qt.h41
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