| Index: chrome/browser/ui/webui/print_preview_handler.cc
|
| diff --git a/chrome/browser/ui/webui/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview_handler.cc
|
| index 66e4aa3f243d49b59090e79b268394955acda618..2030d1a0797041f9f2742a303ba61f85fb77c263 100644
|
| --- a/chrome/browser/ui/webui/print_preview_handler.cc
|
| +++ b/chrome/browser/ui/webui/print_preview_handler.cc
|
| @@ -405,18 +405,23 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) {
|
| bool print_to_pdf = false;
|
| settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf);
|
|
|
| + bool open_pdf_in_preview = false;
|
| +#if defined(OS_MACOSX)
|
| + open_pdf_in_preview = settings->HasKey(printing::kSettingOpenPDFInPreview);
|
| +#endif
|
| +
|
| settings->SetBoolean(printing::kSettingHeaderFooterEnabled, false);
|
|
|
| bool is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId);
|
| bool is_cloud_dialog = false;
|
| settings->GetBoolean(printing::kSettingCloudPrintDialog, &is_cloud_dialog);
|
| - if (is_cloud_printer) {
|
| + if (is_cloud_printer && !open_pdf_in_preview) {
|
| std::string print_ticket;
|
| args->GetString(1, &print_ticket);
|
| SendCloudPrintJob(*settings, print_ticket);
|
| - } else if (print_to_pdf) {
|
| + } else if (print_to_pdf && !open_pdf_in_preview) {
|
| HandlePrintToPdf(*settings);
|
| - } else if (is_cloud_dialog) {
|
| + } else if (is_cloud_dialog && !open_pdf_in_preview) {
|
| HandlePrintWithCloudPrint();
|
| } else {
|
| ReportPrintSettingsStats(*settings);
|
|
|