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 "components/printing/renderer/print_web_view_helper.h" | 5 #include "components/printing/renderer/print_web_view_helper.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 margin_left_in_pixels); | 131 margin_left_in_pixels); |
132 } | 132 } |
133 | 133 |
134 int new_content_width = page_size_in_pixels.width - | 134 int new_content_width = page_size_in_pixels.width - |
135 margin_left_in_pixels - margin_right_in_pixels; | 135 margin_left_in_pixels - margin_right_in_pixels; |
136 int new_content_height = page_size_in_pixels.height - | 136 int new_content_height = page_size_in_pixels.height - |
137 margin_top_in_pixels - margin_bottom_in_pixels; | 137 margin_top_in_pixels - margin_bottom_in_pixels; |
138 | 138 |
139 // Invalid page size and/or margins. We just use the default setting. | 139 // Invalid page size and/or margins. We just use the default setting. |
140 if (new_content_width < 1 || new_content_height < 1) { | 140 if (new_content_width < 1 || new_content_height < 1) { |
141 CHECK(frame != NULL); | 141 CHECK(frame); |
142 page_css_params = GetCssPrintParams(NULL, page_index, page_params); | 142 page_css_params = GetCssPrintParams(NULL, page_index, page_params); |
143 return page_css_params; | 143 return page_css_params; |
144 } | 144 } |
145 | 145 |
146 page_css_params.content_size = gfx::Size( | 146 page_css_params.content_size = gfx::Size( |
147 ConvertUnit(new_content_width, kPixelsPerInch, dpi), | 147 ConvertUnit(new_content_width, kPixelsPerInch, dpi), |
148 ConvertUnit(new_content_height, kPixelsPerInch, dpi)); | 148 ConvertUnit(new_content_height, kPixelsPerInch, dpi)); |
149 | 149 |
150 if (original_page_size_in_pixels != page_size_in_pixels) { | 150 if (original_page_size_in_pixels != page_size_in_pixels) { |
151 page_css_params.page_size = gfx::Size( | 151 page_css_params.page_size = gfx::Size( |
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 } | 749 } |
750 } | 750 } |
751 frame_.Reset(NULL); | 751 frame_.Reset(NULL); |
752 on_ready_.Reset(); | 752 on_ready_.Reset(); |
753 } | 753 } |
754 | 754 |
755 PrintWebViewHelper::PrintWebViewHelper( | 755 PrintWebViewHelper::PrintWebViewHelper( |
756 content::RenderView* render_view, | 756 content::RenderView* render_view, |
757 bool out_of_process_pdf_enabled, | 757 bool out_of_process_pdf_enabled, |
758 bool print_preview_disabled, | 758 bool print_preview_disabled, |
| 759 bool scripted_print_blocked, |
759 scoped_ptr<Delegate> delegate) | 760 scoped_ptr<Delegate> delegate) |
760 : content::RenderViewObserver(render_view), | 761 : content::RenderViewObserver(render_view), |
761 content::RenderViewObserverTracker<PrintWebViewHelper>(render_view), | 762 content::RenderViewObserverTracker<PrintWebViewHelper>(render_view), |
762 reset_prep_frame_view_(false), | 763 reset_prep_frame_view_(false), |
763 is_print_ready_metafile_sent_(false), | 764 is_print_ready_metafile_sent_(false), |
764 ignore_css_margins_(false), | 765 ignore_css_margins_(false), |
765 is_scripted_printing_blocked_(false), | 766 is_scripted_printing_blocked_(scripted_print_blocked), |
766 notify_browser_of_print_failure_(true), | 767 notify_browser_of_print_failure_(true), |
767 print_for_preview_(false), | 768 print_for_preview_(false), |
768 out_of_process_pdf_enabled_(out_of_process_pdf_enabled), | 769 out_of_process_pdf_enabled_(out_of_process_pdf_enabled), |
769 delegate_(delegate.Pass()), | 770 delegate_(delegate.Pass()), |
770 print_node_in_progress_(false), | 771 print_node_in_progress_(false), |
771 is_loading_(false), | 772 is_loading_(false), |
772 is_scripted_preview_delayed_(false), | 773 is_scripted_preview_delayed_(false), |
773 weak_ptr_factory_(this) { | 774 weak_ptr_factory_(this) { |
774 if (print_preview_disabled) | 775 if (print_preview_disabled) |
775 DisablePreview(); | 776 DisablePreview(); |
(...skipping 1141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1917 DCHECK_EQ(INITIALIZED, state_); | 1918 DCHECK_EQ(INITIALIZED, state_); |
1918 generate_draft_pages_ = generate_draft_pages; | 1919 generate_draft_pages_ = generate_draft_pages; |
1919 } | 1920 } |
1920 | 1921 |
1921 void PrintWebViewHelper::PrintPreviewContext::set_error( | 1922 void PrintWebViewHelper::PrintPreviewContext::set_error( |
1922 enum PrintPreviewErrorBuckets error) { | 1923 enum PrintPreviewErrorBuckets error) { |
1923 error_ = error; | 1924 error_ = error; |
1924 } | 1925 } |
1925 | 1926 |
1926 blink::WebLocalFrame* PrintWebViewHelper::PrintPreviewContext::source_frame() { | 1927 blink::WebLocalFrame* PrintWebViewHelper::PrintPreviewContext::source_frame() { |
1927 DCHECK(state_ != UNINITIALIZED); | 1928 DCHECK_NE(UNINITIALIZED, state_); |
1928 return source_frame_.GetFrame(); | 1929 return source_frame_.GetFrame(); |
1929 } | 1930 } |
1930 | 1931 |
1931 const blink::WebNode& | 1932 const blink::WebNode& |
1932 PrintWebViewHelper::PrintPreviewContext::source_node() const { | 1933 PrintWebViewHelper::PrintPreviewContext::source_node() const { |
1933 DCHECK(state_ != UNINITIALIZED); | 1934 DCHECK_NE(UNINITIALIZED, state_); |
1934 return source_node_; | 1935 return source_node_; |
1935 } | 1936 } |
1936 | 1937 |
1937 blink::WebLocalFrame* | 1938 blink::WebLocalFrame* |
1938 PrintWebViewHelper::PrintPreviewContext::prepared_frame() { | 1939 PrintWebViewHelper::PrintPreviewContext::prepared_frame() { |
1939 DCHECK(state_ != UNINITIALIZED); | 1940 DCHECK_NE(UNINITIALIZED, state_); |
1940 return prep_frame_view_->frame(); | 1941 return prep_frame_view_->frame(); |
1941 } | 1942 } |
1942 | 1943 |
1943 const blink::WebNode& | 1944 const blink::WebNode& |
1944 PrintWebViewHelper::PrintPreviewContext::prepared_node() const { | 1945 PrintWebViewHelper::PrintPreviewContext::prepared_node() const { |
1945 DCHECK(state_ != UNINITIALIZED); | 1946 DCHECK_NE(UNINITIALIZED, state_); |
1946 return prep_frame_view_->node(); | 1947 return prep_frame_view_->node(); |
1947 } | 1948 } |
1948 | 1949 |
1949 int PrintWebViewHelper::PrintPreviewContext::total_page_count() const { | 1950 int PrintWebViewHelper::PrintPreviewContext::total_page_count() const { |
1950 DCHECK(state_ != UNINITIALIZED); | 1951 DCHECK_NE(UNINITIALIZED, state_); |
1951 return total_page_count_; | 1952 return total_page_count_; |
1952 } | 1953 } |
1953 | 1954 |
1954 bool PrintWebViewHelper::PrintPreviewContext::generate_draft_pages() const { | 1955 bool PrintWebViewHelper::PrintPreviewContext::generate_draft_pages() const { |
1955 return generate_draft_pages_; | 1956 return generate_draft_pages_; |
1956 } | 1957 } |
1957 | 1958 |
1958 PdfMetafileSkia* PrintWebViewHelper::PrintPreviewContext::metafile() { | 1959 PdfMetafileSkia* PrintWebViewHelper::PrintPreviewContext::metafile() { |
1959 DCHECK(IsRendering()); | 1960 DCHECK(IsRendering()); |
1960 return metafile_.get(); | 1961 return metafile_.get(); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2017 blink::WebConsoleMessage::LevelWarning, message)); | 2018 blink::WebConsoleMessage::LevelWarning, message)); |
2018 return false; | 2019 return false; |
2019 } | 2020 } |
2020 | 2021 |
2021 void PrintWebViewHelper::ScriptingThrottler::Reset() { | 2022 void PrintWebViewHelper::ScriptingThrottler::Reset() { |
2022 // Reset counter on successful print. | 2023 // Reset counter on successful print. |
2023 count_ = 0; | 2024 count_ = 0; |
2024 } | 2025 } |
2025 | 2026 |
2026 } // namespace printing | 2027 } // namespace printing |
OLD | NEW |