Commit c8155e9
committed
ext/dom: use private(set) instead of @readonly for virtual properties.
@readonly on DOM property stubs was documentation only and did not
translate to any runtime flag, so reflection reported the properties
as writable while the write_property handler threw on assignment.
Declaring them public private(set) lets the engine reject external
writes via the normal visibility check and lets ReflectionProperty::
isWritable() answer honestly.
Also drops @readonly from the three non-virtual HTMLCollection
$children properties (Element, DocumentFragment, Document) and
applies private(set) there as well.
Depends on the assertion removal from GH-21769 for isReadable() to
stop aborting on these properties.1 parent 6fc440b commit c8155e9
3 files changed
+401
-792
lines changed
0 commit comments