Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / common / chrome_utility_messages.h
index 7a748bc..92bc06e 100644 (file)
@@ -46,6 +46,35 @@ IPC_STRUCT_TRAITS_BEGIN(printing::PrinterCapsAndDefaults)
   IPC_STRUCT_TRAITS_MEMBER(defaults_mime_type)
 IPC_STRUCT_TRAITS_END()
 
+IPC_ENUM_TRAITS(printing::DuplexMode)
+
+#if defined(OS_WIN)
+IPC_STRUCT_TRAITS_BEGIN(printing::PrinterSemanticCapsAndDefaults::Paper)
+  IPC_STRUCT_TRAITS_MEMBER(name)
+  IPC_STRUCT_TRAITS_MEMBER(size_um)
+IPC_STRUCT_TRAITS_END()
+#endif
+
+IPC_STRUCT_TRAITS_BEGIN(printing::PrinterSemanticCapsAndDefaults)
+  IPC_STRUCT_TRAITS_MEMBER(color_changeable)
+  IPC_STRUCT_TRAITS_MEMBER(color_default)
+#if defined(USE_CUPS)
+  IPC_STRUCT_TRAITS_MEMBER(color_model)
+  IPC_STRUCT_TRAITS_MEMBER(bw_model)
+#endif
+#if defined(OS_WIN)
+  IPC_STRUCT_TRAITS_MEMBER(collate_capable)
+  IPC_STRUCT_TRAITS_MEMBER(collate_default)
+  IPC_STRUCT_TRAITS_MEMBER(copies_capable)
+  IPC_STRUCT_TRAITS_MEMBER(papers)
+  IPC_STRUCT_TRAITS_MEMBER(default_paper)
+  IPC_STRUCT_TRAITS_MEMBER(dpis)
+  IPC_STRUCT_TRAITS_MEMBER(default_dpi)
+#endif
+  IPC_STRUCT_TRAITS_MEMBER(duplex_capable)
+  IPC_STRUCT_TRAITS_MEMBER(duplex_default)
+IPC_STRUCT_TRAITS_END()
+
 IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Result)
   IPC_STRUCT_TRAITS_MEMBER(extension_id)
   IPC_STRUCT_TRAITS_MEMBER(version)
@@ -69,6 +98,7 @@ IPC_STRUCT_TRAITS_END()
 IPC_STRUCT_TRAITS_BEGIN(iphoto::parser::Photo)
   IPC_STRUCT_TRAITS_MEMBER(id)
   IPC_STRUCT_TRAITS_MEMBER(location)
+  IPC_STRUCT_TRAITS_MEMBER(original_location)
 IPC_STRUCT_TRAITS_END()
 
 IPC_STRUCT_TRAITS_BEGIN(iphoto::parser::Library)
@@ -139,12 +169,19 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_DecodeImageBase64,
                      std::string)  // base64 encoded image contents
 
 // Tell the utility process to render the given PDF into a metafile.
+// TODO(vitalybuka): switch to IPC::PlatformFileForTransit.
 IPC_MESSAGE_CONTROL4(ChromeUtilityMsg_RenderPDFPagesToMetafile,
                      base::PlatformFile,       // PDF file
                      base::FilePath,           // Location for output metafile
-                     printing::PdfRenderSettings,  // PDF render settitngs
+                     printing::PdfRenderSettings,  // PDF render settings
                      std::vector<printing::PageRange>)
 
+// Tell the utility process to render the given PDF into a PWGRaster.
+IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_RenderPDFPagesToPWGRaster,
+                     IPC::PlatformFileForTransit,  /* Input PDF file */
+                     printing::PdfRenderSettings,  /* PDF render settings */
+                     IPC::PlatformFileForTransit   /* Output PWG file */)
+
 // Tell the utility process to decode the given JPEG image data with a robust
 // libjpeg codec.
 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_RobustJPEGDecodeImage,
@@ -161,6 +198,13 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseJSON,
 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_GetPrinterCapsAndDefaults,
                      std::string /* printer name */)
 
