Add printToPDF Implementation.
This commit is contained in:
parent
b360f7d86a
commit
7ffa7042b1
10 changed files with 1112 additions and 2 deletions
|
@ -46,7 +46,9 @@ struct PrintMsg_Print_Params {
|
|||
int document_cookie;
|
||||
bool selection_only;
|
||||
bool supports_alpha_blend;
|
||||
int preview_request_id;
|
||||
blink::WebPrintScalingOption print_scaling_option;
|
||||
bool print_to_pdf;
|
||||
base::string16 title;
|
||||
base::string16 url;
|
||||
bool should_print_backgrounds;
|
||||
|
@ -185,6 +187,61 @@ IPC_STRUCT_BEGIN(PrintHostMsg_ScriptedPrint_Params)
|
|||
IPC_STRUCT_MEMBER(printing::MarginType, margin_type)
|
||||
IPC_STRUCT_END()
|
||||
|
||||
// Parameters to describe a rendered preview page.
|
||||
IPC_STRUCT_BEGIN(PrintHostMsg_DidPreviewPage_Params)
|
||||
// A shared memory handle to metafile data for a draft document of the page.
|
||||
IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle)
|
||||
|
||||
// Size of metafile data.
|
||||
IPC_STRUCT_MEMBER(uint32, data_size)
|
||||
|
||||
// |page_number| is zero-based and can be |printing::INVALID_PAGE_INDEX| if it
|
||||
// is just a check.
|
||||
IPC_STRUCT_MEMBER(int, page_number)
|
||||
|
||||
// The id of the preview request.
|
||||
IPC_STRUCT_MEMBER(int, preview_request_id)
|
||||
IPC_STRUCT_END()
|
||||
|
||||
// Parameters sent along with the page count.
|
||||
IPC_STRUCT_BEGIN(PrintHostMsg_DidGetPreviewPageCount_Params)
|
||||
// Cookie for the document to ensure correctness.
|
||||
IPC_STRUCT_MEMBER(int, document_cookie)
|
||||
|
||||
// Total page count.
|
||||
IPC_STRUCT_MEMBER(int, page_count)
|
||||
|
||||
// Indicates whether the previewed document is modifiable.
|
||||
IPC_STRUCT_MEMBER(bool, is_modifiable)
|
||||
|
||||
// The id of the preview request.
|
||||
IPC_STRUCT_MEMBER(int, preview_request_id)
|
||||
|
||||
// Indicates whether the existing preview data needs to be cleared or not.
|
||||
IPC_STRUCT_MEMBER(bool, clear_preview_data)
|
||||
IPC_STRUCT_END()
|
||||
|
||||
// Parameters to describe a rendered document.
|
||||
IPC_STRUCT_BEGIN(PrintHostMsg_DidPreviewDocument_Params)
|
||||
// A shared memory handle to metafile data.
|
||||
IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle)
|
||||
|
||||
// Size of metafile data.
|
||||
IPC_STRUCT_MEMBER(uint32, data_size)
|
||||
|
||||
// Cookie for the document to ensure correctness.
|
||||
IPC_STRUCT_MEMBER(int, document_cookie)
|
||||
|
||||
// Store the expected pages count.
|
||||
IPC_STRUCT_MEMBER(int, expected_pages_count)
|
||||
|
||||
// Whether the preview can be modified.
|
||||
IPC_STRUCT_MEMBER(bool, modifiable)
|
||||
|
||||
// The id of the preview request.
|
||||
IPC_STRUCT_MEMBER(int, preview_request_id)
|
||||
IPC_STRUCT_END()
|
||||
|
||||
|
||||
// Messages sent from the browser to the renderer.
|
||||
|
||||
|
@ -198,6 +255,12 @@ IPC_MESSAGE_ROUTED2(PrintMsg_PrintPages,
|
|||
IPC_MESSAGE_ROUTED1(PrintMsg_PrintingDone,
|
||||
bool /* success */)
|
||||
|
||||
// Tells the render view to switch the CSS to print media type, renders every
|
||||
// requested pages for print preview using the given |settings|. This gets
|
||||
// called multiple times as the user updates settings.
|
||||
IPC_MESSAGE_ROUTED1(PrintMsg_PrintPreview,
|
||||
base::DictionaryValue /* settings */)
|
||||
|
||||
// Messages sent from the renderer to the browser.
|
||||
|
||||
#if defined(OS_WIN)
|
||||
|
@ -231,6 +294,14 @@ IPC_MESSAGE_ROUTED1(PrintHostMsg_DidPrintPage,
|
|||
IPC_SYNC_MESSAGE_ROUTED0_1(PrintHostMsg_GetDefaultPrintSettings,
|
||||
PrintMsg_Print_Params /* default_settings */)
|
||||
|
||||
// The renderer wants to update the current print settings with new
|
||||
// |job_settings|.
|
||||
IPC_SYNC_MESSAGE_ROUTED2_2(PrintHostMsg_UpdatePrintSettings,
|
||||
int /* document_cookie */,
|
||||
base::DictionaryValue /* job_settings */,
|
||||
PrintMsg_PrintPages_Params /* current_settings */,
|
||||
bool /* canceled */)
|
||||
|
||||
// It's the renderer that controls the printing process when it is generated
|
||||
// by javascript. This step is about showing UI to the user to select the
|
||||
// final print settings. The output parameter is the same as
|
||||
|
@ -247,6 +318,20 @@ IPC_MESSAGE_ROUTED0(PrintHostMsg_ShowInvalidPrinterSettingsError)
|
|||
IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintingFailed,
|
||||
int /* document cookie */)
|
||||
|
||||
// Notify the browser a print preview page has been rendered.
|
||||
IPC_MESSAGE_ROUTED1(PrintHostMsg_DidPreviewPage,
|
||||
PrintHostMsg_DidPreviewPage_Params /* params */)
|
||||
|
||||
// Sends back to the browser the complete rendered document (non-draft mode,
|
||||
// used for printing) that was requested by a PrintMsg_PrintPreview message.
|
||||
// The memory handle in this message is already valid in the browser process.
|
||||
IPC_MESSAGE_ROUTED1(PrintHostMsg_MetafileReadyForPrinting,
|
||||
PrintHostMsg_DidPreviewDocument_Params /* params */)
|
||||
|
||||
// Notify the browser the number of pages in the print preview document.
|
||||
IPC_MESSAGE_ROUTED1(PrintHostMsg_DidGetPreviewPageCount,
|
||||
PrintHostMsg_DidGetPreviewPageCount_Params /* params */)
|
||||
|
||||
|
||||
#if defined(OS_WIN)
|
||||
// Tell the utility process to start rendering the given PDF into a metafile.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue