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

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

Issue 2064843002: PdfMetafileSkia: start supporting more document types. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 2016-06-15 (Wednesday) 10:43:48 EDT Created 4 years, 6 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 "components/printing/renderer/print_web_view_helper.h" 5 #include "components/printing/renderer/print_web_view_helper.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 #if !defined(OS_MACOSX) && defined(ENABLE_PRINT_PREVIEW) 1242 #if !defined(OS_MACOSX) && defined(ENABLE_PRINT_PREVIEW)
1243 bool PrintWebViewHelper::RenderPreviewPage( 1243 bool PrintWebViewHelper::RenderPreviewPage(
1244 int page_number, 1244 int page_number,
1245 const PrintMsg_Print_Params& print_params) { 1245 const PrintMsg_Print_Params& print_params) {
1246 PrintMsg_PrintPage_Params page_params; 1246 PrintMsg_PrintPage_Params page_params;
1247 page_params.params = print_params; 1247 page_params.params = print_params;
1248 page_params.page_number = page_number; 1248 page_params.page_number = page_number;
1249 std::unique_ptr<PdfMetafileSkia> draft_metafile; 1249 std::unique_ptr<PdfMetafileSkia> draft_metafile;
1250 PdfMetafileSkia* initial_render_metafile = print_preview_context_.metafile(); 1250 PdfMetafileSkia* initial_render_metafile = print_preview_context_.metafile();
1251 if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) { 1251 if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) {
1252 draft_metafile.reset(new PdfMetafileSkia); 1252 draft_metafile.reset(new PdfMetafileSkia(PDF_SKIA_DOCUMENT_TYPE));
1253 initial_render_metafile = draft_metafile.get(); 1253 initial_render_metafile = draft_metafile.get();
1254 } 1254 }
1255 1255
1256 base::TimeTicks begin_time = base::TimeTicks::Now(); 1256 base::TimeTicks begin_time = base::TimeTicks::Now();
1257 PrintPageInternal(page_params, print_preview_context_.prepared_frame(), 1257 PrintPageInternal(page_params, print_preview_context_.prepared_frame(),
1258 initial_render_metafile, nullptr, nullptr); 1258 initial_render_metafile, nullptr, nullptr);
1259 print_preview_context_.RenderedPreviewPage( 1259 print_preview_context_.RenderedPreviewPage(
1260 base::TimeTicks::Now() - begin_time); 1260 base::TimeTicks::Now() - begin_time);
1261 if (draft_metafile.get()) { 1261 if (draft_metafile.get()) {
1262 draft_metafile->FinishDocument(); 1262 draft_metafile->FinishDocument();
1263 } else if (print_preview_context_.IsModifiable() && 1263 } else if (print_preview_context_.IsModifiable() &&
1264 print_preview_context_.generate_draft_pages()) { 1264 print_preview_context_.generate_draft_pages()) {
1265 DCHECK(!draft_metafile.get()); 1265 DCHECK(!draft_metafile.get());
1266 draft_metafile = 1266 draft_metafile =
1267 print_preview_context_.metafile()->GetMetafileForCurrentPage(); 1267 print_preview_context_.metafile()->GetMetafileForCurrentPage(
1268 PDF_SKIA_DOCUMENT_TYPE);
1268 } 1269 }
1269 return PreviewPageRendered(page_number, draft_metafile.get()); 1270 return PreviewPageRendered(page_number, draft_metafile.get());
1270 } 1271 }
1271 #endif // !defined(OS_MACOSX) && defined(ENABLE_PRINT_PREVIEW) 1272 #endif // !defined(OS_MACOSX) && defined(ENABLE_PRINT_PREVIEW)
1272 1273
1273 bool PrintWebViewHelper::FinalizePrintReadyDocument() { 1274 bool PrintWebViewHelper::FinalizePrintReadyDocument() {
1274 DCHECK(!is_print_ready_metafile_sent_); 1275 DCHECK(!is_print_ready_metafile_sent_);
1275 print_preview_context_.FinalizePrintReadyDocument(); 1276 print_preview_context_.FinalizePrintReadyDocument();
1276 1277
1277 PdfMetafileSkia* metafile = print_preview_context_.metafile(); 1278 PdfMetafileSkia* metafile = print_preview_context_.metafile();
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
2016 prep_frame_view_.reset(prepared_frame); 2017 prep_frame_view_.reset(prepared_frame);
2017 prep_frame_view_->StartPrinting(); 2018 prep_frame_view_->StartPrinting();
2018 2019
2019 total_page_count_ = prep_frame_view_->GetExpectedPageCount(); 2020 total_page_count_ = prep_frame_view_->GetExpectedPageCount();
2020 if (total_page_count_ == 0) { 2021 if (total_page_count_ == 0) {
2021 LOG(ERROR) << "CreatePreviewDocument got 0 page count"; 2022 LOG(ERROR) << "CreatePreviewDocument got 0 page count";
2022 set_error(PREVIEW_ERROR_ZERO_PAGES); 2023 set_error(PREVIEW_ERROR_ZERO_PAGES);
2023 return false; 2024 return false;
2024 } 2025 }
2025 2026
2026 metafile_.reset(new PdfMetafileSkia); 2027 metafile_.reset(new PdfMetafileSkia(PDF_SKIA_DOCUMENT_TYPE));
2027 CHECK(metafile_->Init()); 2028 CHECK(metafile_->Init());
2028 2029
2029 current_page_index_ = 0; 2030 current_page_index_ = 0;
2030 pages_to_render_ = pages; 2031 pages_to_render_ = pages;
2031 // Sort and make unique. 2032 // Sort and make unique.
2032 std::sort(pages_to_render_.begin(), pages_to_render_.end()); 2033 std::sort(pages_to_render_.begin(), pages_to_render_.end());
2033 pages_to_render_.resize( 2034 pages_to_render_.resize(
2034 std::unique(pages_to_render_.begin(), pages_to_render_.end()) - 2035 std::unique(pages_to_render_.begin(), pages_to_render_.end()) -
2035 pages_to_render_.begin()); 2036 pages_to_render_.begin());
2036 // Remove invalid pages. 2037 // Remove invalid pages.
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
2249 blink::WebConsoleMessage::LevelWarning, message)); 2250 blink::WebConsoleMessage::LevelWarning, message));
2250 return false; 2251 return false;
2251 } 2252 }
2252 2253
2253 void PrintWebViewHelper::ScriptingThrottler::Reset() { 2254 void PrintWebViewHelper::ScriptingThrottler::Reset() {
2254 // Reset counter on successful print. 2255 // Reset counter on successful print.
2255 count_ = 0; 2256 count_ = 0;
2256 } 2257 }
2257 2258
2258 } // namespace printing 2259 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_view_manager_base.cc ('k') | components/printing/renderer/print_web_view_helper_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698