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) { |