Commit ef3bf565 authored by vitalybuka's avatar vitalybuka Committed by Commit bot

PrintingHandler in utility process is required for Windows even without full printing.

Makes possible to print from windows with printing_enabled=2.

BUG=374321

Review URL: https://codereview.chromium.org/549423002

Cr-Commit-Position: refs/heads/master@{#293984}
parent 3f631981
......@@ -172,7 +172,7 @@
}],
],
}],
['enable_printing!=1', {
['enable_printing!=1 and OS!="win"', {
'sources!': [
'utility/printing_handler.cc',
'utility/printing_handler.h',
......
......@@ -39,7 +39,7 @@
#include "chrome/utility/media_galleries/media_metadata_parser.h"
#endif
#if defined(ENABLE_FULL_PRINTING)
#if defined(ENABLE_FULL_PRINTING) || defined(OS_WIN)
#include "chrome/utility/printing_handler.h"
#endif
......@@ -81,7 +81,7 @@ ChromeContentUtilityClient::ChromeContentUtilityClient()
handlers_.push_back(new image_writer::ImageWriterHandler());
#endif
#if defined(ENABLE_FULL_PRINTING)
#if defined(ENABLE_FULL_PRINTING) || defined(OS_WIN)
handlers_.push_back(new PrintingHandler());
#endif
......@@ -160,7 +160,7 @@ void ChromeContentUtilityClient::PreSandboxStartup() {
extensions::ExtensionsHandler::PreSandboxStartup();
#endif
#if defined(ENABLE_FULL_PRINTING)
#if defined(ENABLE_FULL_PRINTING) || defined(OS_WIN)
PrintingHandler::PreSandboxStartup();
#endif
......
......@@ -263,12 +263,14 @@ bool PrintingHandler::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToMetafiles,
OnRenderPDFPagesToMetafile)
#endif // OS_WIN
#if defined(ENABLE_FULL_PRINTING)
IPC_MESSAGE_HANDLER(ChromeUtilityMsg_RenderPDFPagesToPWGRaster,
OnRenderPDFPagesToPWGRaster)
IPC_MESSAGE_HANDLER(ChromeUtilityMsg_GetPrinterCapsAndDefaults,
OnGetPrinterCapsAndDefaults)
IPC_MESSAGE_HANDLER(ChromeUtilityMsg_GetPrinterSemanticCapsAndDefaults,
OnGetPrinterSemanticCapsAndDefaults)
#endif // ENABLE_FULL_PRINTING
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
......@@ -304,6 +306,7 @@ void PrintingHandler::OnRenderPDFPagesToMetafile(
}
#endif // OS_WIN
#if defined(ENABLE_FULL_PRINTING)
void PrintingHandler::OnRenderPDFPagesToPWGRaster(
IPC::PlatformFileForTransit pdf_transit,
const printing::PdfRenderSettings& settings,
......@@ -319,6 +322,7 @@ void PrintingHandler::OnRenderPDFPagesToPWGRaster(
}
ReleaseProcessIfNeeded();
}
#endif // ENABLE_FULL_PRINTING
#if defined(OS_WIN)
bool PrintingHandler::RenderPDFToWinMetafile(
......@@ -405,6 +409,7 @@ bool PrintingHandler::RenderPDFToWinMetafile(
}
#endif // OS_WIN
#if defined(ENABLE_FULL_PRINTING)
bool PrintingHandler::RenderPDFPagesToPWGRaster(
base::File pdf_file,
const printing::PdfRenderSettings& settings,
......@@ -534,3 +539,4 @@ void PrintingHandler::OnGetPrinterSemanticCapsAndDefaults(
}
ReleaseProcessIfNeeded();
}
#endif // ENABLE_FULL_PRINTING
......@@ -10,8 +10,8 @@
#include "chrome/utility/utility_message_handler.h"
#include "ipc/ipc_platform_file.h"
#if !defined(ENABLE_FULL_PRINTING)
#error "Full printing must be enabled"
#if !defined(ENABLE_FULL_PRINTING) && !defined(OS_WIN)
#error "Windows or full printing must be enabled"
#endif
namespace printing {
......@@ -40,11 +40,13 @@ class PrintingHandler : public UtilityMessageHandler {
const printing::PdfRenderSettings& settings,
const std::vector<printing::PageRange>& page_ranges);
#endif // OS_WIN
#if defined(ENABLE_FULL_PRINTING)
void OnRenderPDFPagesToPWGRaster(
IPC::PlatformFileForTransit pdf_transit,
const printing::PdfRenderSettings& settings,
const printing::PwgRasterSettings& bitmap_settings,
IPC::PlatformFileForTransit bitmap_transit);
#endif // ENABLE_FULL_PRINTING
#if defined(OS_WIN)
// Helper method for Windows.
......@@ -60,7 +62,7 @@ class PrintingHandler : public UtilityMessageHandler {
int* highest_rendered_page_number,
double* scale_factor);
#endif // OS_WIN
#if defined(ENABLE_FULL_PRINTING)
bool RenderPDFPagesToPWGRaster(
base::File pdf_file,
const printing::PdfRenderSettings& settings,
......@@ -69,6 +71,7 @@ class PrintingHandler : public UtilityMessageHandler {
void OnGetPrinterCapsAndDefaults(const std::string& printer_name);
void OnGetPrinterSemanticCapsAndDefaults(const std::string& printer_name);
#endif // ENABLE_FULL_PRINTING
DISALLOW_COPY_AND_ASSIGN(PrintingHandler);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment