summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/print_job_worker.cc
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-21 02:18:17 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-21 02:18:17 +0000
commit4cc430b423a11dcd04aaef2e5e0667ca6facddb8 (patch)
treeaee134d1a7cda3362bb3dd9bc7c89a8985d9e6d5 /chrome/browser/printing/print_job_worker.cc
parent97123dc83d4d3f95ab6e01ee78f26b571b51b26b (diff)
downloadchromium_src-4cc430b423a11dcd04aaef2e5e0667ca6facddb8.zip
chromium_src-4cc430b423a11dcd04aaef2e5e0667ca6facddb8.tar.gz
chromium_src-4cc430b423a11dcd04aaef2e5e0667ca6facddb8.tar.bz2
Printing: Get the default settings on the UI-thread for GTK+ and Mac.
BUG=67546 TEST=see bug Review URL: http://codereview.chromium.org/5999004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69792 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/printing/print_job_worker.cc')
-rw-r--r--chrome/browser/printing/print_job_worker.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc
index 4a9eedc..24062d1 100644
--- a/chrome/browser/printing/print_job_worker.cc
+++ b/chrome/browser/printing/print_job_worker.cc
@@ -98,8 +98,12 @@ void PrintJobWorker::GetSettings(bool ask_user_for_settings,
NewCallback(this, &PrintJobWorker::GetSettingsDone));
#endif // defined(OS_MACOSX) || defined(USE_X11)
} else {
- PrintingContext::Result result = printing_context_->UseDefaultSettings();
- GetSettingsDone(result);
+#if defined(OS_MACOSX) || defined(USE_X11)
+ BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
+ NewRunnableMethod(this, &PrintJobWorker::UseDefaultSettings));
+#else
+ UseDefaultSettings();
+#endif // defined(OS_MACOSX) || defined(USE_X11)
}
}
@@ -137,6 +141,11 @@ void PrintJobWorker::GetSettingsWithUIDone(PrintingContext::Result result) {
}
#endif // defined(OS_MACOSX) || defined(USE_X11)
+void PrintJobWorker::UseDefaultSettings() {
+ PrintingContext::Result result = printing_context_->UseDefaultSettings();
+ GetSettingsDone(result);
+}
+
void PrintJobWorker::StartPrinting(PrintedDocument* new_document) {
DCHECK_EQ(message_loop(), MessageLoop::current());
DCHECK_EQ(page_number_, PageNumber::npos());