OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |