| Index: chrome/renderer/resources/extensions/permissions_custom_bindings.js
|
| diff --git a/chrome/renderer/resources/extensions/permissions_custom_bindings.js b/chrome/renderer/resources/extensions/permissions_custom_bindings.js
|
| index b32a57deb5e34e350a549405b5aeed636d95d2b0..e728080493f9344b8ecd30b3a8ef7e0ffebe4268 100644
|
| --- a/chrome/renderer/resources/extensions/permissions_custom_bindings.js
|
| +++ b/chrome/renderer/resources/extensions/permissions_custom_bindings.js
|
| @@ -2,21 +2,23 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -// Custom bindings for the Permissions API.
|
| +// Custom binding for the Permissions API.
|
| +
|
| +var binding = require('binding').Binding.create('permissions');
|
|
|
| -var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
|
| var sendRequest = require('sendRequest').sendRequest;
|
| var lastError = require('lastError');
|
|
|
| -// These custom bindings are only necessary because it is not currently
|
| +// These custom binding are only necessary because it is not currently
|
| // possible to have a union of types as the type of the items in an array.
|
| // Once that is fixed, this entire file should go away.
|
| // See,
|
| // https://code.google.com/p/chromium/issues/detail?id=162044
|
| // https://code.google.com/p/chromium/issues/detail?id=162042
|
| // TODO(bryeung): delete this file.
|
| -chromeHidden.registerCustomHook('permissions', function(api) {
|
| +binding.registerCustomHook(function(api) {
|
| var apiFunctions = api.apiFunctions;
|
| + var permissions = api.compiledApi;
|
|
|
| function maybeConvertToObject(str) {
|
| var parts = str.split('|');
|
| @@ -80,12 +82,14 @@ chromeHidden.registerCustomHook('permissions', function(api) {
|
| // dispatchToListener call happens after argument validation, which works
|
| // around the problem that Permissions.permissions is supposed to be a list
|
| // of strings.
|
| - chrome.permissions.onAdded.dispatchToListener = function(callback, args) {
|
| + permissions.onAdded.dispatchToListener = function(callback, args) {
|
| for (var i = 0; i < args[0].permissions.length; i += 1) {
|
| args[0].permissions[i] = maybeConvertToObject(args[0].permissions[i]);
|
| }
|
| chrome.Event.prototype.dispatchToListener(callback, args);
|
| };
|
| - chrome.permissions.onRemoved.dispatchToListener =
|
| - chrome.permissions.onAdded.dispatchToListener;
|
| + permissions.onRemoved.dispatchToListener =
|
| + permissions.onAdded.dispatchToListener;
|
| });
|
| +
|
| +exports.binding = binding.generate();
|
|
|