| Index: tools/json_schema_compiler/model.py
|
| diff --git a/tools/json_schema_compiler/model.py b/tools/json_schema_compiler/model.py
|
| index 5453e11c40a11a6abe9425d5df2a8e997ab726b5..2351ecd1f999b17bf7077c52d8baaeb00e09cd83 100644
|
| --- a/tools/json_schema_compiler/model.py
|
| +++ b/tools/json_schema_compiler/model.py
|
| @@ -212,6 +212,8 @@ class Property(object):
|
| # self.properties will already have some value from |_AddProperties|.
|
| self.properties.update(type_.properties)
|
| self.functions = type_.functions
|
| + elif json_type == 'function':
|
| + self.type_ = PropertyType.FUNCTION
|
| elif json_type == 'binary':
|
| self.type_ = PropertyType.BINARY
|
| else:
|
| @@ -293,6 +295,7 @@ class PropertyType(object):
|
| REF = _Info(False, "REF")
|
| CHOICES = _Info(False, "CHOICES")
|
| OBJECT = _Info(False, "OBJECT")
|
| + FUNCTION = _Info(False, "FUNCTION")
|
| BINARY = _Info(False, "BINARY")
|
| ANY = _Info(False, "ANY")
|
| ADDITIONAL_PROPERTIES = _Info(False, "ADDITIONAL_PROPERTIES")
|
| @@ -350,16 +353,6 @@ def _AddProperties(model, json, from_json=False, from_client=False):
|
| """
|
| model.properties = {}
|
| for name, property_json in json.get('properties', {}).items():
|
| - # TODO(calamity): support functions (callbacks) as properties. The model
|
| - # doesn't support it yet because the h/cc generators don't -- this is
|
| - # because we'd need to hook it into a base::Callback or something.
|
| - #
|
| - # However, pragmatically it's not necessary to support them anyway, since
|
| - # the instances of functions-on-properties in the extension APIs are all
|
| - # handled in pure Javascript on the render process (and .: never reach
|
| - # C++ let alone the browser).
|
| - if property_json.get('type') == 'function':
|
| - continue
|
| model.properties[name] = Property(
|
| model,
|
| name,
|
|
|