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

Unified Diff: printing/printed_document.cc

Issue 10483006: Print support for Windows Metro... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Working version Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
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) {
}

Powered by Google App Engine
This is Rietveld 408576698