Chromium Code Reviews| Index: chrome/test/data/extensions/api_test/permissions/optional_updates_bindings/background.js |
| diff --git a/chrome/test/data/extensions/api_test/permissions/optional_updates_bindings/background.js b/chrome/test/data/extensions/api_test/permissions/optional_updates_bindings/background.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..fd9def135d39397621cc3f04177f19575339a355 |
| --- /dev/null |
| +++ b/chrome/test/data/extensions/api_test/permissions/optional_updates_bindings/background.js |
| @@ -0,0 +1,27 @@ |
| +// 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. |
| + |
| +// window.html will turn around and call this when it loads. |
| +// |otherWindow| is its window object. |
| +function runTest(otherWindow) { |
| + chrome.test.runWithUserGesture(function() { |
| + chrome.permissions.request({permissions: ['alarms']}, function(granted) { |
| + chrome.test.assertTrue(granted); |
| + // Assert that the bindings have been updated on ourselves the background |
| + // page, and the tab that was created. |
| + var expectedAlarmsKeys = [ |
| + 'clear', 'clearAll', 'create', 'get', 'getAll', 'onAlarm']; |
| + [window, otherWindow].forEach(function(w) { |
| + chrome.test.assertEq(expectedAlarmsKeys, |
| + Object.keys(w.chrome.alarms).sort()); |
|
Devlin
2015/06/03 20:53:37
While the alarms api is pretty stable, I think it'
not at google - send to devlin
2015/06/03 21:53:03
I think it's stronger to check all, and I don't se
|
| + }); |
| + chrome.test.succeed(); |
| + }); |
| + }); |
| +} |
| + |
| +// This is the important part; creating a new window would cause the optional |
| +// pemissions to be updated on itself, rather than both the window and the |
| +// background page. |
| +chrome.tabs.create({url: 'window.html'}); |