diff options
author | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-19 00:09:22 +0000 |
---|---|---|
committer | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-19 00:09:22 +0000 |
commit | 5cc4c42d46ac837b79333091b110391c2ca1c996 (patch) | |
tree | 02764336dcbc316b1725fc614f658f391de8326c /printing/printed_document.cc | |
parent | 38a0a14f438057e1c8c0ddcf1e903c8d53620141 (diff) | |
download | chromium_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.cc | 14 |
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; |