diff options
author | Alexandrov Sergey <splavgm@gmail.com> | 2016-09-20 14:50:21 +0300 |
---|---|---|
committer | Alexandrov Sergey <splavgm@gmail.com> | 2016-09-20 14:50:21 +0300 |
commit | 3488d15022802eb41572415a880d18d9abfaffb6 (patch) | |
tree | 430f03c7d3a4102a18aad9d7d8d31770d7310cb4 /components/script/dom/bindings/codegen | |
parent | 77651959e2ccab73d6785a67e242d85445e81dfb (diff) | |
download | servo-3488d15022802eb41572415a880d18d9abfaffb6.tar.gz servo-3488d15022802eb41572415a880d18d9abfaffb6.zip |
fix JS IndexedGetter and NamedSetter bindings generation
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 486758182d2..eb6bb76bde0 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -4831,13 +4831,12 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod): " let this = UnwrapProxy(proxy);\n" + " let this = &*this;\n" + CGIndenter(CGProxyIndexedSetter(self.descriptor)).define() + - " return true;\n" + + " return (*opresult).succeed();\n" + "}\n") elif self.descriptor.operations['IndexedGetter']: set += ("if get_array_index_from_id(cx, id).is_some() {\n" + - " return false;\n" + - " //return ThrowErrorMessage(cx, MSG_NO_PROPERTY_SETTER, \"%s\");\n" + - "}\n") % self.descriptor.name + " return (*opresult).failNoIndexedSetter();\n" + + "}\n") namedSetter = self.descriptor.operations['NamedSetter'] if namedSetter: @@ -4853,15 +4852,10 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod): else: set += ("if RUST_JSID_IS_STRING(id) {\n" + CGIndenter(CGProxyNamedGetter(self.descriptor)).define() + - " if (found) {\n" - # TODO(Issue 5876) - " //return js::IsInNonStrictPropertySet(cx)\n" + - " // ? opresult.succeed()\n" + - " // : ThrowErrorMessage(cx, MSG_NO_NAMED_SETTER, \"${name}\");\n" + - " return (*opresult).succeed();\n" + - " }\n" + - " return (*opresult).succeed();\n" - "}\n") % (self.descriptor.name, self.descriptor.name) + " if result.is_some() {\n" + " return (*opresult).failNoNamedSetter();\n" + " }\n" + "}\n") set += "return proxyhandler::define_property(%s);" % ", ".join(a.name for a in self.args) return set |