 Chromium Code Reviews
 Chromium Code Reviews Issue 2542363002:
  Interrogate PpdProvider from PrintPreview.  (Closed)
    
  
    Issue 2542363002:
  Interrogate PpdProvider from PrintPreview.  (Closed) 
  | Index: chrome/browser/ui/webui/print_preview/printer_backend_proxy.cc | 
| diff --git a/chrome/browser/ui/webui/print_preview/printer_backend_proxy.cc b/chrome/browser/ui/webui/print_preview/printer_backend_proxy.cc | 
| index effbb06c0d45e3532ef7a9dc6ff37666ed58006a..104453a8a10745c1886e9c8b6a103ab7ba98d816 100644 | 
| --- a/chrome/browser/ui/webui/print_preview/printer_backend_proxy.cc | 
| +++ b/chrome/browser/ui/webui/print_preview/printer_backend_proxy.cc | 
| @@ -52,34 +52,41 @@ std::unique_ptr<base::DictionaryValue> FetchCapabilitiesOnBlockingPool( | 
| return GetSettingsOnBlockingPool(device_name, basic_info); | 
| } | 
| -} // namespace | 
| - | 
| -std::string GetDefaultPrinterOnBlockingPoolThread() { | 
| - DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); | 
| +class PrinterBackendProxyImpl : public PrinterBackendProxy { | 
| 
Carlson
2016/12/02 19:10:22
Maybe a better suffix here would be Chrome instead
 
skau
2016/12/05 23:13:34
Renamed to 'Default'.  Chrome seems odd since Chro
 | 
| + public: | 
| + std::string GetDefaultPrinterOnBlockingPoolThread() override { | 
| + DCHECK( | 
| + content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); | 
| + | 
| + scoped_refptr<printing::PrintBackend> print_backend( | 
| + PrintBackend::CreateInstance(nullptr)); | 
| + | 
| + std::string default_printer = print_backend->GetDefaultPrinterName(); | 
| + VLOG(1) << "Default Printer: " << default_printer; | 
| + return default_printer; | 
| + } | 
| - scoped_refptr<printing::PrintBackend> print_backend( | 
| - PrintBackend::CreateInstance(nullptr)); | 
| + void EnumeratePrinters(const EnumeratePrintersCallback& cb) override { | 
| + base::PostTaskAndReplyWithResult( | 
| + content::BrowserThread::GetBlockingPool(), FROM_HERE, | 
| + base::Bind(&EnumeratePrintersOnBlockingPoolThread), cb); | 
| + } | 
| - std::string default_printer = print_backend->GetDefaultPrinterName(); | 
| - VLOG(1) << "Default Printer: " << default_printer; | 
| - return default_printer; | 
| -} | 
| + void ConfigurePrinterAndFetchCapabilities( | 
| + const std::string& device_name, | 
| + const PrinterSetupCallback& cb) override { | 
| + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 
| -void EnumeratePrinters(Profile* /* profile */, | 
| - const EnumeratePrintersCallback& cb) { | 
| - base::PostTaskAndReplyWithResult( | 
| - content::BrowserThread::GetBlockingPool(), FROM_HERE, | 
| - base::Bind(&EnumeratePrintersOnBlockingPoolThread), cb); | 
| -} | 
| + base::PostTaskAndReplyWithResult( | 
| + content::BrowserThread::GetBlockingPool(), FROM_HERE, | 
| + base::Bind(&FetchCapabilitiesOnBlockingPool, device_name), cb); | 
| + } | 
| +}; | 
| -void ConfigurePrinterAndFetchCapabilities(Profile* /* profile */, | 
| - const std::string& device_name, | 
| - const PrinterSetupCallback& cb) { | 
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 
| +} // namespace | 
| - base::PostTaskAndReplyWithResult( | 
| - content::BrowserThread::GetBlockingPool(), FROM_HERE, | 
| - base::Bind(&FetchCapabilitiesOnBlockingPool, device_name), cb); | 
| +std::unique_ptr<PrinterBackendProxy> PrinterBackendProxy::Create() { | 
| + return base::MakeUnique<PrinterBackendProxyImpl>(); | 
| } | 
| } // namespace printing |