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

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

Issue 7976017: Simplified print preview printer selection to be more consistent with Chrome (Closed)
Patch Set: Fix whitespace Created 9 years, 2 months 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
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 #include <string> 8 #include <string>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 web_ui_->RegisterMessageCallback("getPreview", 558 web_ui_->RegisterMessageCallback("getPreview",
559 NewCallback(this, &PrintPreviewHandler::HandleGetPreview)); 559 NewCallback(this, &PrintPreviewHandler::HandleGetPreview));
560 web_ui_->RegisterMessageCallback("print", 560 web_ui_->RegisterMessageCallback("print",
561 NewCallback(this, &PrintPreviewHandler::HandlePrint)); 561 NewCallback(this, &PrintPreviewHandler::HandlePrint));
562 web_ui_->RegisterMessageCallback("getPrinterCapabilities", 562 web_ui_->RegisterMessageCallback("getPrinterCapabilities",
563 NewCallback(this, &PrintPreviewHandler::HandleGetPrinterCapabilities)); 563 NewCallback(this, &PrintPreviewHandler::HandleGetPrinterCapabilities));
564 web_ui_->RegisterMessageCallback("showSystemDialog", 564 web_ui_->RegisterMessageCallback("showSystemDialog",
565 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); 565 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog));
566 web_ui_->RegisterMessageCallback("signIn", 566 web_ui_->RegisterMessageCallback("signIn",
567 NewCallback(this, &PrintPreviewHandler::HandleSignin)); 567 NewCallback(this, &PrintPreviewHandler::HandleSignin));
568 web_ui_->RegisterMessageCallback("printWithCloudPrint",
569 NewCallback(this, &PrintPreviewHandler::HandlePrintWithCloudPrint));
570 web_ui_->RegisterMessageCallback("manageCloudPrinters", 568 web_ui_->RegisterMessageCallback("manageCloudPrinters",
571 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); 569 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint));
572 web_ui_->RegisterMessageCallback("manageLocalPrinters", 570 web_ui_->RegisterMessageCallback("manageLocalPrinters",
573 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); 571 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters));
574 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab", 572 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab",
575 NewCallback(this, &PrintPreviewHandler::HandleReloadCrashedInitiatorTab)); 573 NewCallback(this, &PrintPreviewHandler::HandleReloadCrashedInitiatorTab));
576 web_ui_->RegisterMessageCallback("closePrintPreviewTab", 574 web_ui_->RegisterMessageCallback("closePrintPreviewTab",
577 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); 575 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab));
578 web_ui_->RegisterMessageCallback("hidePreview", 576 web_ui_->RegisterMessageCallback("hidePreview",
579 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); 577 NewCallback(this, &PrintPreviewHandler::HandleHidePreview));
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 int color_mode; 706 int color_mode;
709 if (!settings->GetInteger(printing::kSettingColor, &color_mode)) 707 if (!settings->GetInteger(printing::kSettingColor, &color_mode))
710 color_mode = printing::GRAY; 708 color_mode = printing::GRAY;
711 last_used_color_setting_ = (color_mode != printing::GRAY); 709 last_used_color_setting_ = (color_mode != printing::GRAY);
712 710
713 bool print_to_pdf = false; 711 bool print_to_pdf = false;
714 settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf); 712 settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf);
715 713
716 settings->SetBoolean(printing::kSettingHeaderFooterEnabled, false); 714 settings->SetBoolean(printing::kSettingHeaderFooterEnabled, false);
717 715
718 bool print_to_cloud = settings->HasKey(printing::kSettingCloudPrintId); 716 bool is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId);
719 if (print_to_cloud) { 717 bool is_cloud_dialog = false;
718 settings->GetBoolean(printing::kSettingCloudPrintDialog, &is_cloud_dialog);
719 if (is_cloud_printer) {
720 std::string print_ticket; 720 std::string print_ticket;
721 args->GetString(1, &print_ticket); 721 args->GetString(1, &print_ticket);
722 SendCloudPrintJob(*settings, print_ticket); 722 SendCloudPrintJob(*settings, print_ticket);
723 } else if (print_to_pdf) { 723 } else if (print_to_pdf) {
724 HandlePrintToPdf(*settings); 724 HandlePrintToPdf(*settings);
725 } else if (is_cloud_dialog) {
726 HandlePrintWithCloudPrint();
725 } else { 727 } else {
726 ReportPrintSettingsStats(*settings); 728 ReportPrintSettingsStats(*settings);
727 ReportUserActionHistogram(PRINT_TO_PRINTER); 729 ReportUserActionHistogram(PRINT_TO_PRINTER);
728 UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToPrinter", 730 UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToPrinter",
729 GetPageCountFromSettingsDictionary(*settings)); 731 GetPageCountFromSettingsDictionary(*settings));
730 732
731 // This tries to activate the initiator tab as well, so do not clear the 733 // This tries to activate the initiator tab as well, so do not clear the
732 // association with the initiator tab yet. 734 // association with the initiator tab yet.
733 HidePreviewTab(); 735 HidePreviewTab();
734 736
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 BrowserThread::FILE, FROM_HERE, 825 BrowserThread::FILE, FROM_HERE,
824 NewRunnableMethod(task.get(), 826 NewRunnableMethod(task.get(),
825 &PrintSystemTaskProxy::GetPrinterCapabilities, 827 &PrintSystemTaskProxy::GetPrinterCapabilities,
826 printer_name)); 828 printer_name));
827 } 829 }
828 830
829 void PrintPreviewHandler::HandleSignin(const ListValue* /*args*/) { 831 void PrintPreviewHandler::HandleSignin(const ListValue* /*args*/) {
830 cloud_print_signin_dialog::CreateCloudPrintSigninDialog(preview_tab()); 832 cloud_print_signin_dialog::CreateCloudPrintSigninDialog(preview_tab());
831 } 833 }
832 834
833 void PrintPreviewHandler::HandlePrintWithCloudPrint(const ListValue* /*args*/) { 835 void PrintPreviewHandler::HandlePrintWithCloudPrint() {
834 // Record the number of times the user asks to print via cloud print 836 // Record the number of times the user asks to print via cloud print
835 // instead of the print preview dialog. 837 // instead of the print preview dialog.
836 ReportStats(); 838 ReportStats();
837 ReportUserActionHistogram(PRINT_WITH_CLOUD_PRINT); 839 ReportUserActionHistogram(PRINT_WITH_CLOUD_PRINT);
838 840
839 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_); 841 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
840 scoped_refptr<RefCountedBytes> data; 842 scoped_refptr<RefCountedBytes> data;
841 print_preview_ui->GetPrintPreviewDataForIndex( 843 print_preview_ui->GetPrintPreviewDataForIndex(
842 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, &data); 844 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, &data);
843 CHECK(data.get()); 845 CHECK(data.get());
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 return; 1157 return;
1156 1158
1157 // We no longer require the initiator tab details. Remove those details 1159 // We no longer require the initiator tab details. Remove those details
1158 // associated with the preview tab to allow the initiator tab to create 1160 // associated with the preview tab to allow the initiator tab to create
1159 // another preview tab. 1161 // another preview tab.
1160 printing::PrintPreviewTabController* tab_controller = 1162 printing::PrintPreviewTabController* tab_controller =
1161 printing::PrintPreviewTabController::GetInstance(); 1163 printing::PrintPreviewTabController::GetInstance();
1162 if (tab_controller) 1164 if (tab_controller)
1163 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper()); 1165 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper());
1164 } 1166 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview_handler.h ('k') | chrome/test/data/webui/print_preview.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698