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 4128be2d5b1e751a57fcabf28e8c44d0ffb333b4..c960e3fcaf36b2b4be7549acb2780465e0290ab3 100644 |
--- a/chrome/browser/ui/webui/print_preview_handler.cc |
+++ b/chrome/browser/ui/webui/print_preview_handler.cc |
@@ -565,8 +565,6 @@ void PrintPreviewHandler::RegisterMessages() { |
NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); |
web_ui_->RegisterMessageCallback("signIn", |
NewCallback(this, &PrintPreviewHandler::HandleSignin)); |
- web_ui_->RegisterMessageCallback("printWithCloudPrint", |
- NewCallback(this, &PrintPreviewHandler::HandlePrintWithCloudPrint)); |
web_ui_->RegisterMessageCallback("manageCloudPrinters", |
NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
web_ui_->RegisterMessageCallback("manageLocalPrinters", |
@@ -715,13 +713,17 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) { |
settings->SetBoolean(printing::kSettingHeaderFooterEnabled, false); |
- bool print_to_cloud = settings->HasKey(printing::kSettingCloudPrintId); |
- if (print_to_cloud) { |
+ bool is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId); |
+ bool is_cloud_dialog = false; |
+ settings->GetBoolean(printing::kSettingCloudPrintDialog, &is_cloud_dialog); |
+ if (is_cloud_printer) { |
std::string print_ticket; |
args->GetString(1, &print_ticket); |
SendCloudPrintJob(*settings, print_ticket); |
} else if (print_to_pdf) { |
HandlePrintToPdf(*settings); |
+ } else if (is_cloud_dialog) { |
+ HandlePrintWithCloudPrint(); |
} else { |
ReportPrintSettingsStats(*settings); |
ReportUserActionHistogram(PRINT_TO_PRINTER); |
@@ -830,7 +832,7 @@ void PrintPreviewHandler::HandleSignin(const ListValue* /*args*/) { |
cloud_print_signin_dialog::CreateCloudPrintSigninDialog(preview_tab()); |
} |
-void PrintPreviewHandler::HandlePrintWithCloudPrint(const ListValue* /*args*/) { |
+void PrintPreviewHandler::HandlePrintWithCloudPrint() { |
// Record the number of times the user asks to print via cloud print |
// instead of the print preview dialog. |
ReportStats(); |