Chromium Code Reviews| Index: chrome/renderer/resources/extensions/schema_generated_bindings.js |
| diff --git a/chrome/renderer/resources/extensions/schema_generated_bindings.js b/chrome/renderer/resources/extensions/schema_generated_bindings.js |
| index 66c193acac0d7f831b787cc5c8bcf9daa10f519a..5ea378a3765f7d9b3cd87db02d4900da20f02499 100644 |
| --- a/chrome/renderer/resources/extensions/schema_generated_bindings.js |
| +++ b/chrome/renderer/resources/extensions/schema_generated_bindings.js |
| @@ -10,6 +10,8 @@ |
| var GetExtensionAPIDefinition = |
|
Aaron Boodman
2012/05/10 17:14:49
I would like to propose the following rule:
When
battre
2012/05/10 18:05:22
I like that.
I have done this for "utils" and add
|
| requireNative('apiDefinitions').GetExtensionAPIDefinition; |
| var sendRequest = require('sendRequest').sendRequest; |
| + var forEach = require('utils').forEach; |
| + var lookup = require('utils').lookup; |
| var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
| @@ -22,13 +24,6 @@ |
| var internalAPIs = {}; |
| chromeHidden.internalAPIs = internalAPIs; |
| - function forEach(dict, f) { |
| - for (key in dict) { |
| - if (dict.hasOwnProperty(key)) |
| - f(key, dict[key]); |
| - } |
| - } |
| - |
| // Validate arguments. |
| var schemaValidator = new chromeHidden.JSONSchemaValidator(); |
| chromeHidden.validate = function(args, parameterSchemas) { |
| @@ -359,6 +354,7 @@ |
| // TODO(rafaelw): Consider providing some convenient override points |
| // for api functions that wish to insert themselves into the call. |
| var platform = getPlatform(); |
| + var eventsSchema = lookup(apiDefinitions, 'namespace', 'events'); |
| apiDefinitions.forEach(function(apiDef) { |
| // TODO(kalman): Remove this, or refactor schema_generated_bindings.js so |
| @@ -495,12 +491,12 @@ |
| if (customEvent) { |
| mod[eventDef.name] = new customEvent( |
| eventName, eventDef.parameters, eventDef.extraParameters, |
| - eventDef.options); |
| + eventDef.options, eventsSchema); |
| } else if (eventDef.anonymous) { |
| mod[eventDef.name] = new chrome.Event(); |
| } else { |
| mod[eventDef.name] = new chrome.Event( |
| - eventName, eventDef.parameters, eventDef.options); |
| + eventName, eventDef.parameters, eventDef.options, eventsSchema); |
| } |
| }); |
| } |