diff options
author | reillyg <reillyg@chromium.org> | 2015-06-02 12:52:25 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-02 19:53:08 +0000 |
commit | 7840286891fbebe83603cc1c73e210c886ea1a76 (patch) | |
tree | e43e2d8c11e0fdd2c17b79530c9e4dead0c6b5e1 /extensions/test | |
parent | 739bae47cfd9ffd68c205baf680e3b2f92ab6e56 (diff) | |
download | chromium_src-7840286891fbebe83603cc1c73e210c886ea1a76.zip chromium_src-7840286891fbebe83603cc1c73e210c886ea1a76.tar.gz chromium_src-7840286891fbebe83603cc1c73e210c886ea1a76.tar.bz2 |
Add onGetUsbPrinterInfoRequested event to printerProvider API.
This event allows the system to request a printerProvider for information
about a USB printer. This can be used when the app has recently been given
permission to access the device, after the printerProvider has already
provided an regular printer enumeration through onGetUsbPrintersRequested.
BUG=468955
Review URL: https://codereview.chromium.org/1148383002
Cr-Commit-Position: refs/heads/master@{#332452}
Diffstat (limited to 'extensions/test')
-rw-r--r-- | extensions/test/data/api_test/printer_provider/usb_printers/manifest.json | 15 | ||||
-rw-r--r-- | extensions/test/data/api_test/printer_provider/usb_printers/test.js | 38 |
2 files changed, 53 insertions, 0 deletions
diff --git a/extensions/test/data/api_test/printer_provider/usb_printers/manifest.json b/extensions/test/data/api_test/printer_provider/usb_printers/manifest.json new file mode 100644 index 0000000..f11bc97 --- /dev/null +++ b/extensions/test/data/api_test/printer_provider/usb_printers/manifest.json @@ -0,0 +1,15 @@ +{ + "name": "Test USB printer provider", + "description": "Test extension for chrome.printerProvider.onUsbAccessGranted event", + "manifest_version": 2, + "version": "0.1", + "app": { + "background": { + "scripts": ["test.js"] + } + }, + "permissions": [ + "printerProvider", + "usb" + ] +} diff --git a/extensions/test/data/api_test/printer_provider/usb_printers/test.js b/extensions/test/data/api_test/printer_provider/usb_printers/test.js new file mode 100644 index 0000000..8df1ed1 --- /dev/null +++ b/extensions/test/data/api_test/printer_provider/usb_printers/test.js @@ -0,0 +1,38 @@ +// 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. + +chrome.test.sendMessage('loaded', function(test) { + chrome.test.runTests([function printTest() { + if (test == 'NO_LISTENER') { + chrome.test.sendMessage('ready'); + chrome.test.succeed(); + return; + } + + chrome.printerProvider.onGetUsbPrinterInfoRequested.addListener( + function(device, callback) { + chrome.test.assertFalse(!!chrome.printerProviderInternal); + chrome.test.assertTrue(!!callback); + + if (test == 'EMPTY_RESPONSE') { + callback(); + } else { + callback({ + 'id': 'usbDevice-' + device.device, + 'name': 'Test Printer', + 'description': 'This printer is a USB device.', + }); + } + + chrome.test.assertThrows( + callback, + [], + 'Event callback must not be called more than once.'); + + chrome.test.succeed(); + }); + + chrome.test.sendMessage('ready'); + }]); +}); |