| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/print_preview_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h" |
| 6 | 6 |
| 7 #include <ctype.h> | 7 #include <ctype.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 web_ui()->RegisterMessageCallback("getPreview", | 563 web_ui()->RegisterMessageCallback("getPreview", |
| 564 base::Bind(&PrintPreviewHandler::HandleGetPreview, | 564 base::Bind(&PrintPreviewHandler::HandleGetPreview, |
| 565 base::Unretained(this))); | 565 base::Unretained(this))); |
| 566 web_ui()->RegisterMessageCallback("print", | 566 web_ui()->RegisterMessageCallback("print", |
| 567 base::Bind(&PrintPreviewHandler::HandlePrint, | 567 base::Bind(&PrintPreviewHandler::HandlePrint, |
| 568 base::Unretained(this))); | 568 base::Unretained(this))); |
| 569 web_ui()->RegisterMessageCallback( | 569 web_ui()->RegisterMessageCallback( |
| 570 "getPrinterCapabilities", | 570 "getPrinterCapabilities", |
| 571 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, | 571 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, |
| 572 base::Unretained(this))); | 572 base::Unretained(this))); |
| 573 web_ui()->RegisterMessageCallback( |
| 574 "setupPrinter", base::Bind(&PrintPreviewHandler::HandlePrinterSetup, |
| 575 base::Unretained(this))); |
| 573 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) | 576 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
| 574 web_ui()->RegisterMessageCallback("showSystemDialog", | 577 web_ui()->RegisterMessageCallback("showSystemDialog", |
| 575 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, | 578 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, |
| 576 base::Unretained(this))); | 579 base::Unretained(this))); |
| 577 #endif | 580 #endif |
| 578 web_ui()->RegisterMessageCallback("signIn", | 581 web_ui()->RegisterMessageCallback("signIn", |
| 579 base::Bind(&PrintPreviewHandler::HandleSignin, | 582 base::Bind(&PrintPreviewHandler::HandleSignin, |
| 580 base::Unretained(this))); | 583 base::Unretained(this))); |
| 581 web_ui()->RegisterMessageCallback("getAccessToken", | 584 web_ui()->RegisterMessageCallback("getAccessToken", |
| 582 base::Bind(&PrintPreviewHandler::HandleGetAccessToken, | 585 base::Bind(&PrintPreviewHandler::HandleGetAccessToken, |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1072 } | 1075 } |
| 1073 | 1076 |
| 1074 printing::PrinterSetupCallback cb = | 1077 printing::PrinterSetupCallback cb = |
| 1075 base::Bind(&PrintPreviewHandler::SendPrinterCapabilities, | 1078 base::Bind(&PrintPreviewHandler::SendPrinterCapabilities, |
| 1076 weak_factory_.GetWeakPtr(), printer_name); | 1079 weak_factory_.GetWeakPtr(), printer_name); |
| 1077 | 1080 |
| 1078 printer_backend_proxy()->ConfigurePrinterAndFetchCapabilities(printer_name, | 1081 printer_backend_proxy()->ConfigurePrinterAndFetchCapabilities(printer_name, |
| 1079 cb); | 1082 cb); |
| 1080 } | 1083 } |
| 1081 | 1084 |
| 1085 void PrintPreviewHandler::HandlePrinterSetup(const base::ListValue* args) { |
| 1086 std::string printer_name; |
| 1087 bool ret = args->GetString(0, &printer_name); |
| 1088 if (!ret || printer_name.empty()) |
| 1089 return; |
| 1090 |
| 1091 printer_backend_proxy()->ConfigurePrinterAndFetchCapabilities( |
| 1092 printer_name, base::Bind(&PrintPreviewHandler::SendPrinterSetup, |
| 1093 weak_factory_.GetWeakPtr(), printer_name)); |
| 1094 } |
| 1095 |
| 1082 void PrintPreviewHandler::OnSigninComplete() { | 1096 void PrintPreviewHandler::OnSigninComplete() { |
| 1083 if (print_preview_ui()) | 1097 if (print_preview_ui()) |
| 1084 print_preview_ui()->OnReloadPrintersList(); | 1098 print_preview_ui()->OnReloadPrintersList(); |
| 1085 } | 1099 } |
| 1086 | 1100 |
| 1087 void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { | 1101 void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { |
| 1088 bool add_account = false; | 1102 bool add_account = false; |
| 1089 bool success = args->GetBoolean(0, &add_account); | 1103 bool success = args->GetBoolean(0, &add_account); |
| 1090 DCHECK(success); | 1104 DCHECK(success); |
| 1091 | 1105 |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1272 VLOG(1) << "Get printer capabilities failed"; | 1286 VLOG(1) << "Get printer capabilities failed"; |
| 1273 web_ui()->CallJavascriptFunctionUnsafe("failedToGetPrinterCapabilities", | 1287 web_ui()->CallJavascriptFunctionUnsafe("failedToGetPrinterCapabilities", |
| 1274 base::StringValue(printer_name)); | 1288 base::StringValue(printer_name)); |
| 1275 return; | 1289 return; |
| 1276 } | 1290 } |
| 1277 VLOG(1) << "Get printer capabilities finished"; | 1291 VLOG(1) << "Get printer capabilities finished"; |
| 1278 web_ui()->CallJavascriptFunctionUnsafe("updateWithPrinterCapabilities", | 1292 web_ui()->CallJavascriptFunctionUnsafe("updateWithPrinterCapabilities", |
| 1279 *settings_info); | 1293 *settings_info); |
| 1280 } | 1294 } |
| 1281 | 1295 |
| 1296 void PrintPreviewHandler::SendPrinterSetup( |
| 1297 const std::string& printer_name, |
| 1298 std::unique_ptr<base::DictionaryValue> destination_info) { |
| 1299 bool success = true; |
| 1300 base::DictionaryValue empty_dictionary; |
| 1301 base::DictionaryValue* caps; |
| 1302 if (!destination_info || |
| 1303 !destination_info->GetDictionary(printing::kPrinterCapabilities, &caps)) { |
| 1304 LOG(WARNING) << "Printer setup failed"; |
| 1305 caps = &empty_dictionary; |
| 1306 success = false; |
| 1307 } |
| 1308 |
| 1309 web_ui()->CallJavascriptFunctionUnsafe( |
| 1310 "onPrinterSetup", base::StringValue(printer_name), |
| 1311 base::FundamentalValue(success), *caps); |
| 1312 } |
| 1313 |
| 1282 void PrintPreviewHandler::SetupPrinterList( | 1314 void PrintPreviewHandler::SetupPrinterList( |
| 1283 const printing::PrinterList& printer_list) { | 1315 const printing::PrinterList& printer_list) { |
| 1284 base::ListValue printers; | 1316 base::ListValue printers; |
| 1285 PrintersToValues(printer_list, &printers); | 1317 PrintersToValues(printer_list, &printers); |
| 1286 | 1318 |
| 1287 VLOG(1) << "Enumerate printers finished, found " << printers.GetSize() | 1319 VLOG(1) << "Enumerate printers finished, found " << printers.GetSize() |
| 1288 << " printers"; | 1320 << " printers"; |
| 1289 | 1321 |
| 1290 if (!has_logged_printers_count_) { | 1322 if (!has_logged_printers_count_) { |
| 1291 UMA_HISTOGRAM_COUNTS("PrintPreview.NumberOfPrinters", printers.GetSize()); | 1323 UMA_HISTOGRAM_COUNTS("PrintPreview.NumberOfPrinters", printers.GetSize()); |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1745 | 1777 |
| 1746 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1778 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { |
| 1747 if (gaia_cookie_manager_service_) | 1779 if (gaia_cookie_manager_service_) |
| 1748 gaia_cookie_manager_service_->RemoveObserver(this); | 1780 gaia_cookie_manager_service_->RemoveObserver(this); |
| 1749 } | 1781 } |
| 1750 | 1782 |
| 1751 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1783 void PrintPreviewHandler::SetPdfSavedClosureForTesting( |
| 1752 const base::Closure& closure) { | 1784 const base::Closure& closure) { |
| 1753 pdf_file_saved_closure_ = closure; | 1785 pdf_file_saved_closure_ = closure; |
| 1754 } | 1786 } |
| OLD | NEW |