Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / common / chrome_utility_printing_messages.h
index 876d4af..d5ddd6e 100644 (file)
 #include "printing/pdf_render_settings.h"
 #include "printing/pwg_raster_settings.h"
 
-#if !defined(ENABLE_FULL_PRINTING)
-#error "Full printing must be enabled"
-#endif
-
 #define IPC_MESSAGE_START ChromeUtilityPrintingMsgStart
 
+#if defined(ENABLE_FULL_PRINTING)
+
 IPC_STRUCT_TRAITS_BEGIN(printing::PrinterCapsAndDefaults)
   IPC_STRUCT_TRAITS_MEMBER(printer_capabilities)
   IPC_STRUCT_TRAITS_MEMBER(caps_mime_type)
@@ -63,6 +61,23 @@ IPC_STRUCT_TRAITS_END()
 // Utility process messages:
 // These are messages from the browser to the utility process.
 
+#if defined(OS_WIN)
+// Tell the utility process to start rendering the given PDF into a metafile.
+// Utility process would be alive until
+// ChromeUtilityMsg_RenderPDFPagesToMetafiles_Stop message.
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_RenderPDFPagesToMetafiles,
+                     IPC::PlatformFileForTransit, /* input_file */
+                     printing::PdfRenderSettings /* settings */)
+
+// Requests conversion of the next page.
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_RenderPDFPagesToMetafiles_GetPage,
+                     int /* page_number */,
+                     IPC::PlatformFileForTransit /* output_file */)
+
+// Requests utility process to stop conversion and exit.
+IPC_MESSAGE_CONTROL0(ChromeUtilityMsg_RenderPDFPagesToMetafiles_Stop)
+#endif  // OS_WIN
+
 // Tell the utility process to render the given PDF into a PWGRaster.
 IPC_MESSAGE_CONTROL4(ChromeUtilityMsg_RenderPDFPagesToPWGRaster,
                      IPC::PlatformFileForTransit, /* Input PDF file */
@@ -85,22 +100,22 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_GetPrinterCapsAndDefaults,
 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_GetPrinterSemanticCapsAndDefaults,
                      std::string /* printer name */)
 
-
-#if defined(WIN_PDF_METAFILE_FOR_PRINTING)
-// Tell the utility process to render the given PDF into a metafile.
-// The metafile path will have ".%d" inserted where the %d is the page number.
-// If no page range is specified, all pages will be converted.
-IPC_MESSAGE_CONTROL4(ChromeUtilityMsg_RenderPDFPagesToMetafiles,
-                     IPC::PlatformFileForTransit,  // PDF file
-                     base::FilePath,  // Base location for output metafile
-                     printing::PdfRenderSettings,  // PDF render settings
-                     std::vector<printing::PageRange>)
-#endif
-
 //------------------------------------------------------------------------------
 // Utility process host messages:
 // These are messages from the utility process to the browser.
 
+#if defined(OS_WIN)
+// Reply when the utility process loaded PDF. |page_count| is 0, if loading
+// failed.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageCount,
+                     int /* page_count */)
+
+// Reply when the utility process rendered the PDF page.
+IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageDone,
+                     bool /* success */,
+                     double /* scale_factor */)
+#endif  // OS_WIN
+
 // Reply when the utility process has succeeded in rendering the PDF to PWG.
 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Succeeded)
 
@@ -131,12 +146,4 @@ IPC_MESSAGE_CONTROL1(
   ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Failed,
   std::string /* printer name */)
 
-#if defined(WIN_PDF_METAFILE_FOR_PRINTING)
-// Reply when the utility process has succeeded in rendering the PDF.
-IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_Succeeded,
-                     std::vector<printing::PageRange>,  // Pages rendered
-                     double)                            // Scale factor
-
-// Reply when an error occurred rendering the PDF.
-IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_RenderPDFPagesToMetafile_Failed)
-#endif
+#endif  // ENABLE_FULL_PRINTING