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

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

Issue 1148383002: Add onGetUsbPrinterInfoRequested event to printerProvider API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only include the permission granting part in this patch. 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 3be7765d2e09a66fba97a310db91432bb86b81ed..cd5200be7173f9251e617c083f6bb255da1fccbe 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -676,6 +676,10 @@ void PrintPreviewHandler::RegisterMessages() {
"getExtensionPrinterCapabilities",
base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinterCapabilities,
base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ "grantExtensionUsbPrinterAccess",
+ base::Bind(&PrintPreviewHandler::HandleGrantExtensionUsbPrinterAccess,
+ base::Unretained(this)));
RegisterForGaiaCookieChanges();
}
@@ -756,6 +760,22 @@ void PrintPreviewHandler::HandleGetExtensionUsbPrinters(
&PrintPreviewHandler::OnGotExtensionUsbPrinters, base::Unretained(this)));
}
+void PrintPreviewHandler::HandleGrantExtensionUsbPrinterAccess(
+ const base::ListValue* args) {
+ std::string extension_id;
+ bool ok = args->GetString(0, &extension_id);
+ DCHECK(ok);
+ int device_id;
+ ok = args->GetInteger(1, &device_id);
+ DCHECK(ok);
+
+ EnsureExtensionPrinterHandlerSet();
+ extension_printer_handler_->StartGrantUsbPrinterAccess(
+ extension_id, device_id,
+ base::Bind(&PrintPreviewHandler::OnGotExtensionUsbPrinterInfo,
+ base::Unretained(this), extension_id, device_id));
+}
+
void PrintPreviewHandler::HandleGetExtensionPrinterCapabilities(
const base::ListValue* args) {
std::string printer_id;
@@ -1713,6 +1733,20 @@ void PrintPreviewHandler::OnGotExtensionUsbPrinters(
web_ui()->CallJavascriptFunction("onExtensionUsbPrintersAdded", printers);
}
+void PrintPreviewHandler::OnGotExtensionUsbPrinterInfo(
+ const std::string& extension_id,
+ int device_id,
+ const base::DictionaryValue& printer_info) {
+ if (printer_info.empty()) {
+ web_ui()->CallJavascriptFunction("failedToGetExtensionUsbPrinterInfo",
+ base::StringValue(extension_id),
+ base::FundamentalValue(device_id));
+ return;
+ }
+
+ web_ui()->CallJavascriptFunction("onExtensionUsbPrinterAdded", printer_info);
+}
+
void PrintPreviewHandler::OnGotExtensionPrinterCapabilities(
const std::string& printer_id,
const base::DictionaryValue& capabilities) {

Powered by Google App Engine
This is Rietveld 408576698