summaryrefslogtreecommitdiffstats
path: root/extensions/test
diff options
context:
space:
mode:
authorreillyg <reillyg@chromium.org>2015-06-02 12:52:25 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-02 19:53:08 +0000
commit7840286891fbebe83603cc1c73e210c886ea1a76 (patch)
treee43e2d8c11e0fdd2c17b79530c9e4dead0c6b5e1 /extensions/test
parent739bae47cfd9ffd68c205baf680e3b2f92ab6e56 (diff)
downloadchromium_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.json15
-rw-r--r--extensions/test/data/api_test/printer_provider/usb_printers/test.js38
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');
+ }]);
+});