+// Tells the utility process to get capabilities and defaults for the specified
+// printer. Used on Windows to isolate the service process from printer driver
+// crashes by executing this in a separate process. This does not run in a
+// sandbox. Returns result as printing::PrinterSemanticCapsAndDefaults.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_GetPrinterSemanticCapsAndDefaults,
+                     std::string /* printer name */)
+
 #if defined(OS_CHROMEOS)
 // Tell the utility process to create a zip file on the given list of files.
 IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_CreateZipFile,
@@ -219,6 +263,14 @@ IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_IndexPicasaAlbumsContents,
 IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_CheckMediaFile,
                      int64 /* milliseconds_of_decoding */,
                      IPC::PlatformFileForTransit /* Media file to parse */)
+
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_ParseMediaMetadata,
+                     std::string /* mime_type */,
+                     int64 /* total_size */)
+
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_RequestBlobBytes_Finished,
+                     int64 /* request_id */,
+                     std::string /* bytes */)
 #endif  // !defined(OS_ANDROID) && !defined(OS_IOS)
 
 //------------------------------------------------------------------------------
@@ -256,7 +308,7 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Failed,
 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Succeeded,
                      UpdateManifest::Results /* updates */)
 
-// Reply when an error occured parsing the update manifest. |error_message|
+// Reply when an error occurred parsing the update manifest. |error_message|
 // is a description of what went wrong suitable for logging.
 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Failed,
                      std::string /* error_message, if any */)
@@ -265,7 +317,7 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Failed,
 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_DecodeImage_Succeeded,
                      SkBitmap)  // decoded image
 
-// Reply when an error occured decoding the image.
+// Reply when an error occurred decoding the image.
 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_DecodeImage_Failed)
 
 // Reply when the utility process has succeeded in rendering the PDF.
@@ -273,9 +325,15 @@ IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_RenderPDFPagesToMetafile_Succeeded,
                      int,          // Highest rendered page number
                      double)       // Scale factor
 
-// Reply when an error occured rendering the PDF.
+// Reply when an error occurred rendering the PDF.
 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_RenderPDFPagesToMetafile_Failed)
 
+// Reply when the utility process has succeeded in rendering the PDF to PWG.
+IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Succeeded)
+
+// Reply when an error occurred rendering the PDF to PWG.
+IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Failed)
+
 // Reply when the utility process successfully parsed a JSON string.
 //
 // WARNING: The result can be of any Value subclass type, but we can't easily
@@ -295,6 +353,13 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseJSON_Failed,
 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GetPrinterCapsAndDefaults_Succeeded,
                      std::string /* printer name */,
                      printing::PrinterCapsAndDefaults)
+
+// Reply when the utility process has succeeded in obtaining the printer
+// semantic capabilities and defaults.
+IPC_MESSAGE_CONTROL2(
+    ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Succeeded,
+    std::string /* printer name */,
+    printing::PrinterSemanticCapsAndDefaults)
 #endif
 
 // Reply when the utility process has failed to obtain the printer
@@ -302,6 +367,12 @@ IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GetPrinterCapsAndDefaults_Succeeded,
 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_GetPrinterCapsAndDefaults_Failed,
                      std::string /* printer name */)
 
+// Reply when the utility process has failed to obtain the printer
+// semantic capabilities and defaults.
+IPC_MESSAGE_CONTROL1(
+  ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Failed,
+  std::string /* printer name */)
+
 #if defined(OS_CHROMEOS)
 // Reply when the utility process has succeeded in creating the zip file.
 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_CreateZipFile_Succeeded)
@@ -358,4 +429,13 @@ IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_IndexPicasaAlbumsContents_Finished,
 // the file appears to be a well formed media file.
 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_CheckMediaFile_Finished,
                      bool /* passed_checks */)
+
+IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_ParseMediaMetadata_Finished,
+                     bool /* parse_success */,
+                     base::DictionaryValue /* metadata */)
+
+IPC_MESSAGE_CONTROL3(ChromeUtilityHostMsg_RequestBlobBytes,
+                     int64 /* request_id */,
+                     int64 /* start_byte */,
+                     int64 /* length */)
 #endif  // !defined(OS_ANDROID) && !defined(OS_IOS)