aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2014-11-06 12:36:30 -0700
committerbors-servo <metajack+bors@gmail.com>2014-11-06 12:36:30 -0700
commit46154fb7ace37e438bddb80bf1e12f4d1f0e00a1 (patch)
tree3c3775adc59663e79277db0f030efb9808343859 /components/script/dom/bindings/codegen
parente781cb4d0c49905d250a4f1a91dcc09b4d3927c4 (diff)
parenta9d68474c93f635f3a6bb1a0dced3b373793f57d (diff)
downloadservo-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.py15
-rw-r--r--components/script/dom/bindings/codegen/Configuration.py3
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