Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Unified Diff: chrome/renderer/print_web_view_helper_mac.mm

Issue 7348010: Added Header and Footer support using Skia (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Style changes as per Kausalya and Demetrios' comments Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/print_web_view_helper_mac.mm
diff --git a/chrome/renderer/print_web_view_helper_mac.mm b/chrome/renderer/print_web_view_helper_mac.mm
index 3ceeb5d92ed139c98ab8aa71619b45df4d320612..9fdfa09123e680fceaafdad41b0b5a2ea3cc1d86 100644
--- a/chrome/renderer/print_web_view_helper_mac.mm
+++ b/chrome/renderer/print_web_view_helper_mac.mm
@@ -37,7 +37,7 @@ void PrintWebViewHelper::PrintPageInternal(
// Render page for printing.
gfx::Rect content_area(params.params.printable_size);
RenderPage(params.params.printable_size, content_area, scale_factor,
- page_number, page_slot, frame, &metafile);
+ page_number, page_slot, frame, false, &metafile);
vandebo (ex-Chrome) 2011/08/01 21:07:37 Same here.
Aayush Kumar 2011/08/02 00:18:13 Done.
metafile.FinishDocument();
PrintHostMsg_DidPrintPage_Params page_params;
@@ -82,7 +82,7 @@ void PrintWebViewHelper::RenderPreviewPage(int page_number) {
base::TimeTicks begin_time = base::TimeTicks::Now();
RenderPage(printParams.page_size, content_area, scale_factor, page_number,
print_preview_context_.GetPageSlotForPage(page_number),
- print_preview_context_.frame(), initial_render_metafile);
+ print_preview_context_.frame(), true, initial_render_metafile);
print_preview_context_.RenderedPreviewPage(
base::TimeTicks::Now() - begin_time);
@@ -115,7 +115,7 @@ void PrintWebViewHelper::RenderPreviewPage(int page_number) {
void PrintWebViewHelper::RenderPage(
const gfx::Size& page_size, const gfx::Rect& content_area,
const float& scale_factor, int page_number, int page_slot, WebFrame* frame,
- printing::Metafile* metafile) {
+ bool is_preview, printing::Metafile* metafile) {
{
#if defined(USE_SKIA)
@@ -138,7 +138,20 @@ void PrintWebViewHelper::RenderPage(
CGContextRef cgContext = metafile->context();
CGContextRef canvasPtr = cgContext;
#endif
- frame->printPage(page_number, canvasPtr);
+ float webkit_scale_factor = frame->printPage(page_number, canvasPtr);
+#if defined(USE_SKIA)
+ PrintMsg_Print_Params printParams = print_preview_context_.print_params();
+ if (is_preview && printParams.display_header_footer) {
+ PageSizeMargins page_layout_in_points;
+ GetPageSizeAndMarginsInPoints(frame, page_number, printParams,
+ &page_layout_in_points);
+ // |page_number| is 0-based, so 1 is added.
+ PrintHeaderAndFooter(device, *canvas, page_number + 1,
+ print_preview_context_.total_page_count(),
+ webkit_scale_factor, page_layout_in_points,
+ *header_footer_info_);
+ }
+#endif // USE_SKIA
}
// Done printing. Close the device context to retrieve the compiled metafile.

Powered by Google App Engine
This is Rietveld 408576698