Index: chrome/browser/printing/print_dialog_gtk.cc |
diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc |
index 70fe427fff7934470a9be91725c22c4a7858dc0a..d8cb419c49f09730b1ef9c9d571e97c07fd89dc4 100644 |
--- a/chrome/browser/printing/print_dialog_gtk.cc |
+++ b/chrome/browser/printing/print_dialog_gtk.cc |
@@ -130,21 +130,11 @@ PrintDialogGtk::~PrintDialogGtk() { |
void PrintDialogGtk::UseDefaultSettings() { |
DCHECK(!page_setup_); |
+ DCHECK(!printer_); |
// |gtk_settings_| is a new object. |
gtk_settings_ = gtk_print_settings_new(); |
- |
- scoped_ptr<GtkPrinterList> printer_list(new GtkPrinterList); |
- printer_ = printer_list->default_printer(); |
- if (printer_) { |
- g_object_ref(printer_); |
- gtk_print_settings_set_printer(gtk_settings_, |
- gtk_printer_get_name(printer_)); |
- page_setup_ = gtk_printer_get_default_page_size(printer_); |
- } |
- |
- if (!page_setup_) |
- page_setup_ = gtk_page_setup_new(); |
+ page_setup_ = gtk_page_setup_new(); |
// No page range to initialize for default settings. |
PageRanges ranges_vector; |
@@ -173,10 +163,12 @@ bool PrintDialogGtk::UpdateSettings(const base::DictionaryValue& job_settings, |
return false; |
} |
+ bool is_cloud_print = job_settings.HasKey(printing::kSettingCloudPrintId); |
+ |
if (!gtk_settings_) |
gtk_settings_ = gtk_print_settings_new(); |
- if (!print_to_pdf) { |
+ if (!print_to_pdf && !is_cloud_print) { |
scoped_ptr<GtkPrinterList> printer_list(new GtkPrinterList); |
printer_ = printer_list->GetPrinterWithName(device_name.c_str()); |
if (printer_) { |