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

Side by Side Diff: chrome/service/cloud_print/print_system_win.cc

Issue 2713023005: Fix some nits from r447440. (Closed)
Patch Set: rebase, git cl format Created 3 years, 8 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
« no previous file with comments | « chrome/common/chrome_features.cc ('k') | chrome/utility/printing_handler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/service/cloud_print/print_system.h" 5 #include "chrome/service/cloud_print/print_system.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 DCHECK(CurrentlyOnServiceIOThread()); 438 DCHECK(CurrentlyOnServiceIOThread());
439 std::unique_ptr<ServiceUtilityProcessHost> utility_host( 439 std::unique_ptr<ServiceUtilityProcessHost> utility_host(
440 new ServiceUtilityProcessHost(this, client_task_runner.get())); 440 new ServiceUtilityProcessHost(this, client_task_runner.get()));
441 // TODO(gene): For now we disabling autorotation for CloudPrinting. 441 // TODO(gene): For now we disabling autorotation for CloudPrinting.
442 // Landscape/Portrait setting is passed in the print ticket and 442 // Landscape/Portrait setting is passed in the print ticket and
443 // server is generating portrait PDF always. 443 // server is generating portrait PDF always.
444 // We should enable autorotation once server will be able to generate 444 // We should enable autorotation once server will be able to generate
445 // PDF that matches paper size and orientation. 445 // PDF that matches paper size and orientation.
446 if (utility_host->StartRenderPDFPagesToMetafile( 446 if (utility_host->StartRenderPDFPagesToMetafile(
447 pdf_path, printing::PdfRenderSettings( 447 pdf_path, printing::PdfRenderSettings(
448 render_area, gfx::Point(0,0), render_dpi, 448 render_area, gfx::Point(0, 0), render_dpi,
449 /*autorotate=*/false, 449 /*autorotate=*/false,
450 printing::PdfRenderSettings::Mode::NORMAL))) { 450 printing::PdfRenderSettings::Mode::NORMAL))) {
451 // The object will self-destruct when the child process dies. 451 // The object will self-destruct when the child process dies.
452 ignore_result(utility_host.release()); 452 ignore_result(utility_host.release());
453 } else { 453 } else {
454 client_task_runner->PostTask( 454 client_task_runner->PostTask(
455 FROM_HERE, base::Bind(&Core::PrintJobDone, this, false)); 455 FROM_HERE, base::Bind(&Core::PrintJobDone, this, false));
456 } 456 }
457 } 457 }
458 458
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 kPTJobScope, 749 kPTJobScope,
750 result_ticket_stream.get(), 750 result_ticket_stream.get(),
751 error.Receive())); 751 error.Receive()));
752 printing::XPSModule::CloseProvider(provider); 752 printing::XPSModule::CloseProvider(provider);
753 } 753 }
754 return ret; 754 return ret;
755 } 755 }
756 756
757 bool PrintSystemWin::GetJobDetails(const std::string& printer_name, 757 bool PrintSystemWin::GetJobDetails(const std::string& printer_name,
758 PlatformJobId job_id, 758 PlatformJobId job_id,
759 PrintJobDetails *job_details) { 759 PrintJobDetails* job_details) {
760 crash_keys::ScopedPrinterInfo crash_key( 760 crash_keys::ScopedPrinterInfo crash_key(
761 print_backend_->GetPrinterDriverInfo(printer_name)); 761 print_backend_->GetPrinterDriverInfo(printer_name));
762 DCHECK(job_details); 762 DCHECK(job_details);
763 printing::ScopedPrinterHandle printer_handle; 763 printing::ScopedPrinterHandle printer_handle;
764 std::wstring printer_name_wide = base::UTF8ToWide(printer_name); 764 std::wstring printer_name_wide = base::UTF8ToWide(printer_name);
765 printer_handle.OpenPrinter(printer_name_wide.c_str()); 765 printer_handle.OpenPrinter(printer_name_wide.c_str());
766 DCHECK(printer_handle.IsValid()); 766 DCHECK(printer_handle.IsValid());
767 bool ret = false; 767 bool ret = false;
768 if (printer_handle.IsValid()) { 768 if (printer_handle.IsValid()) {
769 DWORD bytes_needed = 0; 769 DWORD bytes_needed = 0;
770 GetJob(printer_handle.Get(), job_id, 1, NULL, 0, &bytes_needed); 770 GetJob(printer_handle.Get(), job_id, 1, NULL, 0, &bytes_needed);
771 DWORD last_error = GetLastError(); 771 DWORD last_error = GetLastError();
772 if (ERROR_INVALID_PARAMETER != last_error) { 772 if (ERROR_INVALID_PARAMETER != last_error) {
773 // ERROR_INVALID_PARAMETER normally means that the job id is not valid. 773 // ERROR_INVALID_PARAMETER normally means that the job id is not valid.
774 DCHECK(last_error == ERROR_INSUFFICIENT_BUFFER); 774 DCHECK(last_error == ERROR_INSUFFICIENT_BUFFER);
775 std::unique_ptr<BYTE[]> job_info_buffer(new BYTE[bytes_needed]); 775 std::unique_ptr<BYTE[]> job_info_buffer(new BYTE[bytes_needed]);
776 if (GetJob(printer_handle.Get(), job_id, 1, job_info_buffer.get(), 776 if (GetJob(printer_handle.Get(), job_id, 1, job_info_buffer.get(),
777 bytes_needed, &bytes_needed)) { 777 bytes_needed, &bytes_needed)) {
778 JOB_INFO_1 *job_info = 778 JOB_INFO_1* job_info =
779 reinterpret_cast<JOB_INFO_1 *>(job_info_buffer.get()); 779 reinterpret_cast<JOB_INFO_1*>(job_info_buffer.get());
780 if (job_info->pStatus) { 780 if (job_info->pStatus) {
781 base::WideToUTF8(job_info->pStatus, wcslen(job_info->pStatus), 781 base::WideToUTF8(job_info->pStatus, wcslen(job_info->pStatus),
782 &job_details->status_message); 782 &job_details->status_message);
783 } 783 }
784 job_details->platform_status_flags = job_info->Status; 784 job_details->platform_status_flags = job_info->Status;
785 if ((job_info->Status & JOB_STATUS_COMPLETE) || 785 if ((job_info->Status & JOB_STATUS_COMPLETE) ||
786 (job_info->Status & JOB_STATUS_PRINTED)) { 786 (job_info->Status & JOB_STATUS_PRINTED)) {
787 job_details->status = PRINT_JOB_STATUS_COMPLETED; 787 job_details->status = PRINT_JOB_STATUS_COMPLETED;
788 } else if (job_info->Status & JOB_STATUS_ERROR) { 788 } else if (job_info->Status & JOB_STATUS_ERROR) {
789 job_details->status = PRINT_JOB_STATUS_ERROR; 789 job_details->status = PRINT_JOB_STATUS_ERROR;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 } 834 }
835 835
836 } // namespace 836 } // namespace
837 837
838 scoped_refptr<PrintSystem> PrintSystem::CreateInstance( 838 scoped_refptr<PrintSystem> PrintSystem::CreateInstance(
839 const base::DictionaryValue* print_system_settings) { 839 const base::DictionaryValue* print_system_settings) {
840 return new PrintSystemWin; 840 return new PrintSystemWin;
841 } 841 }
842 842
843 } // namespace cloud_print 843 } // namespace cloud_print
OLDNEW
« no previous file with comments | « chrome/common/chrome_features.cc ('k') | chrome/utility/printing_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698