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

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 17:07:38 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 1098 matching lines...) Expand 10 before | Expand all | Expand 10 after
1139 } 1139 }
1140 print_preview_context_.Finished(); 1140 print_preview_context_.Finished();
1141 return true; 1141 return true;
1142 } 1142 }
1143 1143
1144 bool PrintWebViewHelper::FinalizePrintReadyDocument() { 1144 bool PrintWebViewHelper::FinalizePrintReadyDocument() {
1145 DCHECK(!is_print_ready_metafile_sent_); 1145 DCHECK(!is_print_ready_metafile_sent_);
1146 print_preview_context_.FinalizePrintReadyDocument(); 1146 print_preview_context_.FinalizePrintReadyDocument();
1147 1147
1148 // Get the size of the resulting metafile. 1148 // Get the size of the resulting metafile.
1149 PreviewMetafile* metafile = print_preview_context_.metafile(); 1149 PdfMetafileSkia* metafile = print_preview_context_.metafile();
1150 uint32 buf_size = metafile->GetDataSize(); 1150 uint32 buf_size = metafile->GetDataSize();
1151 DCHECK_GT(buf_size, 0u); 1151 DCHECK_GT(buf_size, 0u);
1152 1152
1153 PrintHostMsg_DidPreviewDocument_Params preview_params; 1153 PrintHostMsg_DidPreviewDocument_Params preview_params;
1154 preview_params.data_size = buf_size; 1154 preview_params.data_size = buf_size;
1155 preview_params.document_cookie = print_pages_params_->params.document_cookie; 1155 preview_params.document_cookie = print_pages_params_->params.document_cookie;
1156 preview_params.expected_pages_count = 1156 preview_params.expected_pages_count =
1157 print_preview_context_.total_page_count(); 1157 print_preview_context_.total_page_count();
1158 preview_params.modifiable = print_preview_context_.IsModifiable(); 1158 preview_params.modifiable = print_preview_context_.IsModifiable();
1159 preview_params.preview_request_id = 1159 preview_params.preview_request_id =
(...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after
1762 prep_frame_view_.reset(prepared_frame); 1762 prep_frame_view_.reset(prepared_frame);
1763 prep_frame_view_->StartPrinting(); 1763 prep_frame_view_->StartPrinting();
1764 1764
1765 total_page_count_ = prep_frame_view_->GetExpectedPageCount(); 1765 total_page_count_ = prep_frame_view_->GetExpectedPageCount();
1766 if (total_page_count_ == 0) { 1766 if (total_page_count_ == 0) {
1767 LOG(ERROR) << "CreatePreviewDocument got 0 page count"; 1767 LOG(ERROR) << "CreatePreviewDocument got 0 page count";
1768 set_error(PREVIEW_ERROR_ZERO_PAGES); 1768 set_error(PREVIEW_ERROR_ZERO_PAGES);
1769 return false; 1769 return false;
1770 } 1770 }
1771 1771
1772 metafile_.reset(new PreviewMetafile); 1772 metafile_.reset(new PdfMetafileSkia);
1773 if (!metafile_->Init()) { 1773 if (!metafile_->Init()) {
1774 set_error(PREVIEW_ERROR_METAFILE_INIT_FAILED); 1774 set_error(PREVIEW_ERROR_METAFILE_INIT_FAILED);
1775 LOG(ERROR) << "PreviewMetafile Init failed"; 1775 LOG(ERROR) << "PdfMetafileSkia Init failed";
1776 return false; 1776 return false;
1777 } 1777 }
1778 1778
1779 current_page_index_ = 0; 1779 current_page_index_ = 0;
1780 pages_to_render_ = pages; 1780 pages_to_render_ = pages;
1781 // Sort and make unique. 1781 // Sort and make unique.
1782 std::sort(pages_to_render_.begin(), pages_to_render_.end()); 1782 std::sort(pages_to_render_.begin(), pages_to_render_.end());
1783 pages_to_render_.resize(std::unique(pages_to_render_.begin(), 1783 pages_to_render_.resize(std::unique(pages_to_render_.begin(),
1784 pages_to_render_.end()) - 1784 pages_to_render_.end()) -
1785 pages_to_render_.begin()); 1785 pages_to_render_.begin());
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
1930 1930
1931 int PrintWebViewHelper::PrintPreviewContext::total_page_count() const { 1931 int PrintWebViewHelper::PrintPreviewContext::total_page_count() const {
1932 DCHECK(state_ != UNINITIALIZED); 1932 DCHECK(state_ != UNINITIALIZED);
1933 return total_page_count_; 1933 return total_page_count_;
1934 } 1934 }
1935 1935
1936 bool PrintWebViewHelper::PrintPreviewContext::generate_draft_pages() const { 1936 bool PrintWebViewHelper::PrintPreviewContext::generate_draft_pages() const {
1937 return generate_draft_pages_; 1937 return generate_draft_pages_;
1938 } 1938 }
1939 1939
1940 PreviewMetafile* PrintWebViewHelper::PrintPreviewContext::metafile() { 1940 PdfMetafileSkia* PrintWebViewHelper::PrintPreviewContext::metafile() {
1941 DCHECK(IsRendering()); 1941 DCHECK(IsRendering());
1942 return metafile_.get(); 1942 return metafile_.get();
1943 } 1943 }
1944 1944
1945 int PrintWebViewHelper::PrintPreviewContext::last_error() const { 1945 int PrintWebViewHelper::PrintPreviewContext::last_error() const {
1946 return error_; 1946 return error_;
1947 } 1947 }
1948 1948
1949 gfx::Size PrintWebViewHelper::PrintPreviewContext::GetPrintCanvasSize() const { 1949 gfx::Size PrintWebViewHelper::PrintPreviewContext::GetPrintCanvasSize() const {
1950 DCHECK(IsRendering()); 1950 DCHECK(IsRendering());
1951 return prep_frame_view_->GetPrintCanvasSize(); 1951 return prep_frame_view_->GetPrintCanvasSize();
1952 } 1952 }
1953 1953
1954 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { 1954 void PrintWebViewHelper::PrintPreviewContext::ClearContext() {
1955 prep_frame_view_.reset(); 1955 prep_frame_view_.reset();
1956 metafile_.reset(); 1956 metafile_.reset();
1957 pages_to_render_.clear(); 1957 pages_to_render_.clear();
1958 error_ = PREVIEW_ERROR_NONE; 1958 error_ = PREVIEW_ERROR_NONE;
1959 } 1959 }
1960 1960
1961 void PrintWebViewHelper::SetPrintPagesParams( 1961 void PrintWebViewHelper::SetPrintPagesParams(
1962 const PrintMsg_PrintPages_Params& settings) { 1962 const PrintMsg_PrintPages_Params& settings) {
1963 print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings)); 1963 print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings));
1964 Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(), 1964 Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(),
1965 settings.params.document_cookie)); 1965 settings.params.document_cookie));
1966 } 1966 }
1967 1967
1968 } // namespace printing 1968 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/renderer/printing/print_web_view_helper.h ('k') | chrome/renderer/printing/print_web_view_helper_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698