Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Unified Diff: chrome/browser/ui/webui/print_preview/print_preview_handler.cc

Issue 1153173002: Include USB printers in printer list as "provisional" devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698