Index: chrome/renderer/resources/extensions/declarative_content_custom_bindings.js |
diff --git a/chrome/renderer/resources/extensions/declarative_content_custom_bindings.js b/chrome/renderer/resources/extensions/declarative_content_custom_bindings.js |
index 3655c4642025569299a53eae8a50f33027bb8ba2..066413ea1b3f6c970408a3187c1e32b3c54a8241 100644 |
--- a/chrome/renderer/resources/extensions/declarative_content_custom_bindings.js |
+++ b/chrome/renderer/resources/extensions/declarative_content_custom_bindings.js |
@@ -2,19 +2,21 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// Custom bindings for the declarativeContent API. |
+// Custom binding for the declarativeContent API. |
+ |
+var binding = require('binding').Binding.create('declarativeContent'); |
-var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
var utils = require('utils'); |
var validate = require('schemaUtils').validate; |
-chromeHidden.registerCustomHook('declarativeContent', function(api) { |
+binding.registerCustomHook( function(api) { |
+ var declarativeContent = api.compiledApi; |
+ |
// Returns the schema definition of type |typeId| defined in |namespace|. |
- function getSchema(namespace, typeId) { |
- var apiSchema = utils.lookup(api.apiDefinitions, 'namespace', namespace); |
- var resultSchema = utils.lookup( |
- apiSchema.types, 'id', namespace + '.' + typeId); |
- return resultSchema; |
+ function getSchema(typeId) { |
+ return utils.lookup(api.schema.types, |
+ 'id', |
+ 'declarativeContent.' + typeId); |
} |
// Helper function for the constructor of concrete datatypes of the |
@@ -29,15 +31,17 @@ chromeHidden.registerCustomHook('declarativeContent', function(api) { |
} |
} |
instance.instanceType = 'declarativeContent.' + typeId; |
- var schema = getSchema('declarativeContent', typeId); |
+ var schema = getSchema(typeId); |
validate([instance], [schema]); |
} |
// Setup all data types for the declarative content API. |
- chrome.declarativeContent.PageStateMatcher = function(parameters) { |
+ declarativeContent.PageStateMatcher = function(parameters) { |
setupInstance(this, parameters, 'PageStateMatcher'); |
}; |
- chrome.declarativeContent.ShowPageAction = function(parameters) { |
+ declarativeContent.ShowPageAction = function(parameters) { |
setupInstance(this, parameters, 'ShowPageAction'); |
}; |
}); |
+ |
+exports.binding = binding.generate(); |