| 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 8b4342dd672b34fe99e3235123da0f9b630870fc..cda7d043a93ab1b299923428182a21c4c67b9ce0 100644
|
| --- a/chrome/renderer/print_web_view_helper.h
|
| +++ b/chrome/renderer/print_web_view_helper.h
|
| @@ -27,6 +27,11 @@ struct PrintMsg_PrintPages_Params;
|
| namespace base {
|
| class DictionaryValue;
|
| }
|
| +#if defined(USE_SKIA)
|
| +namespace skia {
|
| +class VectorCanvas;
|
| +}
|
| +#endif
|
|
|
| // Class that calls the Begin and End print functions on the frame and changes
|
| // the size of the view temporarily to support full page printing..
|
| @@ -192,7 +197,7 @@ class PrintWebViewHelper : public RenderViewObserver,
|
| // Update the current print settings with new |job_settings|. |job_settings|
|
| // dictionary contains print job details such as printer name, number of
|
| // copies, page range, etc.
|
| - bool UpdatePrintSettings(const base::DictionaryValue& job_settings);
|
| + bool UpdatePrintSettings(base::DictionaryValue* job_settings);
|
|
|
| // Get final print settings from the user.
|
| // Return false if the user cancels or on error.
|
| @@ -234,7 +239,8 @@ class PrintWebViewHelper : public RenderViewObserver,
|
| #elif defined(OS_MACOSX)
|
| void RenderPage(const gfx::Size& page_size, const gfx::Rect& content_area,
|
| const float& scale_factor, int page_number, int page_slot,
|
| - WebKit::WebFrame* frame, printing::Metafile* metafile);
|
| + WebKit::WebFrame* frame, bool is_preview,
|
| + printing::Metafile* metafile);
|
| #elif defined(OS_POSIX)
|
| bool RenderPages(const PrintMsg_PrintPages_Params& params,
|
| WebKit::WebFrame* frame, WebKit::WebNode* node,
|
| @@ -261,6 +267,19 @@ class PrintWebViewHelper : public RenderViewObserver,
|
| PrepareFrameAndViewForPrint* prepare,
|
| PrintMsg_Print_Params* params);
|
|
|
| +#if defined(USE_SKIA)
|
| + // Given the |device| and |canvas| to draw on, prints the appropriate headers
|
| + // and footers using strings from |header_footer_info| on to the canvas.
|
| + static void PrintHeaderAndFooter(
|
| + SkDevice* device,
|
| + skia::VectorCanvas* canvas,
|
| + int page_number,
|
| + int total_pages,
|
| + float webkit_scale_factor,
|
| + const PageSizeMargins& page_layout_in_points,
|
| + const base::DictionaryValue& header_footer_info);
|
| +#endif // USE_SKIA
|
| +
|
| bool GetPrintFrame(WebKit::WebFrame** frame);
|
|
|
| // This reports the current time - |start_time| as the time to render a page.
|
| @@ -304,6 +323,10 @@ class PrintWebViewHelper : public RenderViewObserver,
|
|
|
| scoped_ptr<PrintMsg_PrintPages_Params> old_print_pages_params_;
|
|
|
| + // Contains strings generated by the browser process to be printed as headers
|
| + // and footers if requested by the user.
|
| + scoped_ptr<base::DictionaryValue> header_footer_info_;
|
| +
|
| // Keeps track of the state of print preview between messages.
|
| class PrintPreviewContext {
|
| public:
|
|
|