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

Side by Side Diff: chrome/renderer/print_web_view_helper.cc

Issue 7348010: Added Header and Footer support using Skia (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added Headers and Footers support - New Snapshot Uploaded 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/print_web_view_helper.h" 5 #include "chrome/renderer/print_web_view_helper.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 oldParams.params.min_shrink == newParams.params.min_shrink && 77 oldParams.params.min_shrink == newParams.params.min_shrink &&
78 oldParams.params.dpi == newParams.params.dpi && 78 oldParams.params.dpi == newParams.params.dpi &&
79 oldParams.params.printable_size == newParams.params.printable_size && 79 oldParams.params.printable_size == newParams.params.printable_size &&
80 oldParams.params.selection_only == newParams.params.selection_only && 80 oldParams.params.selection_only == newParams.params.selection_only &&
81 oldParams.params.page_size == newParams.params.page_size && 81 oldParams.params.page_size == newParams.params.page_size &&
82 oldParams.params.margin_top == newParams.params.margin_top && 82 oldParams.params.margin_top == newParams.params.margin_top &&
83 oldParams.params.margin_left == newParams.params.margin_left && 83 oldParams.params.margin_left == newParams.params.margin_left &&
84 oldParams.params.supports_alpha_blend == 84 oldParams.params.supports_alpha_blend ==
85 newParams.params.supports_alpha_blend && 85 newParams.params.supports_alpha_blend &&
86 oldParams.pages.size() == newParams.pages.size() && 86 oldParams.pages.size() == newParams.pages.size() &&
87 oldParams.params.header_footer ==
88 newParams.params.header_footer &&
87 std::equal(oldParams.pages.begin(), oldParams.pages.end(), 89 std::equal(oldParams.pages.begin(), oldParams.pages.end(),
88 newParams.pages.begin()); 90 newParams.pages.begin());
89 } 91 }
90 92
91 } // namespace 93 } // namespace
92 94
93 PrepareFrameAndViewForPrint::PrepareFrameAndViewForPrint( 95 PrepareFrameAndViewForPrint::PrepareFrameAndViewForPrint(
94 const PrintMsg_Print_Params& print_params, 96 const PrintMsg_Print_Params& print_params,
95 WebFrame* frame, 97 WebFrame* frame,
96 WebNode* node, 98 WebNode* node,
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 } 149 }
148 150
149 PrintWebViewHelper::PrintWebViewHelper(RenderView* render_view) 151 PrintWebViewHelper::PrintWebViewHelper(RenderView* render_view)
150 : RenderViewObserver(render_view), 152 : RenderViewObserver(render_view),
151 RenderViewObserverTracker<PrintWebViewHelper>(render_view), 153 RenderViewObserverTracker<PrintWebViewHelper>(render_view),
152 print_web_view_(NULL), 154 print_web_view_(NULL),
153 script_initiated_preview_frame_(NULL), 155 script_initiated_preview_frame_(NULL),
154 context_menu_preview_node_(NULL), 156 context_menu_preview_node_(NULL),
155 user_cancelled_scripted_print_count_(0), 157 user_cancelled_scripted_print_count_(0),
156 notify_browser_of_print_failure_(true), 158 notify_browser_of_print_failure_(true),
157 preview_page_count_(0) { 159 preview_page_count_(0),
160 header_footer_interstice(7.2) {
Lei Zhang 2011/07/12 22:04:50 where does this magical 7.2 value come from?
Aayush Kumar 2011/07/13 21:52:16 Moved declaration of constant to job_constants. On
158 is_preview_ = switches::IsPrintPreviewEnabled(); 161 is_preview_ = switches::IsPrintPreviewEnabled();
159 } 162 }
160 163
161 PrintWebViewHelper::~PrintWebViewHelper() {} 164 PrintWebViewHelper::~PrintWebViewHelper() {}
162 165
163 // Prints |frame| which called window.print(). 166 // Prints |frame| which called window.print().
164 void PrintWebViewHelper::PrintPage(WebKit::WebFrame* frame) { 167 void PrintWebViewHelper::PrintPage(WebKit::WebFrame* frame) {
165 DCHECK(frame); 168 DCHECK(frame);
166 169
167 // Allow Prerendering to cancel this print request if necessary. 170 // Allow Prerendering to cancel this print request if necessary.
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 render_view()->webview()->mainFrame(); 258 render_view()->webview()->mainFrame();
256 return true; 259 return true;
257 } 260 }
258 261
259 void PrintWebViewHelper::OnPrintPages() { 262 void PrintWebViewHelper::OnPrintPages() {
260 WebFrame* frame; 263 WebFrame* frame;
261 if (GetPrintFrame(&frame)) 264 if (GetPrintFrame(&frame))
262 Print(frame, NULL); 265 Print(frame, NULL);
263 } 266 }
264 267
265 void PrintWebViewHelper::OnPrintPreview(const DictionaryValue& settings) { 268 void PrintWebViewHelper::OnPrintPreview(const DictionaryValue& settings,
269 const DictionaryValue& header_footer_info) {
266 DCHECK(is_preview_); 270 DCHECK(is_preview_);
267 DCHECK(!context_menu_preview_node_.get() || !script_initiated_preview_frame_); 271 DCHECK(!context_menu_preview_node_.get() || !script_initiated_preview_frame_);
268 272
273 header_footer_info_ = header_footer_info.DeepCopy();
274
269 if (script_initiated_preview_frame_) { 275 if (script_initiated_preview_frame_) {
270 // Script initiated print preview. 276 // Script initiated print preview.
271 PrintPreview(script_initiated_preview_frame_, NULL, settings); 277 PrintPreview(script_initiated_preview_frame_, NULL, settings);
272 } else if (context_menu_preview_node_.get()) { 278 } else if (context_menu_preview_node_.get()) {
273 // User initiated - print node under context menu. 279 // User initiated - print node under context menu.
274 PrintPreview(context_menu_preview_node_->document().frame(), 280 PrintPreview(context_menu_preview_node_->document().frame(),
275 context_menu_preview_node_.get(), settings); 281 context_menu_preview_node_.get(), settings);
276 } else { 282 } else {
277 // User initiated - normal print preview. 283 // User initiated - normal print preview.
278 WebFrame* frame; 284 WebFrame* frame;
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 Send(new PrintHostMsg_RequestPrintPreview(routing_id())); 814 Send(new PrintHostMsg_RequestPrintPreview(routing_id()));
809 } 815 }
810 816
811 bool PrintWebViewHelper::PreviewPageRendered(int page_number) { 817 bool PrintWebViewHelper::PreviewPageRendered(int page_number) {
812 bool cancel = false; 818 bool cancel = false;
813 Send(new PrintHostMsg_DidPreviewPage(routing_id(), page_number, &cancel)); 819 Send(new PrintHostMsg_DidPreviewPage(routing_id(), page_number, &cancel));
814 if (cancel) 820 if (cancel)
815 notify_browser_of_print_failure_ = false; 821 notify_browser_of_print_failure_ = false;
816 return !cancel; 822 return !cancel;
817 } 823 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698