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

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

Issue 516833002: Removed NativeMetafile and PreviewMetafile typedef as it's always PdfMetafileSkia. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@no_pdf
Patch Set: Thu Aug 28 02:43:23 PDT 2014 Created 6 years, 3 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
OLDNEW
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/printing/print_web_view_helper.h" 5 #include "chrome/renderer/printing/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/command_line.h" 10 #include "base/command_line.h"
11 #include "base/json/json_writer.h" 11 #include "base/json/json_writer.h"
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
15 #include "base/process/process_handle.h" 15 #include "base/process/process_handle.h"
16 #include "base/strings/string_number_conversions.h" 16 #include "base/strings/string_number_conversions.h"
17 #include "base/strings/stringprintf.h" 17 #include "base/strings/stringprintf.h"
18 #include "base/strings/utf_string_conversions.h" 18 #include "base/strings/utf_string_conversions.h"
19 #include "chrome/common/chrome_switches.h" 19 #include "chrome/common/chrome_switches.h"
20 #include "chrome/common/print_messages.h" 20 #include "chrome/common/print_messages.h"
21 #include "chrome/common/render_messages.h" 21 #include "chrome/common/render_messages.h"
22 #include "chrome/grit/browser_resources.h" 22 #include "chrome/grit/browser_resources.h"
23 #include "chrome/renderer/prerender/prerender_helper.h" 23 #include "chrome/renderer/prerender/prerender_helper.h"
24 #include "content/public/common/web_preferences.h" 24 #include "content/public/common/web_preferences.h"
25 #include "content/public/renderer/render_frame.h" 25 #include "content/public/renderer/render_frame.h"
26 #include "content/public/renderer/render_thread.h" 26 #include "content/public/renderer/render_thread.h"
27 #include "content/public/renderer/render_view.h" 27 #include "content/public/renderer/render_view.h"
28 #include "net/base/escape.h" 28 #include "net/base/escape.h"
29 #include "printing/metafile.h" 29 #include "printing/metafile.h"
30 #include "printing/metafile_impl.h" 30 #include "printing/pdf_metafile_skia.h"
31 #include "printing/units.h" 31 #include "printing/units.h"
32 #include "skia/ext/vector_platform_device_skia.h" 32 #include "skia/ext/vector_platform_device_skia.h"
33 #include "third_party/WebKit/public/platform/WebSize.h" 33 #include "third_party/WebKit/public/platform/WebSize.h"
34 #include "third_party/WebKit/public/platform/WebURLRequest.h" 34 #include "third_party/WebKit/public/platform/WebURLRequest.h"
35 #include "third_party/WebKit/public/web/WebConsoleMessage.h" 35 #include "third_party/WebKit/public/web/WebConsoleMessage.h"
36 #include "third_party/WebKit/public/web/WebDocument.h" 36 #include "third_party/WebKit/public/web/WebDocument.h"
37 #include "third_party/WebKit/public/web/WebElement.h" 37 #include "third_party/WebKit/public/web/WebElement.h"
38 #include "third_party/WebKit/public/web/WebFrameClient.h" 38 #include "third_party/WebKit/public/web/WebFrameClient.h"
39 #include "third_party/WebKit/public/web/WebLocalFrame.h" 39 #include "third_party/WebKit/public/web/WebLocalFrame.h"
40 #include "third_party/WebKit/public/web/WebPlugin.h" 40 #include "third_party/WebKit/public/web/WebPlugin.h"
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 } 1132 }
1133 print_preview_context_.Finished(); 1133 print_preview_context_.Finished();
1134 return true; 1134 return true;
1135 } 1135 }
1136 1136
1137 bool PrintWebViewHelper::FinalizePrintReadyDocument() { 1137 bool PrintWebViewHelper::FinalizePrintReadyDocument() {
1138 DCHECK(!is_print_ready_metafile_sent_); 1138 DCHECK(!is_print_ready_metafile_sent_);
1139 print_preview_context_.FinalizePrintReadyDocument(); 1139 print_preview_context_.FinalizePrintReadyDocument();
1140 1140
1141 // Get the size of the resulting metafile. 1141 // Get the size of the resulting metafile.
1142 PreviewMetafile* metafile = print_preview_context_.metafile(); 1142 PdfMetafileSkia* metafile = print_preview_context_.metafile();
1143 uint32 buf_size = metafile->GetDataSize(); 1143 uint32 buf_size = metafile->GetDataSize();
1144 DCHECK_GT(buf_size, 0u); 1144 DCHECK_GT(buf_size, 0u);
1145 1145
1146 PrintHostMsg_DidPreviewDocument_Params preview_params; 1146 PrintHostMsg_DidPreviewDocument_Params preview_params;
1147 preview_params.data_size = buf_size; 1147 preview_params.data_size = buf_size;
1148 preview_params.document_cookie = print_pages_params_->params.document_cookie; 1148 preview_params.document_cookie = print_pages_params_->params.document_cookie;
1149 preview_params.expected_pages_count = 1149 preview_params.expected_pages_count =
1150 print_preview_context_.total_page_count(); 1150 print_preview_context_.total_page_count();
1151 preview_params.modifiable = print_preview_context_.IsModifiable(); 1151 preview_params.modifiable = print_preview_context_.IsModifiable();
1152 preview_params.preview_request_id = 1152 preview_params.preview_request_id =
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
1767 prep_frame_view_.reset(prepared_frame); 1767 prep_frame_view_.reset(prepared_frame);
1768 prep_frame_view_->StartPrinting(); 1768 prep_frame_view_->StartPrinting();
1769 1769
1770 total_page_count_ = prep_frame_view_->GetExpectedPageCount(); 1770 total_page_count_ = prep_frame_view_->GetExpectedPageCount();
1771 if (total_page_count_ == 0) { 1771 if (total_page_count_ == 0) {
1772 LOG(ERROR) << "CreatePreviewDocument got 0 page count"; 1772 LOG(ERROR) << "CreatePreviewDocument got 0 page count";
1773 set_error(PREVIEW_ERROR_ZERO_PAGES); 1773 set_error(PREVIEW_ERROR_ZERO_PAGES);
1774 return false; 1774 return false;
1775 } 1775 }
1776 1776
1777 metafile_.reset(new PreviewMetafile); 1777 metafile_.reset(new PdfMetafileSkia);
1778 if (!metafile_->Init()) { 1778 if (!metafile_->Init()) {
1779 set_error(PREVIEW_ERROR_METAFILE_INIT_FAILED); 1779 set_error(PREVIEW_ERROR_METAFILE_INIT_FAILED);
1780 LOG(ERROR) << "PreviewMetafile Init failed"; 1780 LOG(ERROR) << "PdfMetafileSkia Init failed";
1781 return false; 1781 return false;
1782 } 1782 }
1783 1783
1784 current_page_index_ = 0; 1784 current_page_index_ = 0;
1785 pages_to_render_ = pages; 1785 pages_to_render_ = pages;
1786 // Sort and make unique. 1786 // Sort and make unique.
1787 std::sort(pages_to_render_.begin(), pages_to_render_.end()); 1787 std::sort(pages_to_render_.begin(), pages_to_render_.end());
1788 pages_to_render_.resize(std::unique(pages_to_render_.begin(), 1788 pages_to_render_.resize(std::unique(pages_to_render_.begin(),
1789 pages_to_render_.end()) - 1789 pages_to_render_.end()) -
1790 pages_to_render_.begin()); 1790 pages_to_render_.begin());
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
1935 1935
1936 int PrintWebViewHelper::PrintPreviewContext::total_page_count() const { 1936 int PrintWebViewHelper::PrintPreviewContext::total_page_count() const {
1937 DCHECK(state_ != UNINITIALIZED); 1937 DCHECK(state_ != UNINITIALIZED);
1938 return total_page_count_; 1938 return total_page_count_;
1939 } 1939 }
1940 1940
1941 bool PrintWebViewHelper::PrintPreviewContext::generate_draft_pages() const { 1941 bool PrintWebViewHelper::PrintPreviewContext::generate_draft_pages() const {
1942 return generate_draft_pages_; 1942 return generate_draft_pages_;
1943 } 1943 }
1944 1944
1945 PreviewMetafile* PrintWebViewHelper::PrintPreviewContext::metafile() { 1945 PdfMetafileSkia* PrintWebViewHelper::PrintPreviewContext::metafile() {
1946 DCHECK(IsRendering()); 1946 DCHECK(IsRendering());
1947 return metafile_.get(); 1947 return metafile_.get();
1948 } 1948 }
1949 1949
1950 int PrintWebViewHelper::PrintPreviewContext::last_error() const { 1950 int PrintWebViewHelper::PrintPreviewContext::last_error() const {
1951 return error_; 1951 return error_;
1952 } 1952 }
1953 1953
1954 gfx::Size PrintWebViewHelper::PrintPreviewContext::GetPrintCanvasSize() const { 1954 gfx::Size PrintWebViewHelper::PrintPreviewContext::GetPrintCanvasSize() const {
1955 DCHECK(IsRendering()); 1955 DCHECK(IsRendering());
1956 return prep_frame_view_->GetPrintCanvasSize(); 1956 return prep_frame_view_->GetPrintCanvasSize();
1957 } 1957 }
1958 1958
1959 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { 1959 void PrintWebViewHelper::PrintPreviewContext::ClearContext() {
1960 prep_frame_view_.reset(); 1960 prep_frame_view_.reset();
1961 metafile_.reset(); 1961 metafile_.reset();
1962 pages_to_render_.clear(); 1962 pages_to_render_.clear();
1963 error_ = PREVIEW_ERROR_NONE; 1963 error_ = PREVIEW_ERROR_NONE;
1964 } 1964 }
1965 1965
1966 void PrintWebViewHelper::SetPrintPagesParams( 1966 void PrintWebViewHelper::SetPrintPagesParams(
1967 const PrintMsg_PrintPages_Params& settings) { 1967 const PrintMsg_PrintPages_Params& settings) {
1968 print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings)); 1968 print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings));
1969 Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(), 1969 Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(),
1970 settings.params.document_cookie)); 1970 settings.params.document_cookie));
1971 } 1971 }
1972 1972
1973 } // namespace printing 1973 } // namespace printing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698