| Index: chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| index d895b7ee338b8abbbb99bf7f7d586ce970c33153..dbbfd95b8eef166b4bdb428e8f218947b92171de 100644
|
| --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| @@ -400,8 +400,8 @@ void PrintPreviewHandler::RegisterMessages() {
|
| web_ui()->RegisterMessageCallback("reportUiEvent",
|
| base::Bind(&PrintPreviewHandler::HandleReportUiEvent,
|
| base::Unretained(this)));
|
| - web_ui()->RegisterMessageCallback("printWithCloudPrint",
|
| - base::Bind(&PrintPreviewHandler::HandlePrintWithCloudPrint,
|
| + web_ui()->RegisterMessageCallback("printWithCloudPrintDialog",
|
| + base::Bind(&PrintPreviewHandler::HandlePrintWithCloudPrintDialog,
|
| base::Unretained(this)));
|
| web_ui()->RegisterMessageCallback("forceOpenNewTab",
|
| base::Bind(&PrintPreviewHandler::HandleForceOpenNewTab,
|
| @@ -518,7 +518,6 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) {
|
|
|
| bool print_to_pdf = false;
|
| bool is_cloud_printer = false;
|
| - bool is_cloud_dialog = false;
|
|
|
| bool open_pdf_in_preview = false;
|
| #if defined(OS_MACOSX)
|
| @@ -527,7 +526,6 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) {
|
|
|
| if (!open_pdf_in_preview) {
|
| settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf);
|
| - settings->GetBoolean(printing::kSettingCloudPrintDialog, &is_cloud_dialog);
|
| is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId);
|
| }
|
|
|
| @@ -553,10 +551,6 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) {
|
| page_count);
|
| ReportUserActionHistogram(PRINT_WITH_CLOUD_PRINT);
|
| SendCloudPrintJob(data);
|
| - } else if (is_cloud_dialog) {
|
| - UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToCloudPrintWebDialog",
|
| - page_count);
|
| - PrintWithCloudPrintDialog(data, title);
|
| } else {
|
| UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToPrinter", page_count);
|
| ReportUserActionHistogram(PRINT_TO_PRINTER);
|
| @@ -698,13 +692,18 @@ void PrintPreviewHandler::HandleGetAccessToken(const base::ListValue* args) {
|
| token_service_->RequestToken(type);
|
| }
|
|
|
| -void PrintPreviewHandler::PrintWithCloudPrintDialog(
|
| - const base::RefCountedBytes* data,
|
| - const string16& title) {
|
| +void PrintPreviewHandler::PrintWithCloudPrintDialog() {
|
| // Record the number of times the user asks to print via cloud print
|
| // instead of the print preview dialog.
|
| ReportStats();
|
|
|
| + scoped_refptr<base::RefCountedBytes> data;
|
| + string16 title;
|
| + if (!GetPreviewDataAndTitle(&data, &title)) {
|
| + // Nothing to print, no preview available.
|
| + return;
|
| + }
|
| +
|
| gfx::NativeWindow modal_parent = platform_util::GetTopLevel(
|
| preview_web_contents()->GetView()->GetNativeView());
|
| print_dialog_cloud::CreatePrintDialogForBytes(
|
| @@ -759,15 +758,15 @@ void PrintPreviewHandler::HandleManagePrinters(const ListValue* /*args*/) {
|
| printing::PrinterManagerDialog::ShowPrinterManagerDialog();
|
| }
|
|
|
| -void PrintPreviewHandler::HandlePrintWithCloudPrint(
|
| - const base::ListValue* /*args*/) {
|
| - scoped_refptr<base::RefCountedBytes> data;
|
| - string16 title;
|
| - if (!GetPreviewDataAndTitle(&data, &title)) {
|
| - // Nothing to print, no preview available.
|
| +void PrintPreviewHandler::HandlePrintWithCloudPrintDialog(
|
| + const base::ListValue* args) {
|
| + int page_count = 0;
|
| + if (!args || !args->GetInteger(0, &page_count))
|
| return;
|
| - }
|
| - PrintWithCloudPrintDialog(data, title);
|
| + UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintToCloudPrintWebDialog",
|
| + page_count);
|
| +
|
| + PrintWithCloudPrintDialog();
|
| }
|
|
|
| void PrintPreviewHandler::HandleClosePreviewDialog(const ListValue* /*args*/) {
|
|
|