| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "printing/printing_context_win.h" | 5 #include "printing/printing_context_win.h" |
| 6 | 6 |
| 7 #include <winspool.h> | 7 #include <winspool.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 DM_IN_BUFFER | DM_OUT_BUFFER) != IDOK) { | 387 DM_IN_BUFFER | DM_OUT_BUFFER) != IDOK) { |
| 388 ClosePrinter(printer); | 388 ClosePrinter(printer); |
| 389 return OnError(); | 389 return OnError(); |
| 390 } | 390 } |
| 391 | 391 |
| 392 // Set printer then refresh printer settings. | 392 // Set printer then refresh printer settings. |
| 393 if (!AllocateContext(device_name, dev_mode, &context_)) { | 393 if (!AllocateContext(device_name, dev_mode, &context_)) { |
| 394 ClosePrinter(printer); | 394 ClosePrinter(printer); |
| 395 return OnError(); | 395 return OnError(); |
| 396 } | 396 } |
| 397 |
| 398 DictionaryValue header_footer_info; |
| 399 GetHeaderFooterInfo(job_settings, &header_footer_info); |
| 400 |
| 397 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, | 401 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, |
| 398 ranges, device_name, | 402 ranges, device_name, |
| 399 false, &settings_); | 403 false, header_footer_info, |
| 404 &settings_); |
| 400 ClosePrinter(printer); | 405 ClosePrinter(printer); |
| 401 return OK; | 406 return OK; |
| 402 } | 407 } |
| 403 | 408 |
| 404 PrintingContext::Result PrintingContextWin::InitWithSettings( | 409 PrintingContext::Result PrintingContextWin::InitWithSettings( |
| 405 const PrintSettings& settings) { | 410 const PrintSettings& settings) { |
| 406 DCHECK(!in_print_job_); | 411 DCHECK(!in_print_job_); |
| 407 | 412 |
| 408 settings_ = settings; | 413 settings_ = settings; |
| 409 | 414 |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 ranges_vector.reserve(number_ranges); | 581 ranges_vector.reserve(number_ranges); |
| 577 for (int i = 0; i < number_ranges; ++i) { | 582 for (int i = 0; i < number_ranges; ++i) { |
| 578 PageRange range; | 583 PageRange range; |
| 579 // Transfer from 1-based to 0-based. | 584 // Transfer from 1-based to 0-based. |
| 580 range.from = ranges[i].nFromPage - 1; | 585 range.from = ranges[i].nFromPage - 1; |
| 581 range.to = ranges[i].nToPage - 1; | 586 range.to = ranges[i].nToPage - 1; |
| 582 ranges_vector.push_back(range); | 587 ranges_vector.push_back(range); |
| 583 } | 588 } |
| 584 } | 589 } |
| 585 | 590 |
| 591 DictionaryValue header_footer_info; |
| 592 header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled, |
| 593 false); |
| 586 PrintSettingsInitializerWin::InitPrintSettings(context_, | 594 PrintSettingsInitializerWin::InitPrintSettings(context_, |
| 587 dev_mode, | 595 dev_mode, |
| 588 ranges_vector, | 596 ranges_vector, |
| 589 new_device_name, | 597 new_device_name, |
| 590 selection_only, | 598 selection_only, |
| 599 header_footer_info, |
| 591 &settings_); | 600 &settings_); |
| 592 | 601 |
| 593 return true; | 602 return true; |
| 594 } | 603 } |
| 595 | 604 |
| 596 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, | 605 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, |
| 597 const std::wstring& device_name) { | 606 const std::wstring& device_name) { |
| 598 DCHECK(!in_print_job_); | 607 DCHECK(!in_print_job_); |
| 599 scoped_array<uint8> buffer; | 608 scoped_array<uint8> buffer; |
| 600 int level = 0; | 609 int level = 0; |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 756 if (buf_size) { | 765 if (buf_size) { |
| 757 buffer->reset(new uint8[buf_size]); | 766 buffer->reset(new uint8[buf_size]); |
| 758 memset(buffer->get(), 0, buf_size); | 767 memset(buffer->get(), 0, buf_size); |
| 759 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { | 768 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { |
| 760 buffer->reset(); | 769 buffer->reset(); |
| 761 } | 770 } |
| 762 } | 771 } |
| 763 } | 772 } |
| 764 | 773 |
| 765 } // namespace printing | 774 } // namespace printing |
| OLD | NEW |