summaryrefslogtreecommitdiffstats
path: root/printing/printed_document.cc
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-19 00:09:22 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-19 00:09:22 +0000
commit5cc4c42d46ac837b79333091b110391c2ca1c996 (patch)
tree02764336dcbc316b1725fc614f658f391de8326c /printing/printed_document.cc
parent38a0a14f438057e1c8c0ddcf1e903c8d53620141 (diff)
downloadchromium_src-5cc4c42d46ac837b79333091b110391c2ca1c996.zip
chromium_src-5cc4c42d46ac837b79333091b110391c2ca1c996.tar.gz
chromium_src-5cc4c42d46ac837b79333091b110391c2ca1c996.tar.bz2
Linux: Refactor printing to be more linux Windows/Mac.
BUG=41543,59732 TEST=Printing works on Linux and CrOS, Linux printing respect print dialog settings. Review URL: http://codereview.chromium.org/6516022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75475 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/printed_document.cc')
-rw-r--r--printing/printed_document.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/printing/printed_document.cc b/printing/printed_document.cc
index d33751c..3d8f156 100644
--- a/printing/printed_document.cc
+++ b/printing/printed_document.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -109,10 +109,18 @@ bool PrintedDocument::IsComplete() const {
PageNumber page(immutable_.settings_, mutable_.page_count_);
if (page == PageNumber::npos())
return false;
+
for (; page != PageNumber::npos(); ++page) {
+ bool metafile_must_be_valid =
+#if defined(OS_WIN) || defined(OS_MAC)
+ true;
+#elif defined(OS_POSIX)
+ (page.ToInt() == 0);
+#endif
PrintedPages::const_iterator itr = mutable_.pages_.find(page.ToInt());
- if (itr == mutable_.pages_.end() || !itr->second.get() ||
- !itr->second->native_metafile())
+ if (itr == mutable_.pages_.end() || !itr->second.get())
+ return false;
+ if (metafile_must_be_valid && !itr->second->native_metafile())
return false;
}
return true;