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

Unified Diff: extensions/browser/api/printer_provider/printer_provider_api.h

Issue 900503002: List printers managed by extensions in print preview (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 10 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: extensions/browser/api/printer_provider/printer_provider_api.h
diff --git a/extensions/browser/api/printer_provider/printer_provider_api.h b/extensions/browser/api/printer_provider/printer_provider_api.h
index fbec8b3a946b2773117ddbc464b1b3671c780e4b..04fde74b51bdc5605f6f400b189136ba326c11c7 100644
--- a/extensions/browser/api/printer_provider/printer_provider_api.h
+++ b/extensions/browser/api/printer_provider/printer_provider_api.h
@@ -49,9 +49,11 @@ class PrinterProviderAPI : public BrowserContextKeyedAPI,
PrintJob();
~PrintJob();
- // The id of the printer that should handle the print job. This identifies
- // a printer within an extension and is provided by the extension via
- // chrome.printerProvider.onGetPrintersRequested event callback.
+ // The id of the printer that should handle the print job. The id is
+ // formatted as <extension_id>:<printer_id>, where <extension_id> is the
+ // id of the extension that manages the printer, and <printer_id> is
+ // the the printer's id within the extension (as reported via
+ // chrome.printerProvider.onGetPrintersRequested event callback).
std::string printer_id;
// The print job ticket.
@@ -83,25 +85,28 @@ class PrinterProviderAPI : public BrowserContextKeyedAPI,
// supported printers. The printer values reported by an extension are
// added "extensionId" property that is set to the ID of the extension
// returning the list.
+ // Note that the "id" property of printer values reported by an extension are
+ // rewriten as "<extension_id>:<id>" to ensure they are unique across
+ // different extensions.
void DispatchGetPrintersRequested(const GetPrintersCallback& callback);
- // Requests printer capability from the extension with id |extension_id| for
- // the printer with id |printer_id|. |printer_id| should be one of the printer
- // ids reported by |GetPrinters| callback.
+ // Requests printer capability for a printer with id |printer_id|.
+ // |printer_id| should be one of the printer ids reported by |GetPrinters|
+ // callback.
// It dispatches chrome.printerProvider.onGetCapabilityRequested event
- // to the extension.
+ // to the extension that manages the printer (which can be determined from
+ // |printer_id| value).
// |callback| is passed a dictionary value containing printer capabilities as
// reported by the extension.
- void DispatchGetCapabilityRequested(const std::string& extension_id,
- const std::string& printer_id,
+ void DispatchGetCapabilityRequested(const std::string& printer_id,
const GetCapabilityCallback& callback);
- // It dispatches chrome.printerProvider.onPrintRequested event to the
- // extension with id |extension_id| with the provided print job.
+ // It dispatches chrome.printerProvider.onPrintRequested event with the
+ // provided print job. The event is dispatched only to the extension that
+ // manages printer with id |job.printer_id|.
// |callback| is passed the print status returned by the extension, and it
// must not be null.
- void DispatchPrintRequested(const std::string& extension_id,
- const PrintJob& job,
+ void DispatchPrintRequested(const PrintJob& job,
const PrintCallback& callback);
private:
@@ -207,9 +212,11 @@ class PrinterProviderAPI : public BrowserContextKeyedAPI,
static const char* service_name() { return "PrinterProvider"; }
// PrinterProviderInternalAPIObserver implementation:
- void OnGetPrintersResult(const Extension* extension,
- int request_id,
- const base::ListValue& result) override;
+ void OnGetPrintersResult(
+ const Extension* extension,
+ int request_id,
+ const PrinterProviderInternalAPIObserver::PrinterInfoVector& result)
+ override;
void OnGetCapabilityResult(const Extension* extension,
int request_id,
const base::DictionaryValue& result) override;

Powered by Google App Engine
This is Rietveld 408576698