diff options
author | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-12-23 13:39:42 +0100 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-12-23 14:22:30 +0100 |
commit | ade0b7be8ea6fa46af6498eb8e9a22b76792a54b (patch) | |
tree | 738d6e1309f2304b6c0c2d5652e900cf8db1697e /components/script/dom/bindings/codegen | |
parent | c82eb3b1a450c4b7021e4d35d640b631f85ca39c (diff) | |
download | servo-ade0b7be8ea6fa46af6498eb8e9a22b76792a54b.tar.gz servo-ade0b7be8ea6fa46af6498eb8e9a22b76792a54b.zip |
Use the custom defineProperty trap when it exists.
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 35e3a05d2d0..8fee5cae6a5 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2086,11 +2086,14 @@ class CGDefineProxyHandler(CGAbstractMethod): return CGAbstractMethod.define(self) def definition_body(self): + customDefineProperty = 'defineProperty_' + if self.descriptor.operations['IndexedSetter'] or self.descriptor.operations['NamedSetter']: + customDefineProperty = 'defineProperty' body = """\ let traps = ProxyTraps { getPropertyDescriptor: Some(getPropertyDescriptor), getOwnPropertyDescriptor: Some(getOwnPropertyDescriptor), - defineProperty: Some(defineProperty_), + defineProperty: Some(%s), getOwnPropertyNames: ptr::null(), delete_: Some(delete_), enumerate: ptr::null(), @@ -2120,7 +2123,7 @@ let traps = ProxyTraps { }; CreateProxyHandler(&traps, &Class as *const _ as *const _) -""" % (FINALIZE_HOOK_NAME, +""" % (customDefineProperty, FINALIZE_HOOK_NAME, TRACE_HOOK_NAME) return CGGeneric(body) |