mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Make property descriptors hold named/indexed property values
This commit is contained in:
parent
1d645f3741
commit
111ede9c77
8 changed files with 6 additions and 30 deletions
|
@ -5147,8 +5147,7 @@ class CGDOMJSProxyHandler_getOwnPropertyDescriptor(CGAbstractExternMethod):
|
|||
attrs = "JSPROP_ENUMERATE"
|
||||
if self.descriptor.operations['IndexedSetter'] is None:
|
||||
attrs += " | JSPROP_READONLY"
|
||||
# FIXME(#11868) Should assign to desc.value, desc.get() is a copy.
|
||||
fillDescriptor = ("desc.get().value = result_root.get();\n"
|
||||
fillDescriptor = ("desc.value = result_root.get();\n"
|
||||
"fill_property_descriptor(MutableHandle::from_raw(desc), proxy.get(), (%s) as u32);\n"
|
||||
"return true;" % attrs)
|
||||
templateValues = {
|
||||
|
@ -5173,8 +5172,7 @@ class CGDOMJSProxyHandler_getOwnPropertyDescriptor(CGAbstractExternMethod):
|
|||
attrs = " | ".join(attrs)
|
||||
else:
|
||||
attrs = "0"
|
||||
# FIXME(#11868) Should assign to desc.value, desc.get() is a copy.
|
||||
fillDescriptor = ("desc.get().value = result_root.get();\n"
|
||||
fillDescriptor = ("desc.value = result_root.get();\n"
|
||||
"fill_property_descriptor(MutableHandle::from_raw(desc), proxy.get(), (%s) as u32);\n"
|
||||
"return true;" % attrs)
|
||||
templateValues = {
|
||||
|
@ -5221,7 +5219,7 @@ if !expando.is_null() {
|
|||
}
|
||||
}
|
||||
""" + namedGet + """\
|
||||
desc.get().obj = ptr::null_mut();
|
||||
desc.obj = ptr::null_mut();
|
||||
return true;"""
|
||||
|
||||
def definition_body(self):
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#htmlformelement
|
||||
[Exposed=Window]
|
||||
[Exposed=Window, LegacyUnenumerableNamedProperties]
|
||||
interface HTMLFormElement : HTMLElement {
|
||||
[HTMLConstructor] constructor();
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#window
|
||||
[Global=Window, Exposed=Window]
|
||||
[Global=Window, Exposed=Window /*, LegacyUnenumerableNamedProperties */]
|
||||
/*sealed*/ interface Window : GlobalScope {
|
||||
// the current browsing context
|
||||
[Unforgeable] readonly attribute WindowProxy window;
|
||||
|
|
|
@ -822,8 +822,7 @@ unsafe extern "C" fn getOwnPropertyDescriptor(
|
|||
|
||||
assert!(desc.obj.is_null() || desc.obj == target.get());
|
||||
if desc.obj == target.get() {
|
||||
// FIXME(#11868) Should assign to desc.obj, desc.get() is a copy.
|
||||
desc.get().obj = proxy.get();
|
||||
desc.obj = proxy.get();
|
||||
}
|
||||
|
||||
true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue