Chromium Code Reviews| Index: printing/printed_document.cc |
| diff --git a/printing/printed_document.cc b/printing/printed_document.cc |
| index 76860550e4e582f0edf9d68d0fe835bd0ca63424..3a350b0e388126485d57a51183c5d149e537bfdd 100644 |
| --- a/printing/printed_document.cc |
| +++ b/printing/printed_document.cc |
| @@ -46,16 +46,23 @@ namespace printing { |
| PrintedDocument::PrintedDocument(const PrintSettings& settings, |
| PrintedPagesSource* source, |
| + Delegate* delegate, |
| int cookie) |
| : mutable_(source), |
| - immutable_(settings, source, cookie) { |
| + immutable_(settings, source, delegate, cookie) { |
| +#if !defined(OS_WIN) |
| + DCHECK(immutable_.delegate_ == NULL) << |
| + "Delegate is only supported on Windows for now"; |
|
Albert Bodenhamer
2012/06/15 18:41:24
Is there any reason you need this? The basic dele
MAD
2012/06/19 14:24:10
Yeah, I wanted to avoid people trying to use it on
MAD
2012/06/28 15:48:14
Done.
|
| +#endif |
| // Records the expected page count if a range is setup. |
| if (!settings.ranges.empty()) { |
| // If there is a range, set the number of page |
| for (unsigned i = 0; i < settings.ranges.size(); ++i) { |
| const PageRange& range = settings.ranges[i]; |
| mutable_.expected_page_count_ += range.to - range.from + 1; |
| + if (immutable_.delegate_) |
| + immutable_.delegate_->SetPageCount(mutable_.expected_page_count_); |
| } |
| } |
| } |
| @@ -155,6 +162,8 @@ void PrintedDocument::set_page_count(int max_page) { |
| mutable_.page_count_ = max_page; |
| if (immutable_.settings_.ranges.empty()) { |
| mutable_.expected_page_count_ = max_page; |
| + if (immutable_.delegate_) |
| + immutable_.delegate_->SetPageCount(mutable_.expected_page_count_); |
| } else { |
| // If there is a range, don't bother since expected_page_count_ is already |
| // initialized. |
| @@ -214,10 +223,12 @@ PrintedDocument::Mutable::~Mutable() { |
| PrintedDocument::Immutable::Immutable(const PrintSettings& settings, |
| PrintedPagesSource* source, |
| + Delegate* delegate, |
| int cookie) |
| : settings_(settings), |
| source_message_loop_(MessageLoop::current()), |
| name_(source->RenderSourceName()), |
| + delegate_(delegate), |
| cookie_(cookie) { |
| } |