summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/print_job.cc
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-01 22:23:44 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-01 22:23:44 +0000
commitf0815756f61f11537f1a354646bb0bb9c93433a1 (patch)
treed5177e02a018dcbb86d2f7fbf9477d6ad8c2fdfd /chrome/browser/printing/print_job.cc
parent179361d28afb77b096e7bfd43a4a26d11bb11969 (diff)
downloadchromium_src-f0815756f61f11537f1a354646bb0bb9c93433a1.zip
chromium_src-f0815756f61f11537f1a354646bb0bb9c93433a1.tar.gz
chromium_src-f0815756f61f11537f1a354646bb0bb9c93433a1.tar.bz2
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
Diffstat (limited to 'chrome/browser/printing/print_job.cc')
-rw-r--r--chrome/browser/printing/print_job.cc8
1 files changed, 6 insertions, 2 deletions
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,