OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
658 PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view) | 658 PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view) |
659 : content::RenderViewObserver(render_view), | 659 : content::RenderViewObserver(render_view), |
660 content::RenderViewObserverTracker<PrintWebViewHelper>(render_view), | 660 content::RenderViewObserverTracker<PrintWebViewHelper>(render_view), |
661 print_web_view_(NULL), | 661 print_web_view_(NULL), |
662 is_preview_enabled_(IsPrintPreviewEnabled()), | 662 is_preview_enabled_(IsPrintPreviewEnabled()), |
663 is_print_ready_metafile_sent_(false), | 663 is_print_ready_metafile_sent_(false), |
664 ignore_css_margins_(false), | 664 ignore_css_margins_(false), |
665 fit_to_page_(true), | 665 fit_to_page_(true), |
666 user_cancelled_scripted_print_count_(0), | 666 user_cancelled_scripted_print_count_(0), |
667 is_scripted_printing_blocked_(false), | 667 is_scripted_printing_blocked_(false), |
668 notify_browser_of_print_failure_(true) { | 668 notify_browser_of_print_failure_(true), |
669 printing_from_preview_(false) { | |
669 } | 670 } |
670 | 671 |
671 PrintWebViewHelper::~PrintWebViewHelper() {} | 672 PrintWebViewHelper::~PrintWebViewHelper() {} |
672 | 673 |
673 bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed( | 674 bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed( |
674 WebKit::WebFrame* frame) { | 675 WebKit::WebFrame* frame) { |
675 if (is_scripted_printing_blocked_) | 676 if (is_scripted_printing_blocked_) |
676 return false; | 677 return false; |
677 return !IsScriptInitiatedPrintTooFrequent(frame); | 678 return !IsScriptInitiatedPrintTooFrequent(frame); |
678 } | 679 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
744 } | 745 } |
745 | 746 |
746 WebFrame* pdf_frame = pdf_element.document().frame(); | 747 WebFrame* pdf_frame = pdf_element.document().frame(); |
747 if (!UpdatePrintSettings(pdf_frame, pdf_element, job_settings, true)) { | 748 if (!UpdatePrintSettings(pdf_frame, pdf_element, job_settings, true)) { |
748 LOG(ERROR) << "UpdatePrintSettings failed"; | 749 LOG(ERROR) << "UpdatePrintSettings failed"; |
749 DidFinishPrinting(FAIL_PRINT); | 750 DidFinishPrinting(FAIL_PRINT); |
750 return; | 751 return; |
751 } | 752 } |
752 | 753 |
753 // Render Pages for printing. | 754 // Render Pages for printing. |
755 printing_from_preview_ = true; | |
Lei Zhang
2012/04/13 21:49:18
Do you want to move this up to line 746 and get ri
gene
2012/04/13 22:11:02
I am using AutoReset now and move up as suggested.
| |
754 if (!RenderPagesForPrint(pdf_frame, pdf_element)) { | 756 if (!RenderPagesForPrint(pdf_frame, pdf_element)) { |
755 LOG(ERROR) << "RenderPagesForPrint failed"; | 757 LOG(ERROR) << "RenderPagesForPrint failed"; |
756 DidFinishPrinting(FAIL_PRINT); | 758 DidFinishPrinting(FAIL_PRINT); |
757 } | 759 } |
760 printing_from_preview_ = false; | |
758 } | 761 } |
759 | 762 |
760 bool PrintWebViewHelper::GetPrintFrame(WebKit::WebFrame** frame) { | 763 bool PrintWebViewHelper::GetPrintFrame(WebKit::WebFrame** frame) { |
761 DCHECK(frame); | 764 DCHECK(frame); |
762 DCHECK(render_view()->GetWebView()); | 765 DCHECK(render_view()->GetWebView()); |
763 if (!render_view()->GetWebView()) | 766 if (!render_view()->GetWebView()) |
764 return false; | 767 return false; |
765 | 768 |
766 // If the user has selected text in the currently focused frame we print | 769 // If the user has selected text in the currently focused frame we print |
767 // only that frame (this makes print selection work for multiple frames). | 770 // only that frame (this makes print selection work for multiple frames). |
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1812 DCHECK(IsRendering()); | 1815 DCHECK(IsRendering()); |
1813 return prep_frame_view_->GetPrintCanvasSize(); | 1816 return prep_frame_view_->GetPrintCanvasSize(); |
1814 } | 1817 } |
1815 | 1818 |
1816 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { | 1819 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { |
1817 prep_frame_view_.reset(); | 1820 prep_frame_view_.reset(); |
1818 metafile_.reset(); | 1821 metafile_.reset(); |
1819 pages_to_render_.clear(); | 1822 pages_to_render_.clear(); |
1820 error_ = PREVIEW_ERROR_NONE; | 1823 error_ = PREVIEW_ERROR_NONE; |
1821 } | 1824 } |
OLD | NEW |