Chromium Code Reviews| Index: chrome/renderer/print_web_view_helper.h |
| diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h |
| index 24de40ef2530380b8025b96decc83c102e603bad..d2d8a7663be1c700de0c593c72810b9ed61ec6bf 100644 |
| --- a/chrome/renderer/print_web_view_helper.h |
| +++ b/chrome/renderer/print_web_view_helper.h |
| @@ -117,6 +117,19 @@ class PrintWebViewHelper |
| // Print the document with the print preview frame/node. |
| void OnPrintForSystemDialog(); |
| + // Get |page_size| and |content_area| information from |
| + // |page_layout_in_points|. |
| + void GetPageSizeAndContentAreaFromPageLayout( |
| + const printing::PageSizeMargins& page_layout_in_points, |
| + gfx::Size* page_size, |
| + gfx::Rect* content_area); |
| + |
| + // Update |ignore_css_margins_| based on settings. |
| + void UpdateFrameMarginsCssInfo(const base::DictionaryValue& settings); |
| + |
| + // Returns true if the current destination printer is PRINT_TO_PDF. |
| + bool IsPrintToPdfRequested(const base::DictionaryValue& settings); |
| + |
| // Initiate print preview. |
| void OnInitiatePrintPreview(); |
| @@ -216,14 +229,17 @@ class PrintWebViewHelper |
| // |metafile| or a new one. In either case, the caller owns both |metafile| |
| // and the result. |
| printing::Metafile* RenderPage(const PrintMsg_Print_Params& params, |
|
vandebo (ex-Chrome)
2012/01/07 00:23:19
It looks like the Win and Mac prototypes can be un
kmadhusu
2012/01/09 17:15:55
okay.
Done.
|
| - float* scale_factor, int page_number, |
| - bool is_preview, WebKit::WebFrame* frame, |
| - printing::Metafile* metafile); |
| + int page_number, bool is_preview, |
|
vandebo (ex-Chrome)
2012/01/07 00:23:19
match the parameter order to the Mac function (i.e
kmadhusu
2012/01/09 17:15:55
Done.
|
| + WebKit::WebFrame* frame, |
| + printing::Metafile* metafile, |
| + double* scale_factor, |
| + gfx::Size* page_size_in_dpi, |
| + gfx::Rect* content_area_in_dpi); |
| #elif defined(OS_MACOSX) |
| - void RenderPage(const gfx::Size& page_size, const gfx::Rect& content_area, |
| - const float& scale_factor, int page_number, |
| - WebKit::WebFrame* frame, bool is_preview, |
| - printing::Metafile* metafile); |
| + void RenderPage(const PrintMsg_Print_Params& params, |
| + int page_number, WebKit::WebFrame* frame, bool is_preview, |
| + printing::Metafile* metafile, double* scale_factor, |
| + gfx::Size* page_size, gfx::Rect* content_rect); |
| #elif defined(OS_POSIX) |
| bool RenderPages(const PrintMsg_PrintPages_Params& params, |
| WebKit::WebFrame* frame, const WebKit::WebNode& node, |
| @@ -238,17 +254,25 @@ class PrintWebViewHelper |
| bool CopyMetafileDataToSharedMem(printing::Metafile* metafile, |
| base::SharedMemoryHandle* shared_mem_handle); |
| - static void GetPageSizeAndMarginsInPoints( |
| + // Helper method to get page layout in points and fit to page if needed. |
| + static void ComputePageLayoutInPoints( |
| WebKit::WebFrame* frame, |
| int page_index, |
| const PrintMsg_Print_Params& default_params, |
| + bool ignore_css_margins, |
| + bool fit_to_page, |
| + double* scale_factor, |
| printing::PageSizeMargins* page_layout_in_points); |
| - static void UpdatePrintableSizeInPrintParameters( |
| + // Prepare the frame and view for print and then call this function to honor |
| + // the CSS page layout information. |
| + static void UpdateFrameAndViewFromCssPageLayout( |
| WebKit::WebFrame* frame, |
| const WebKit::WebNode& node, |
| PrepareFrameAndViewForPrint* prepare, |
| - PrintMsg_Print_Params* params); |
| + const PrintMsg_Print_Params& params, |
| + bool ignore_css_margins, |
| + bool fit_to_page); |
| // Given the |device| and |canvas| to draw on, prints the appropriate headers |
| // and footers using strings from |header_footer_info| on to the canvas. |
| @@ -299,6 +323,11 @@ class PrintWebViewHelper |
| scoped_ptr<PrintMsg_PrintPages_Params> print_pages_params_; |
| bool is_preview_enabled_; |
| bool is_print_ready_metafile_sent_; |
| + bool ignore_css_margins_; |
| + |
| + // True if we need to auto fit to page else false. |
| + // NOTE: When we print to pdf, we don't fit to page. |
| + bool fit_to_page_; |
| // Used for scripted initiated printing blocking. |
| base::Time last_cancelled_script_print_; |
| @@ -343,7 +372,9 @@ class PrintWebViewHelper |
| // Create the print preview document. |pages| is empty to print all pages. |
| bool CreatePreviewDocument(PrintMsg_Print_Params* params, |
| - const std::vector<int>& pages); |
| + const std::vector<int>& pages, |
| + bool ignore_css_margins, |
| + bool fit_to_page); |
| // Called after a page gets rendered. |page_time| is how long the |
| // rendering took. |