Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: chrome/browser/ui/webui/print_preview_handler.cc

Issue 8425008: PrintPreview:[MAC] Added "Open PDF In Preview" option to open the pdf in native preview app. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added a check to fix the TestErrorMessage unit test Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/print_preview_data_source.cc ('k') | printing/print_job_constants.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/print_preview_handler.h" 5 #include "chrome/browser/ui/webui/print_preview_handler.h"
6 6
7 #include <ctype.h> 7 #include <ctype.h>
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 if (last_used_margins_type_ == printing::CUSTOM_MARGINS) { 394 if (last_used_margins_type_ == printing::CUSTOM_MARGINS) {
395 if (!last_used_page_size_margins_) 395 if (!last_used_page_size_margins_)
396 last_used_page_size_margins_ = new printing::PageSizeMargins(); 396 last_used_page_size_margins_ = new printing::PageSizeMargins();
397 GetCustomMarginsFromJobSettings(*settings, last_used_page_size_margins_); 397 GetCustomMarginsFromJobSettings(*settings, last_used_page_size_margins_);
398 } 398 }
399 } 399 }
400 400
401 bool print_to_pdf = false; 401 bool print_to_pdf = false;
402 settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf); 402 settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf);
403 403
404 bool open_pdf_in_preview = false;
405 #if defined(OS_MACOSX)
406 open_pdf_in_preview = settings->HasKey(printing::kSettingOpenPDFInPreview);
407 #endif
408
404 settings->SetBoolean(printing::kSettingHeaderFooterEnabled, false); 409 settings->SetBoolean(printing::kSettingHeaderFooterEnabled, false);
405 410
406 bool is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId); 411 bool is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId);
407 bool is_cloud_dialog = false; 412 bool is_cloud_dialog = false;
408 settings->GetBoolean(printing::kSettingCloudPrintDialog, &is_cloud_dialog); 413 settings->GetBoolean(printing::kSettingCloudPrintDialog, &is_cloud_dialog);
409 if (is_cloud_printer) { 414 if (is_cloud_printer && !open_pdf_in_preview) {
410 std::string print_ticket; 415 std::string print_ticket;
411 args->GetString(1, &print_ticket); 416 args->GetString(1, &print_ticket);
412 SendCloudPrintJob(*settings, print_ticket); 417 SendCloudPrintJob(*settings, print_ticket);
413 } else if (print_to_pdf) { 418 } else if (print_to_pdf && !open_pdf_in_preview) {
414 HandlePrintToPdf(*settings); 419 HandlePrintToPdf(*settings);
415 } else if (is_cloud_dialog) { 420 } else if (is_cloud_dialog && !open_pdf_in_preview) {
416 HandlePrintWithCloudPrint(); 421 HandlePrintWithCloudPrint();
417 } else { 422 } else {
418 ReportPrintSettingsStats(*settings); 423 ReportPrintSettingsStats(*settings);
419 ReportUserActionHistogram(PRINT_TO_PRINTER); 424 ReportUserActionHistogram(PRINT_TO_PRINTER);
420 UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToPrinter", 425 UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToPrinter",
421 GetPageCountFromSettingsDictionary(*settings)); 426 GetPageCountFromSettingsDictionary(*settings));
422 427
423 // This tries to activate the initiator tab as well, so do not clear the 428 // This tries to activate the initiator tab as well, so do not clear the
424 // association with the initiator tab yet. 429 // association with the initiator tab yet.
425 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_); 430 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 return; 854 return;
850 855
851 // We no longer require the initiator tab details. Remove those details 856 // We no longer require the initiator tab details. Remove those details
852 // associated with the preview tab to allow the initiator tab to create 857 // associated with the preview tab to allow the initiator tab to create
853 // another preview tab. 858 // another preview tab.
854 printing::PrintPreviewTabController* tab_controller = 859 printing::PrintPreviewTabController* tab_controller =
855 printing::PrintPreviewTabController::GetInstance(); 860 printing::PrintPreviewTabController::GetInstance();
856 if (tab_controller) 861 if (tab_controller)
857 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper()); 862 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper());
858 } 863 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview_data_source.cc ('k') | printing/print_job_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698