| 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 <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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |