Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: extensions/renderer/resources/permissions_custom_bindings.js

Issue 482603002: Unify logic of stack trace generation for extension errors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add $Error and $String.indexOf to safe builtins Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698