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) { |
} |