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: |