summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/print_view_manager.cc
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 23:40:27 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 23:40:27 +0000
commitda4eefdf3f571bd8835a2be18b267a7685c75cbd (patch)
tree465c74a28a33ebc6079e697a791313490db9fe5b /chrome/browser/printing/print_view_manager.cc
parent6c1319541aee6ff89c06457b46d46bbcbcfe868f (diff)
downloadchromium_src-da4eefdf3f571bd8835a2be18b267a7685c75cbd.zip
chromium_src-da4eefdf3f571bd8835a2be18b267a7685c75cbd.tar.gz
chromium_src-da4eefdf3f571bd8835a2be18b267a7685c75cbd.tar.bz2
Linux Printing: Properly print a subset of all pages.
BUG=59732 TEST=Open a 10 PDF, print pages 6,7,8 or pages 6-8. Review URL: http://codereview.chromium.org/6592093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76835 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/printing/print_view_manager.cc')
-rw-r--r--chrome/browser/printing/print_view_manager.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/chrome/browser/printing/print_view_manager.cc b/chrome/browser/printing/print_view_manager.cc
index 61f0356..a6c6166 100644
--- a/chrome/browser/printing/print_view_manager.cc
+++ b/chrome/browser/printing/print_view_manager.cc
@@ -33,6 +33,9 @@ PrintViewManager::PrintViewManager(TabContents* tab_contents)
waiting_to_print_(false),
printing_succeeded_(false),
inside_inner_message_loop_(false) {
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
+ expecting_first_page_ = true;
+#endif
}
PrintViewManager::~PrintViewManager() {
@@ -115,11 +118,11 @@ void PrintViewManager::OnDidPrintPage(
}
#endif
- const bool metafile_must_be_valid =
#if defined(OS_WIN) || defined(OS_MACOSX)
- true;
+ const bool metafile_must_be_valid = true;
#elif defined(OS_POSIX)
- (params.page_number == 0);
+ const bool metafile_must_be_valid = expecting_first_page_;
+ expecting_first_page_ = false;
#endif
base::SharedMemory shared_buf(params.metafile_data_handle, true);
@@ -321,6 +324,9 @@ void PrintViewManager::DisconnectFromCurrentPrintJob() {
// DO NOT wait for the job to finish.
ReleasePrintJob();
}
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
+ expecting_first_page_ = true;
+#endif
}
void PrintViewManager::PrintingDone(bool success) {