diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-01-26 01:40:57 +0100 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-02-25 15:15:44 +0100 |
commit | 2c4d5da86685537b550f05a6a142c6543320ab0f (patch) | |
tree | 6c32d0df6291a4a3597017eec62c8a23fbb9d55e /components/script/dom/bindings/codegen/CodegenRust.py | |
parent | 787c4e568d30192342a82788fad26bee5704ebc1 (diff) | |
download | servo-2c4d5da86685537b550f05a6a142c6543320ab0f.tar.gz servo-2c4d5da86685537b550f05a6a142c6543320ab0f.zip |
Lazily-define standard ECMAScript classes
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 27272370cc1..99d60e379b6 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1768,17 +1768,21 @@ class CGDOMJSClass(CGThing): def define(self): args = { "domClass": DOMClass(self.descriptor), + "enumerateHook": "None", "finalizeHook": FINALIZE_HOOK_NAME, "flags": "0", "name": str_to_const_array(self.descriptor.interface.identifier.name), "outerObjectHook": self.descriptor.outerObjectHook, + "resolveHook": "None", "slots": "1", "traceHook": TRACE_HOOK_NAME, } if self.descriptor.isGlobal(): assert not self.descriptor.weakReferenceable + args["enumerateHook"] = "Some(js::jsapi::JS_EnumerateStandardClasses)" args["flags"] = "JSCLASS_IS_GLOBAL | JSCLASS_DOM_GLOBAL" args["slots"] = "JSCLASS_GLOBAL_SLOT_COUNT + 1" + args["resolveHook"] = "Some(js::jsapi::JS_ResolveStandardClass)" args["traceHook"] = "js::jsapi::JS_GlobalObjectTraceHook" elif self.descriptor.weakReferenceable: args["slots"] = "2" @@ -1793,8 +1797,8 @@ static Class: DOMJSClass = DOMJSClass { delProperty: None, getProperty: None, setProperty: None, - enumerate: None, - resolve: None, + enumerate: %(enumerateHook)s, + resolve: %(resolveHook)s, convert: None, finalize: Some(%(finalizeHook)s), call: None, |