| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // printerProviderInternal |
| // Internal API used to run callbacks passed to chrome.printerProvider API |
| // events. |
| // When dispatching a chrome.printerProvider API event, its arguments will be |
| // massaged in custom bindings so a callback is added. The callback uses |
| // chrome.printerProviderInternal API to report the event results. |
| // In order to identify the event for which the callback is called, the event |
| // is internally dispatched having a requestId argument (which is removed from |
| // the argument list before the event actually reaches the event listeners). The |
| // requestId is forwarded to the chrome.printerProviderInternal API functions. |
| namespace printerProviderInternal { |
| // Same as in printerProvider.PrintError enum API. |
| enum PrintError { OK, FAILED, INVALID_TICKET, INVALID_DATA }; |
| |
| // Information needed by a renderer to create a blob instance. |
| dictionary BlobInfo { |
| // The blob UUID. |
| DOMString blobUuid; |
| |
| // The blob content type. |
| DOMString type; |
| |
| // The blob size. |
| long size; |
| }; |
| |
| // Callback carrying information needed by a renderer to create a blob. |
| callback BlobCallback = void(BlobInfo blobInfo); |
| |
| interface Functions { |
| // Runs callback to printerProvider.onGetPrintersRequested event. |
| // |requestId|: Parameter identifying the event instance for which the |
| // callback is run. |
| // |printers|: List of printers reported by the extension. |
| void reportPrinters(long requestId, |
| optional printerProvider.PrinterInfo[] printers); |
| |
| // Runs callback to printerProvider.onUsbAccessGranted event. |
| // |requestId|: Parameter identifying the event instance for which the |
| // callback is run. |
| // |printerInfo|: Printer information reported by the extension. |
| void reportUsbPrinterInfo(long requestId, |
| optional printerProvider.PrinterInfo printerInfo); |
| |
| // Runs callback to printerProvider.onGetCapabilityRequested event. |
| // |requestId|: Parameter identifying the event instance for which the |
| // callback is run. |
| // |error|: The printer capability returned by the extension. |
| void reportPrinterCapability(long request_id, optional object capability); |
| |
| // Runs callback to printerProvider.onPrintRequested event. |
| // |requestId|: Parameter identifying the event instance for which the |
| // callback is run. |
| // |error|: The requested print job result. |
| void reportPrintResult(long request_id, optional PrintError error); |
| |
| // Gets information needed to create a print data blob for a print request. |
| // The blob will be dispatched to the extension via |
| // printerProvider.onPrintRequested event. |
| // |requestId|: The request id for the print request for which data is |
| // needed. |
| // |callback|: Callback called with the information needed to create a blob |
| // of print data. |
| void getPrintData(long requestId, BlobCallback callback); |
| }; |
| }; |
| |