Chromium Code Reviews| 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 b9cf3f3e7794d1437265518f58f1c92a2d863fd9..238d4ba4f3093e09b7bb1213ace179bda0399380 100644 |
| --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
| +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
| @@ -846,6 +846,7 @@ void PrintPreviewHandler::HandlePrint(const base::ListValue* args) { |
| bool print_to_pdf = false; |
| bool is_cloud_printer = false; |
| bool print_with_privet = false; |
| + bool print_with_extension = false; |
| bool open_pdf_in_preview = false; |
| #if defined(OS_MACOSX) |
| @@ -855,6 +856,8 @@ void PrintPreviewHandler::HandlePrint(const base::ListValue* args) { |
| if (!open_pdf_in_preview) { |
| settings->GetBoolean(printing::kSettingPrintToPDF, &print_to_pdf); |
| settings->GetBoolean(printing::kSettingPrintWithPrivet, &print_with_privet); |
| + settings->GetBoolean(printing::kSettingPrintWithExtension, |
| + &print_with_extension); |
| is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId); |
| } |
| @@ -896,6 +899,12 @@ void PrintPreviewHandler::HandlePrint(const base::ListValue* args) { |
| } |
| #endif |
| + if (print_with_extension) { |
| + // TODO(tbarzic): Implement this. |
| + OnExtensionPrintResult(false, "NOT_IMPLEMENTED"); |
|
Vitaly Buka (NO REVIEWS)
2015/02/11 22:39:26
TODO() : UMA
tbarzic
2015/02/11 22:48:18
Done.
|
| + return; |
| + } |
| + |
| scoped_refptr<base::RefCountedBytes> data; |
| base::string16 title; |
| if (!GetPreviewDataAndTitle(&data, &title)) { |
| @@ -1656,6 +1665,19 @@ void PrintPreviewHandler::OnGotExtensionPrinterCapabilities( |
| base::StringValue(printer_id), capabilities); |
| } |
| +void PrintPreviewHandler::OnExtensionPrintResult(bool success, |
| + const std::string& status) { |
| + if (success) { |
| + ClosePreviewDialog(); |
| + return; |
| + } |
| + |
| + // TODO(tbarzic): This function works for extension printers case too, but it |
| + // should be renamed to something more generic. |
| + web_ui()->CallJavascriptFunction("onPrivetPrintFailed", |
| + base::StringValue(status)); |
| +} |
| + |
| void PrintPreviewHandler::RegisterForMergeSession() { |
| DCHECK(!reconcilor_); |
| Profile* profile = Profile::FromWebUI(web_ui()); |