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 0567ac7303ada8a505bd78d3f192289d89cabfbf..3be7765d2e09a66fba97a310db91432bb86b81ed 100644 |
| --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
| +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
| @@ -27,6 +27,7 @@ |
| #include "base/strings/utf_string_conversions.h" |
| #include "base/threading/thread.h" |
| #include "base/threading/thread_restrictions.h" |
| +#include "base/threading/worker_pool.h" |
| #include "base/values.h" |
| #include "chrome/browser/app_mode/app_mode_utils.h" |
| #include "chrome/browser/browser_process.h" |
| @@ -45,6 +46,7 @@ |
| #include "chrome/browser/ui/browser_tabstrip.h" |
| #include "chrome/browser/ui/chrome_select_file_policy.h" |
| #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" |
| +#include "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" |
| #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
| #include "chrome/browser/ui/webui/print_preview/printer_handler.h" |
| #include "chrome/browser/ui/webui/print_preview/sticky_settings.h" |
| @@ -667,6 +669,10 @@ void PrintPreviewHandler::RegisterMessages() { |
| base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinters, |
| base::Unretained(this))); |
| web_ui()->RegisterMessageCallback( |
| + "getExtensionUsbPrinters", |
| + base::Bind(&PrintPreviewHandler::HandleGetExtensionUsbPrinters, |
| + base::Unretained(this))); |
| + web_ui()->RegisterMessageCallback( |
| "getExtensionPrinterCapabilities", |
| base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinterCapabilities, |
| base::Unretained(this))); |
| @@ -744,6 +750,12 @@ void PrintPreviewHandler::HandleGetExtensionPrinters( |
| &PrintPreviewHandler::OnGotPrintersForExtension, base::Unretained(this))); |
| } |
| +void PrintPreviewHandler::HandleGetExtensionUsbPrinters( |
| + const base::ListValue* args) { |
| + extension_printer_handler_->StartGetUsbPrinters(base::Bind( |
|
Vitaly Buka (NO REVIEWS)
2015/05/27 16:58:40
Can you avoid adding this function and remove as m
Vitaly Buka (NO REVIEWS)
2015/05/27 17:14:16
I am asking because every new type of printers cau
Reilly Grant (use Gerrit)
2015/05/28 21:45:00
Done.
|
| + &PrintPreviewHandler::OnGotExtensionUsbPrinters, base::Unretained(this))); |
| +} |
| + |
| void PrintPreviewHandler::HandleGetExtensionPrinterCapabilities( |
| const base::ListValue* args) { |
| std::string printer_id; |
| @@ -1683,11 +1695,10 @@ void PrintPreviewHandler::FillPrinterDescription( |
| #endif // defined(ENABLE_SERVICE_DISCOVERY) |
| void PrintPreviewHandler::EnsureExtensionPrinterHandlerSet() { |
| - if (extension_printer_handler_.get()) |
| - return; |
| - |
| - extension_printer_handler_ = |
| - PrinterHandler::CreateForExtensionPrinters(Profile::FromWebUI(web_ui())); |
| + if (!extension_printer_handler_.get()) { |
|
Vitaly Buka (NO REVIEWS)
2015/05/27 16:58:40
if (extension_printer_handler_)
Reilly Grant (use Gerrit)
2015/05/28 21:45:00
Done.
|
| + extension_printer_handler_.reset(new ExtensionPrinterHandler( |
| + Profile::FromWebUI(web_ui()), base::WorkerPool::GetTaskRunner(true))); |
| + } |
| } |
| void PrintPreviewHandler::OnGotPrintersForExtension( |
| @@ -1697,6 +1708,11 @@ void PrintPreviewHandler::OnGotPrintersForExtension( |
| base::FundamentalValue(done)); |
| } |
| +void PrintPreviewHandler::OnGotExtensionUsbPrinters( |
| + const base::ListValue& printers) { |
| + web_ui()->CallJavascriptFunction("onExtensionUsbPrintersAdded", printers); |
| +} |
| + |
| void PrintPreviewHandler::OnGotExtensionPrinterCapabilities( |
| const std::string& printer_id, |
| const base::DictionaryValue& capabilities) { |