OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Custom binding for the Permissions API. | 5 // Custom binding for the Permissions API. |
6 | 6 |
7 var binding = require('binding').Binding.create('permissions'); | 7 var binding = require('binding').Binding.create('permissions'); |
8 | 8 |
9 var Event = require('event_bindings').Event; | 9 var Event = require('event_bindings').Event; |
10 | 10 |
(...skipping 24 matching lines...) Expand all Loading... | |
35 | 35 |
36 var args = arguments[0].permissions; | 36 var args = arguments[0].permissions; |
37 if (!args) | 37 if (!args) |
38 return arguments; | 38 return arguments; |
39 | 39 |
40 for (var i = 0; i < args.length; i += 1) { | 40 for (var i = 0; i < args.length; i += 1) { |
41 if (typeof(args[i]) == 'object') { | 41 if (typeof(args[i]) == 'object') { |
42 var a = args[i]; | 42 var a = args[i]; |
43 var keys = $Object.keys(a); | 43 var keys = $Object.keys(a); |
44 if (keys.length != 1) { | 44 if (keys.length != 1) { |
45 throw new Error("Too many keys in object-style permission."); | 45 throw new $Error.self("Too many keys in object-style permission."); |
not at google - send to devlin
2014/08/19 16:45:56
new Error() ... I think? This stuff is confusing.
| |
46 } | 46 } |
47 arguments[0].permissions[i] = keys[0] + '|' + | 47 arguments[0].permissions[i] = keys[0] + '|' + |
48 JSON.stringify(a[keys[0]]); | 48 JSON.stringify(a[keys[0]]); |
49 } | 49 } |
50 } | 50 } |
51 | 51 |
52 return arguments; | 52 return arguments; |
53 } | 53 } |
54 | 54 |
55 // Convert complex permissions to strings so they validate against the schema | 55 // Convert complex permissions to strings so they validate against the schema |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
88 for (var i = 0; i < args[0].permissions.length; i += 1) { | 88 for (var i = 0; i < args[0].permissions.length; i += 1) { |
89 args[0].permissions[i] = maybeConvertToObject(args[0].permissions[i]); | 89 args[0].permissions[i] = maybeConvertToObject(args[0].permissions[i]); |
90 } | 90 } |
91 $Function.call(Event.prototype.dispatchToListener, this, callback, args); | 91 $Function.call(Event.prototype.dispatchToListener, this, callback, args); |
92 }; | 92 }; |
93 permissions.onRemoved.dispatchToListener = | 93 permissions.onRemoved.dispatchToListener = |
94 permissions.onAdded.dispatchToListener; | 94 permissions.onAdded.dispatchToListener; |
95 }); | 95 }); |
96 | 96 |
97 exports.binding = binding.generate(); | 97 exports.binding = binding.generate(); |
OLD | NEW |