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

Side by Side Diff: chrome/browser/printing/print_job.cc

Issue 2640033005: Substitute boolean GDI printing for a mode type (Closed)
Patch Set: Fix nits Created 3 years, 11 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/browser/printing/print_job.h" 5 #include "chrome/browser/printing/print_job.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 std::unique_ptr<PdfConverter> converter) 229 std::unique_ptr<PdfConverter> converter)
230 : page_count_(0), 230 : page_count_(0),
231 current_page_(0), 231 current_page_(0),
232 pages_in_progress_(0), 232 pages_in_progress_(0),
233 page_size_(page_size), 233 page_size_(page_size),
234 content_area_(content_area), 234 content_area_(content_area),
235 converter_(std::move(converter)) {} 235 converter_(std::move(converter)) {}
236 236
237 void Start(const scoped_refptr<base::RefCountedMemory>& data, 237 void Start(const scoped_refptr<base::RefCountedMemory>& data,
238 const PdfRenderSettings& conversion_settings, 238 const PdfRenderSettings& conversion_settings,
239 bool print_text_with_gdi,
240 const PdfConverter::StartCallback& start_callback) { 239 const PdfConverter::StartCallback& start_callback) {
241 converter_->Start(data, conversion_settings, print_text_with_gdi, 240 converter_->Start(data, conversion_settings, start_callback);
242 start_callback);
243 } 241 }
244 242
245 void GetMorePages(const PdfConverter::GetPageCallback& get_page_callback) { 243 void GetMorePages(const PdfConverter::GetPageCallback& get_page_callback) {
246 const int kMaxNumberOfTempFilesPerDocument = 3; 244 const int kMaxNumberOfTempFilesPerDocument = 3;
247 while (pages_in_progress_ < kMaxNumberOfTempFilesPerDocument && 245 while (pages_in_progress_ < kMaxNumberOfTempFilesPerDocument &&
248 current_page_ < page_count_) { 246 current_page_ < page_count_) {
249 ++pages_in_progress_; 247 ++pages_in_progress_;
250 converter_->GetPage(current_page_++, get_page_callback); 248 converter_->GetPage(current_page_++, get_page_callback);
251 } 249 }
252 } 250 }
(...skipping 26 matching lines...) Expand all
279 void PrintJob::StartPdfToEmfConversion( 277 void PrintJob::StartPdfToEmfConversion(
280 const scoped_refptr<base::RefCountedMemory>& bytes, 278 const scoped_refptr<base::RefCountedMemory>& bytes,
281 const gfx::Size& page_size, 279 const gfx::Size& page_size,
282 const gfx::Rect& content_area, 280 const gfx::Rect& content_area,
283 bool print_text_with_gdi) { 281 bool print_text_with_gdi) {
284 DCHECK(!pdf_conversion_state_); 282 DCHECK(!pdf_conversion_state_);
285 pdf_conversion_state_ = 283 pdf_conversion_state_ =
286 base::MakeUnique<PdfConversionState>(page_size, content_area, 284 base::MakeUnique<PdfConversionState>(page_size, content_area,
287 PdfConverter::CreatePdfToEmfConverter()); 285 PdfConverter::CreatePdfToEmfConverter());
288 const int kPrinterDpi = settings().dpi(); 286 const int kPrinterDpi = settings().dpi();
289 PdfRenderSettings settings(content_area, kPrinterDpi, true /* autorotate? */); 287 PdfRenderSettings settings(
288 content_area, kPrinterDpi, /*autorotate=*/true,
289 print_text_with_gdi ? PdfRenderSettings::Mode::GDI_TEXT
290 : PdfRenderSettings::Mode::NORMAL);
290 pdf_conversion_state_->Start( 291 pdf_conversion_state_->Start(
291 bytes, settings, print_text_with_gdi, 292 bytes, settings,
292 base::Bind(&PrintJob::OnPdfConversionStarted, this)); 293 base::Bind(&PrintJob::OnPdfConversionStarted, this));
293 } 294 }
294 295
295 void PrintJob::OnPdfConversionStarted(int page_count) { 296 void PrintJob::OnPdfConversionStarted(int page_count) {
296 if (page_count <= 0) { 297 if (page_count <= 0) {
297 pdf_conversion_state_.reset(); 298 pdf_conversion_state_.reset();
298 Cancel(); 299 Cancel();
299 return; 300 return;
300 } 301 }
301 pdf_conversion_state_->set_page_count(page_count); 302 pdf_conversion_state_->set_page_count(page_count);
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 } 461 }
461 462
462 JobEventDetails::~JobEventDetails() { 463 JobEventDetails::~JobEventDetails() {
463 } 464 }
464 465
465 PrintedDocument* JobEventDetails::document() const { return document_.get(); } 466 PrintedDocument* JobEventDetails::document() const { return document_.get(); }
466 467
467 PrintedPage* JobEventDetails::page() const { return page_.get(); } 468 PrintedPage* JobEventDetails::page() const { return page_.get(); }
468 469
469 } // namespace printing 470 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/pdf_to_emf_converter.cc ('k') | chrome/browser/printing/print_preview_pdf_generated_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698