| 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 500 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 511 | 511 | 
| 512   DISALLOW_COPY_AND_ASSIGN(AccessTokenService); | 512   DISALLOW_COPY_AND_ASSIGN(AccessTokenService); | 
| 513 }; | 513 }; | 
| 514 | 514 | 
| 515 PrintPreviewHandler::PrintPreviewHandler() | 515 PrintPreviewHandler::PrintPreviewHandler() | 
| 516     : regenerate_preview_request_count_(0), | 516     : regenerate_preview_request_count_(0), | 
| 517       manage_printers_dialog_request_count_(0), | 517       manage_printers_dialog_request_count_(0), | 
| 518       manage_cloud_printers_dialog_request_count_(0), | 518       manage_cloud_printers_dialog_request_count_(0), | 
| 519       reported_failed_preview_(false), | 519       reported_failed_preview_(false), | 
| 520       has_logged_printers_count_(false), | 520       has_logged_printers_count_(false), | 
| 521       gaia_cookie_manager_service_(NULL), | 521       gaia_cookie_manager_service_(nullptr), | 
|  | 522       printer_backend_proxy_(nullptr), | 
| 522       weak_factory_(this) { | 523       weak_factory_(this) { | 
| 523   ReportUserActionHistogram(PREVIEW_STARTED); | 524   ReportUserActionHistogram(PREVIEW_STARTED); | 
| 524 } | 525 } | 
| 525 | 526 | 
| 526 PrintPreviewHandler::~PrintPreviewHandler() { | 527 PrintPreviewHandler::~PrintPreviewHandler() { | 
| 527   if (select_file_dialog_.get()) | 528   if (select_file_dialog_.get()) | 
| 528     select_file_dialog_->ListenerDestroyed(); | 529     select_file_dialog_->ListenerDestroyed(); | 
| 529 | 530 | 
| 530   UnregisterForGaiaCookieChanges(); | 531   UnregisterForGaiaCookieChanges(); | 
| 531 } | 532 } | 
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 604 } | 605 } | 
| 605 | 606 | 
| 606 WebContents* PrintPreviewHandler::preview_web_contents() const { | 607 WebContents* PrintPreviewHandler::preview_web_contents() const { | 
| 607   return web_ui()->GetWebContents(); | 608   return web_ui()->GetWebContents(); | 
| 608 } | 609 } | 
| 609 | 610 | 
| 610 PrintPreviewUI* PrintPreviewHandler::print_preview_ui() const { | 611 PrintPreviewUI* PrintPreviewHandler::print_preview_ui() const { | 
| 611   return static_cast<PrintPreviewUI*>(web_ui()->GetController()); | 612   return static_cast<PrintPreviewUI*>(web_ui()->GetController()); | 
| 612 } | 613 } | 
| 613 | 614 | 
|  | 615 printing::PrinterBackendProxy* PrintPreviewHandler::printer_backend_proxy() { | 
|  | 616   DCHECK_CURRENTLY_ON(BrowserThread::UI); | 
|  | 617 | 
|  | 618   if (!printer_backend_proxy_) { | 
|  | 619 #if defined(OS_CHROMEOS) | 
|  | 620     // ChromeOS stores printer information in printer prefs which requires a | 
|  | 621     // profile.  Other plaforms retrieve printer information from OS resources. | 
|  | 622     printer_backend_proxy_ = | 
|  | 623         printing::PrinterBackendProxy::Create(Profile::FromWebUI(web_ui())); | 
|  | 624 #else | 
|  | 625     printer_backend_proxy_ = printing::PrinterBackendProxy::Create(); | 
|  | 626 #endif | 
|  | 627   } | 
|  | 628 | 
|  | 629   return printer_backend_proxy_.get(); | 
|  | 630 } | 
|  | 631 | 
| 614 void PrintPreviewHandler::HandleGetPrinters(const base::ListValue* /*args*/) { | 632 void PrintPreviewHandler::HandleGetPrinters(const base::ListValue* /*args*/) { | 
| 615   VLOG(1) << "Enumerate printers start"; | 633   VLOG(1) << "Enumerate printers start"; | 
| 616   printing::EnumeratePrinters(Profile::FromWebUI(web_ui()), | 634   printer_backend_proxy()->EnumeratePrinters(base::Bind( | 
| 617                               base::Bind(&PrintPreviewHandler::SetupPrinterList, | 635       &PrintPreviewHandler::SetupPrinterList, weak_factory_.GetWeakPtr())); | 
| 618                                          weak_factory_.GetWeakPtr())); |  | 
| 619 } | 636 } | 
| 620 | 637 | 
| 621 void PrintPreviewHandler::HandleGetPrivetPrinters(const base::ListValue* args) { | 638 void PrintPreviewHandler::HandleGetPrivetPrinters(const base::ListValue* args) { | 
| 622   if (!PrivetPrintingEnabled()) | 639   if (!PrivetPrintingEnabled()) | 
| 623     return web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrinterSearchDone"); | 640     return web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrinterSearchDone"); | 
| 624 #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) | 641 #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) | 
| 625   using local_discovery::ServiceDiscoverySharedClient; | 642   using local_discovery::ServiceDiscoverySharedClient; | 
| 626   scoped_refptr<ServiceDiscoverySharedClient> service_discovery = | 643   scoped_refptr<ServiceDiscoverySharedClient> service_discovery = | 
| 627       ServiceDiscoverySharedClient::GetInstance(); | 644       ServiceDiscoverySharedClient::GetInstance(); | 
| 628   StartPrivetLister(service_discovery); | 645   StartPrivetLister(service_discovery); | 
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1022         printing::kPrinterCapabilities, | 1039         printing::kPrinterCapabilities, | 
| 1023         GetPdfCapabilities(g_browser_process->GetApplicationLocale())); | 1040         GetPdfCapabilities(g_browser_process->GetApplicationLocale())); | 
| 1024     SendPrinterCapabilities(printer_name, std::move(printer_info)); | 1041     SendPrinterCapabilities(printer_name, std::move(printer_info)); | 
| 1025     return; | 1042     return; | 
| 1026   } | 1043   } | 
| 1027 | 1044 | 
| 1028   printing::PrinterSetupCallback cb = | 1045   printing::PrinterSetupCallback cb = | 
| 1029       base::Bind(&PrintPreviewHandler::SendPrinterCapabilities, | 1046       base::Bind(&PrintPreviewHandler::SendPrinterCapabilities, | 
| 1030                  weak_factory_.GetWeakPtr(), printer_name); | 1047                  weak_factory_.GetWeakPtr(), printer_name); | 
| 1031 | 1048 | 
| 1032   printing::ConfigurePrinterAndFetchCapabilities(Profile::FromWebUI(web_ui()), | 1049   printer_backend_proxy()->ConfigurePrinterAndFetchCapabilities(printer_name, | 
| 1033                                                  printer_name, cb); | 1050                                                                 cb); | 
| 1034 } | 1051 } | 
| 1035 | 1052 | 
| 1036 void PrintPreviewHandler::OnSigninComplete() { | 1053 void PrintPreviewHandler::OnSigninComplete() { | 
| 1037   if (print_preview_ui()) | 1054   if (print_preview_ui()) | 
| 1038     print_preview_ui()->OnReloadPrintersList(); | 1055     print_preview_ui()->OnReloadPrintersList(); | 
| 1039 } | 1056 } | 
| 1040 | 1057 | 
| 1041 void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { | 1058 void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { | 
| 1042   bool add_account = false; | 1059   bool add_account = false; | 
| 1043   bool success = args->GetBoolean(0, &add_account); | 1060   bool success = args->GetBoolean(0, &add_account); | 
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1145   // Getting the number formatting based on the locale and writing to | 1162   // Getting the number formatting based on the locale and writing to | 
| 1146   // dictionary. | 1163   // dictionary. | 
| 1147   settings->SetString(kNumberFormat, base::FormatDouble(123456.78, 2)); | 1164   settings->SetString(kNumberFormat, base::FormatDouble(123456.78, 2)); | 
| 1148   settings->SetInteger(kMeasurementSystem, system); | 1165   settings->SetInteger(kMeasurementSystem, system); | 
| 1149 } | 1166 } | 
| 1150 | 1167 | 
| 1151 void PrintPreviewHandler::HandleGetInitialSettings( | 1168 void PrintPreviewHandler::HandleGetInitialSettings( | 
| 1152     const base::ListValue* /*args*/) { | 1169     const base::ListValue* /*args*/) { | 
| 1153   // Send before SendInitialSettings() to allow cloud printer auto select. | 1170   // Send before SendInitialSettings() to allow cloud printer auto select. | 
| 1154   SendCloudPrintEnabled(); | 1171   SendCloudPrintEnabled(); | 
| 1155   base::PostTaskAndReplyWithResult( | 1172   printer_backend_proxy()->GetDefaultPrinter(base::Bind( | 
| 1156       BrowserThread::GetBlockingPool(), FROM_HERE, | 1173       &PrintPreviewHandler::SendInitialSettings, weak_factory_.GetWeakPtr())); | 
| 1157       base::Bind(&printing::GetDefaultPrinterOnBlockingPoolThread), |  | 
| 1158       base::Bind(&PrintPreviewHandler::SendInitialSettings, |  | 
| 1159                  weak_factory_.GetWeakPtr())); |  | 
| 1160 } | 1174 } | 
| 1161 | 1175 | 
| 1162 void PrintPreviewHandler::HandleForceOpenNewTab(const base::ListValue* args) { | 1176 void PrintPreviewHandler::HandleForceOpenNewTab(const base::ListValue* args) { | 
| 1163   std::string url; | 1177   std::string url; | 
| 1164   if (!args->GetString(0, &url)) | 1178   if (!args->GetString(0, &url)) | 
| 1165     return; | 1179     return; | 
| 1166   Browser* browser = chrome::FindBrowserWithWebContents(GetInitiator()); | 1180   Browser* browser = chrome::FindBrowserWithWebContents(GetInitiator()); | 
| 1167   if (!browser) | 1181   if (!browser) | 
| 1168     return; | 1182     return; | 
| 1169   chrome::AddSelectedTabWithURL(browser, | 1183   chrome::AddSelectedTabWithURL(browser, | 
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1702 | 1716 | 
| 1703 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1717 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 
| 1704   if (gaia_cookie_manager_service_) | 1718   if (gaia_cookie_manager_service_) | 
| 1705     gaia_cookie_manager_service_->RemoveObserver(this); | 1719     gaia_cookie_manager_service_->RemoveObserver(this); | 
| 1706 } | 1720 } | 
| 1707 | 1721 | 
| 1708 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1722 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 
| 1709     const base::Closure& closure) { | 1723     const base::Closure& closure) { | 
| 1710   pdf_file_saved_closure_ = closure; | 1724   pdf_file_saved_closure_ = closure; | 
| 1711 } | 1725 } | 
| OLD | NEW | 
|---|