Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make getOwnPropertyDescriptor hold the correct value for indexed/named properties #25446

Merged
merged 1 commit into from Jan 10, 2020
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -5147,8 +5147,7 @@ def getBody(self):
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 @@ def getBody(self):
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 @@ def getBody(self):
}
}
""" + 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
@@ -1,14 +1,5 @@
[legacy-platform-object.html]
type: testharness
[[[GetOwnProperty\]\] with getters and no setters]
expected: FAIL

[[[GetOwnProperty\]\] with named property getters and setters]
expected: FAIL

[[[GetOwnProperty\]\] with indexed property getters and setters]
expected: FAIL

[Test [[DefineOwnProperty\]\] with no indexed property setter support.]
expected: FAIL

@@ -6,6 +6,3 @@
[Trying to set an expando with an indexed property name past the end of the list]
expected: FAIL

[Trying to delete an indexed property name should never work]
expected: FAIL

@@ -5,9 +5,3 @@
[Setting property for key 9 with accessor property on prototype]
expected: FAIL

[Getting property descriptor for key 9]
expected: FAIL

[Getting property descriptor for key x]
expected: FAIL

@@ -1,8 +1,5 @@
[form-nameditem.html]
type: testharness
[Name for a single element should work]
expected: FAIL

[All listed elements except input type=image should be present in the form]
expected: FAIL

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.