diff options
author | bors-servo <metajack+bors@gmail.com> | 2014-11-06 12:36:30 -0700 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2014-11-06 12:36:30 -0700 |
commit | 46154fb7ace37e438bddb80bf1e12f4d1f0e00a1 (patch) | |
tree | 3c3775adc59663e79277db0f030efb9808343859 /components/script/dom/bindings/codegen | |
parent | e781cb4d0c49905d250a4f1a91dcc09b4d3927c4 (diff) | |
parent | a9d68474c93f635f3a6bb1a0dced3b373793f57d (diff) | |
download | servo-46154fb7ace37e438bddb80bf1e12f4d1f0e00a1.tar.gz servo-46154fb7ace37e438bddb80bf1e12f4d1f0e00a1.zip |
auto merge of #3884 : brunoabinader/servo/dataset, r=jdm
This is a sub-task for #2974.
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 15 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/Configuration.py | 3 |
2 files changed, 10 insertions, 8 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 6d82dedb510..72bc0f4fdb4 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2091,7 +2091,7 @@ class CGDefineProxyHandler(CGAbstractMethod): let traps = ProxyTraps { getPropertyDescriptor: Some(getPropertyDescriptor), getOwnPropertyDescriptor: Some(getOwnPropertyDescriptor), - defineProperty: Some(defineProperty), + defineProperty: Some(defineProperty_), getOwnPropertyNames: ptr::null(), delete_: Some(delete_), enumerate: ptr::null(), @@ -3506,7 +3506,8 @@ class CGProxySpecialOperation(CGPerSignatureCall): # arguments[0] is the index or name of the item that we're setting. argument = arguments[1] template, _, declType, needsRooting = getJSToNativeConversionTemplate( - argument.type, descriptor, treatNullAs=argument.treatNullAs) + argument.type, descriptor, treatNullAs=argument.treatNullAs, + exceptionCode="return false;") templateValues = { "val": "(*desc).value", } @@ -4033,7 +4034,8 @@ class CGInterfaceTrait(CGThing): def members(): for m in descriptor.interface.members: - if m.isMethod() and not m.isStatic(): + if m.isMethod() and not m.isStatic() \ + and not m.isIdentifierLess(): name = CGSpecializedMethod.makeNativeName(descriptor, m) infallible = 'infallible' in descriptor.getExtendedAttributes(m) for idx, (rettype, arguments) in enumerate(m.signatures()): @@ -4064,7 +4066,10 @@ class CGInterfaceTrait(CGThing): rettype, arguments = operation.signatures()[0] infallible = 'infallible' in descriptor.getExtendedAttributes(operation) - arguments = method_arguments(rettype, arguments, ("found", "&mut bool")) + if operation.isGetter(): + arguments = method_arguments(rettype, arguments, ("found", "&mut bool")) + else: + arguments = method_arguments(rettype, arguments) rettype = return_type(rettype, infallible) yield name, arguments, rettype @@ -4551,7 +4556,7 @@ class CGBindingRoot(CGThing): 'dom::bindings::error::throw_dom_exception', 'dom::bindings::error::throw_type_error', 'dom::bindings::proxyhandler', - 'dom::bindings::proxyhandler::{_obj_toString, defineProperty}', + 'dom::bindings::proxyhandler::{_obj_toString, defineProperty_}', 'dom::bindings::proxyhandler::{FillPropertyDescriptor, GetExpandoObject}', 'dom::bindings::proxyhandler::{delete_, getPropertyDescriptor}', 'dom::bindings::str::ByteString', diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index e76719b3edf..be3ff10ab68 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -208,9 +208,6 @@ class Descriptor(DescriptorProvider): addIndexedOrNamedOperation('Creator', m) if m.isDeleter(): addIndexedOrNamedOperation('Deleter', m) - raise TypeError("deleter specified on %s but we " - "don't support deleters yet" % - self.interface.identifier.name) iface.setUserData('hasConcreteDescendant', True) iface = iface.parent |