$OpenBSD$ index 0f39a75..4723191 100644 --- dom/bindings/Codegen.py.orig Fri Feb 20 15:40:37 2015 +++ dom/bindings/Codegen.py Fri Feb 20 15:40:37 2015 @@ -9297,13 +9297,14 @@ class CGProxyUnwrap(CGAbstractMethod): type=self.descriptor.nativeType)) -class CGDOMJSProxyHandler_getOwnPropertyDescriptor(ClassMethod): +class CGDOMJSProxyHandler_getOwnPropDescriptor(ClassMethod): def __init__(self, descriptor): args = [Argument('JSContext*', 'cx'), Argument('JS::Handle', 'proxy'), Argument('JS::Handle', 'id'), + Argument('bool', 'ignoreNamedProps'), Argument('JS::MutableHandle', 'desc')] - ClassMethod.__init__(self, "getOwnPropertyDescriptor", "bool", args, + ClassMethod.__init__(self, "getOwnPropDescriptor", "bool", args, virtual=True, override=True) self.descriptor = descriptor @@ -9374,6 +9375,7 @@ class CGDOMJSProxyHandler_getOwnPropertyDescriptor(ClassMethod): condition = "!HasPropertyOnPrototype(cx, proxy, id)" if self.descriptor.interface.getExtendedAttribute('OverrideBuiltins'): condition = "(!isXray || %s)" % condition + condition = "!ignoreNamedProps && " + condition if self.descriptor.supportsIndexedProperties(): condition = "!IsArrayIndex(index) && " + condition namedGet = (CGIfWrapper(CGProxyNamedGetter(self.descriptor, templateValues), @@ -10024,7 +10026,7 @@ class CGDOMJSProxyHandler(CGClass): def __init__(self, descriptor): assert (descriptor.supportsIndexedProperties() or descriptor.supportsNamedProperties()) - methods = [CGDOMJSProxyHandler_getOwnPropertyDescriptor(descriptor), + methods = [CGDOMJSProxyHandler_getOwnPropDescriptor(descriptor), CGDOMJSProxyHandler_defineProperty(descriptor), ClassUsingDeclaration("mozilla::dom::DOMProxyHandler", "defineProperty"),