Index: chrome/utility/printing_handler.h |
diff --git a/chrome/utility/printing_handler.h b/chrome/utility/printing_handler.h |
index 99b6eeb6a28399e4077c254a037585b70c3efe14..d09101377ec32b5383b00138e7c84578bf07dc52 100644 |
--- a/chrome/utility/printing_handler.h |
+++ b/chrome/utility/printing_handler.h |
@@ -9,7 +9,9 @@ |
#include "base/macros.h" |
#include "build/build_config.h" |
#include "chrome/utility/utility_message_handler.h" |
+#include "components/printing/common/printing.mojom.h" |
#include "ipc/ipc_platform_file.h" |
+#include "mojo/public/cpp/bindings/interface_request.h" |
#include "printing/features/features.h" |
#include "printing/pdf_render_settings.h" |
@@ -23,31 +25,34 @@ namespace printing { |
struct PwgRasterSettings; |
// Dispatches IPCs for printing. |
-class PrintingHandler : public UtilityMessageHandler { |
+class PrintingHandler : public UtilityMessageHandler, public mojom::Printing { |
public: |
- PrintingHandler(); |
+ explicit PrintingHandler(mojom::FontPreCachingPtr font_pre_caching); |
~PrintingHandler() override; |
+ static void Create(mojom::PrintingFactoryRequest request); |
+ |
// IPC::Listener: |
bool OnMessageReceived(const IPC::Message& message) override; |
private: |
- // IPC message handlers. |
-#if defined(OS_WIN) |
- void OnRenderPDFPagesToMetafile(IPC::PlatformFileForTransit pdf_transit, |
- const PdfRenderSettings& settings, |
- bool print_text_with_gdi); |
- void OnRenderPDFPagesToMetafileGetPage( |
+ // mojom::Printing: |
+ void RenderPDFPagesToMetafiles( |
+ mojo::ScopedHandle pdf_transit, |
+ const PdfRenderSettings& settings, |
+ bool print_text_with_gdi, |
+ const RenderPDFPagesToMetafilesCallback& callback) override; |
+ void RenderPDFPagesToMetafilesGetPage( |
int page_number, |
- IPC::PlatformFileForTransit output_file); |
- void OnRenderPDFPagesToMetafileStop(); |
-#endif // OS_WIN |
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW) |
- void OnRenderPDFPagesToPWGRaster(IPC::PlatformFileForTransit pdf_transit, |
- const PdfRenderSettings& settings, |
- const PwgRasterSettings& bitmap_settings, |
- IPC::PlatformFileForTransit bitmap_transit); |
-#endif // ENABLE_PRINT_PREVIEW |
+ mojo::ScopedHandle output_file, |
+ const RenderPDFPagesToMetafilesGetPageCallback& callback) override; |
+ void RenderPDFPagesToMetafilesStop() override; |
+ void RenderPDFPagesToPWGRaster( |
+ mojo::ScopedHandle pdf_transit, |
+ const PdfRenderSettings& settings, |
+ const PwgRasterSettings& bitmap_settings, |
+ mojo::ScopedHandle bitmap_transit, |
+ const RenderPDFPagesToPWGRasterCallback& callback) override; |
#if defined(OS_WIN) |
int LoadPDF(base::File pdf_file); |
@@ -60,16 +65,23 @@ class PrintingHandler : public UtilityMessageHandler { |
const PdfRenderSettings& settings, |
const PwgRasterSettings& bitmap_settings, |
base::File bitmap_file); |
- |
- void OnGetPrinterCapsAndDefaults(const std::string& printer_name); |
- void OnGetPrinterSemanticCapsAndDefaults(const std::string& printer_name); |
#endif // ENABLE_PRINT_PREVIEW |
+ // mojom::Printing: |
+ void GetPrinterCapsAndDefaults( |
+ const std::string& printer_name, |
+ const GetPrinterCapsAndDefaultsCallback& callback) override; |
+ void GetPrinterSemanticCapsAndDefaults( |
+ const std::string& printer_name, |
+ const GetPrinterSemanticCapsAndDefaultsCallback& callback) override; |
+ |
#if defined(OS_WIN) |
std::vector<char> pdf_data_; |
PdfRenderSettings pdf_rendering_settings_; |
#endif |
+ mojom::FontPreCachingPtr font_pre_caching_; |
+ |
DISALLOW_COPY_AND_ASSIGN(PrintingHandler); |
}; |