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

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

Issue 2918243002: Change getExtensionPrinters to cr.sendWithPromise (Closed)
Patch Set: Fix comment Created 3 years, 6 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 a499f4745d42efcb5eb97d4b3f1f726e635a1c6e..9edc62491404c6fad39146b72dfed2e052de6c89 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -709,13 +709,18 @@ void PrintPreviewHandler::HandleGetPrivetPrinterCapabilities(
void PrintPreviewHandler::HandleGetExtensionPrinters(
const base::ListValue* args) {
+ std::string callback_id;
+ CHECK(args->GetString(0, &callback_id));
+ CHECK(!callback_id.empty());
+
+ AllowJavascript();
EnsureExtensionPrinterHandlerSet();
// Make sure all in progress requests are canceled before new printer search
// starts.
extension_printer_handler_->Reset();
extension_printer_handler_->StartGetPrinters(
base::Bind(&PrintPreviewHandler::OnGotPrintersForExtension,
- weak_factory_.GetWeakPtr()));
+ weak_factory_.GetWeakPtr(), callback_id));
}
void PrintPreviewHandler::HandleGrantExtensionPrinterAccess(
@@ -1735,10 +1740,15 @@ void PrintPreviewHandler::EnsureExtensionPrinterHandlerSet() {
}
void PrintPreviewHandler::OnGotPrintersForExtension(
+ const std::string& callback_id,
const base::ListValue& printers,
bool done) {
- web_ui()->CallJavascriptFunctionUnsafe("onExtensionPrintersAdded", printers,
- base::Value(done));
+ AllowJavascript();
+
+ FireWebUIListener("extension-printers-added", printers);
+ if (done) {
+ ResolveJavascriptCallback(base::Value(callback_id), base::Value());
+ }
}
void PrintPreviewHandler::OnGotExtensionPrinterInfo(

Powered by Google App Engine
This is Rietveld 408576698