Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Unified Diff: chrome/utility/printing_handler.h

Issue 2477283002: Convert printing IPCs to Mojo
Patch Set: Fix more Windows compile errors Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/utility/printing_handler.h
diff --git a/chrome/utility/printing_handler.h b/chrome/utility/printing_handler.h
index 99b6eeb6a28399e4077c254a037585b70c3efe14..f5cf0da2ea7ae87565e8bcd470a614644882ec03 100644
--- a/chrome/utility/printing_handler.h
+++ b/chrome/utility/printing_handler.h
@@ -8,8 +8,9 @@
#include "base/compiler_specific.h"
#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 +24,41 @@ namespace printing {
struct PwgRasterSettings;
// Dispatches IPCs for printing.
-class PrintingHandler : public UtilityMessageHandler {
+class PrintingHandler : public mojom::Printing {
public:
- PrintingHandler();
+ explicit PrintingHandler(mojom::FontPreCachingPtr font_pre_caching);
~PrintingHandler() override;
- // IPC::Listener:
- bool OnMessageReceived(const IPC::Message& message) override;
+ static void Create(mojom::PrintingFactoryRequest request);
private:
- // IPC message handlers.
-#if defined(OS_WIN)
- void OnRenderPDFPagesToMetafile(IPC::PlatformFileForTransit pdf_transit,
- const PdfRenderSettings& settings,
- bool print_text_with_gdi);
- void OnRenderPDFPagesToMetafileGetPage(
+ class PrintingHandlerFactory : public mojom::PrintingFactory {
+ public:
+ // mojom::PrintingFactory:
+ void MakePrinting(mojom::PrintingRequest request,
+ mojom::FontPreCachingPtr font_pre_caching) override;
+ };
+
+ // mojom::Printing:
+ void RenderPDFPagesToMetafiles(
+ base::File pdf_file,
+ 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
+ base::File emf_file,
+ const RenderPDFPagesToMetafilesGetPageCallback& callback) override;
+ void RenderPDFPagesToPWGRaster(
+ base::File pdf,
+ const PdfRenderSettings& settings,
+ const PwgRasterSettings& bitmap_settings,
+ base::File bitmap,
+ const RenderPDFPagesToPWGRasterCallback& callback) override;
+
+ // Called when the Mojo connection is closed. Causes the utility process to
+ // stop conversion and exit.
+ void OnConnectionClosed();
#if defined(OS_WIN)
int LoadPDF(base::File pdf_file);
@@ -60,16 +71,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);
};

Powered by Google App Engine
This is Rietveld 408576698