Bug 222918

Summary: Align internal methods of WindowProperties object with the spec
Product: WebKit Reporter: Alexey Shvayka <ashvayka>
Component: DOMAssignee: Alexey Shvayka <ashvayka>
Status: RESOLVED FIXED    
Severity: Minor CC: cdumez, clopez, darin, ews-watchlist, keith_miller, mark.lam, msaboff, saam, sam, tzagallo, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
See Also: https://github.com/web-platform-tests/wpt/pull/27970
Attachments:
Description Flags
Patch
none
Patch
none
Patch for landing ews-feeder: commit-queue-

Alexey Shvayka
Reported 2021-03-08 09:49:25 PST
Align Window named properties object with the spec
Attachments
Patch (25.35 KB, patch)
2021-03-08 11:06 PST, Alexey Shvayka
no flags
Patch (31.63 KB, patch)
2021-04-28 17:20 PDT, Alexey Shvayka
no flags
Patch for landing (29.52 KB, patch)
2021-05-20 12:27 PDT, Alexey Shvayka
ews-feeder: commit-queue-
Alexey Shvayka
Comment 1 2021-03-08 11:06:32 PST
EWS Watchlist
Comment 2 2021-03-08 11:07:39 PST
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
Alexey Shvayka
Comment 3 2021-03-08 12:30:39 PST
Comment on attachment 422588 [details] Patch Removing r? since wpt/WebIDL/ecmascript-binding/class-string-named-properties-object.window.html depends on symbol properties being treated as ordinary by WindowProperties, which does contradict the current spec, but 1) feels like an expected behavior, 2) aligns with legacy platform objects, and 3) is implemented by Blink. Let's align with Blink and change the spec.
Radar WebKit Bug Importer
Comment 4 2021-03-15 10:50:14 PDT
Alexey Shvayka
Comment 5 2021-04-28 17:20:15 PDT
Alexey Shvayka
Comment 6 2021-04-29 09:02:11 PDT
(In reply to Alexey Shvayka from comment #3) > Let's align with Blink and change the spec. Gecko team implements WindowProperties without underlying structure and rightfully doesn't want to add one just for symbols. Also, even with proposed change (https://github.com/heycam/webidl/pull/963), [[DefineOwnProperty]] would remain weird with supported properties and their current descriptors. There is a consensus to align implementations with current spec, which is what new patch does.
Sam Weinig
Comment 7 2021-04-29 09:26:02 PDT
Comment on attachment 427313 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=427313&action=review > Source/WebCore/bindings/js/JSDOMWindowProperties.cpp:138 > + return typeError(lexicalGlobalObject, scope, shouldThrow, "Unable to define a property on a WindowProperties object."_s); This error message reads a little weird to me. Maybe, "Defining a property on a WindowProperties is not allowed." or something like that to indicate it is not just failing because something went wrong, but we are actively preventing this on purpose? > LayoutTests/imported/w3c/ChangeLog:7 > + Are test changes here from upstream or do you plan to upstream them?
Alexey Shvayka
Comment 8 2021-04-29 10:00:05 PDT
(In reply to Sam Weinig from comment #7) Thank you for review! > > Source/WebCore/bindings/js/JSDOMWindowProperties.cpp:138 > > + return typeError(lexicalGlobalObject, scope, shouldThrow, "Unable to define a property on a WindowProperties object."_s); > > This error message reads a little weird to me. Maybe, "Defining a property > on a WindowProperties is not allowed." or something like that to indicate it > is not just failing because something went wrong, but we are actively > preventing this on purpose? Nicely noted, will change to "is not allowed". > > LayoutTests/imported/w3c/ChangeLog:7 > > + > > Are test changes here from upstream or do you plan to upstream them? Since test changes are rather substantial, I would rather have them reviewed by WPT people as well, before upstreaming (https://github.com/web-platform-tests/wpt/pull/27970).
Sam Weinig
Comment 9 2021-05-06 18:03:00 PDT
(In reply to Alexey Shvayka from comment #8) > (In reply to Sam Weinig from comment #7) > > Thank you for review! > > > > Source/WebCore/bindings/js/JSDOMWindowProperties.cpp:138 > > > + return typeError(lexicalGlobalObject, scope, shouldThrow, "Unable to define a property on a WindowProperties object."_s); > > > > This error message reads a little weird to me. Maybe, "Defining a property > > on a WindowProperties is not allowed." or something like that to indicate it > > is not just failing because something went wrong, but we are actively > > preventing this on purpose? > > Nicely noted, will change to "is not allowed". > > > > LayoutTests/imported/w3c/ChangeLog:7 > > > + > > > > Are test changes here from upstream or do you plan to upstream them? > > Since test changes are rather substantial, I would rather have them reviewed > by WPT people as well, before upstreaming > (https://github.com/web-platform-tests/wpt/pull/27970). Sounds good.
Alexey Shvayka
Comment 10 2021-05-20 12:27:37 PDT
Created attachment 429205 [details] Patch for landing Reword error message and sync now reviewed WPT from upstream.
Alexey Shvayka
Comment 11 2021-05-20 15:14:46 PDT
Note You need to log in before you can comment on or make changes to this bug.