From f0815756f61f11537f1a354646bb0bb9c93433a1 Mon Sep 17 00:00:00 2001
From: "thestig@chromium.org"
 <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue, 1 Feb 2011 22:23:44 +0000
Subject: printing: Prevent a race between
 PrintViewManager::OnDidGetPrintedPagesCount and PrintJobWorker::OnNewPage.

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6294018

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73356 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/browser/printing/print_job.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'chrome/browser/printing/print_job.cc')

diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc
index 493d317..cf49f78 100644
--- a/chrome/browser/printing/print_job.cc
+++ b/chrome/browser/printing/print_job.cc
@@ -44,7 +44,8 @@ PrintJob::~PrintJob() {
 }
 
 void PrintJob::Initialize(PrintJobWorkerOwner* job,
-                          PrintedPagesSource* source) {
+                          PrintedPagesSource* source,
+                          int page_count) {
   DCHECK(!source_);
   DCHECK(!worker_.get());
   DCHECK(!is_job_pending_);
@@ -55,7 +56,10 @@ void PrintJob::Initialize(PrintJobWorkerOwner* job,
   worker_.reset(job->DetachWorker(this));
   settings_ = job->settings();
 
-  UpdatePrintedDocument(new PrintedDocument(settings_, source_, job->cookie()));
+  PrintedDocument* new_doc =
+      new PrintedDocument(settings_, source_, job->cookie());
+  new_doc->set_page_count(page_count);
+  UpdatePrintedDocument(new_doc);
 
   // Don't forget to register to our own messages.
   registrar_.Add(this, NotificationType::PRINT_JOB_EVENT,
-- 
cgit v1.1