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