Test suites for Web platform specs — including WHATWG, W3C, and others
Thank you Ryosuke!
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=250936 (#38197)
This WebKit-reviewed test ensure that form controls in disconnected subtrees update validity status of their <fieldset>
ancestors.
Thanks Ryosuke!
WPT: https://github.com/web-platform-tests/wpt/pull/38197 (should get reviewed and merged automatically)
This WebKit-reviewed test ensure that form controls in disconnected subtrees update validity status of their <fieldset>
ancestors.
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=251097 (#38174)
This WebKit-reviewed tests ensure that formDisabledCallback()
isn't called when disabled-ness hasn't actually changed (e.g. with <fieldset disabled>
ancestor).
Thanks Ryosuke!
WPT: https://github.com/web-platform-tests/wpt/pull/38174 (should get reviewed and merged automatically)
formDisabledCallback() sometimes fires even when disabled-ness hasn't changed https://bugs.webkit.org/show_bug.cgi?id=251097
Reviewed by NOBODY (OOPS!).
This change:
The latter wasn't a huge issue before form-associated custom elements were introduced, whose disabledAttributeChanged() calls into userland JS code, yet even apart from that, this change eliminates redundant work for native controls and even makes psedo-class invalidation more precise, reducing matches{Valid,Invalid}PseudoClass() calls.
Also, moving the pseudo-class invalidation into a single function paves the way for a follow-up patch that will invalidate a few more selectors to match the spec.
Aligns WebKit with Blink and Gecko.
This WebKit-reviewed tests ensure that formDisabledCallback()
isn't called when disabled-ness hasn't actually changed (e.g. with <fieldset disabled>
ancestor).
REGRESSION (Safari 14-16): Duplicated CR-LF in textarea with wrap="hard" https://bugs.webkit.org/show_bug.cgi?id=249923 rdar://problem/103870498
Reviewed by Antti Koivisto.
This was caused by a slight confusion of when legacy line layout sets "endsWithBreak" on a line. While initially this bit was introduced for (previousLineBrokeAtBR), over time it turned into a "any type of line break" bit. skipToNextSoftLineBreakPosition now checks for "any line break" and also ignores the last line.
Canonical link: https://commits.webkit.org/258830@main
[webkitbugspy] Access issue milestone https://bugs.webkit.org/show_bug.cgi?id=250493 rdar://104147220
Reviewed by Aakash Jain.
Canonical link: https://commits.webkit.org/258831@main
[webkitbugspy] GitHub returns strings in errors list https://bugs.webkit.org/show_bug.cgi?id=250483 rdar://104142306
Reviewed by Aakash Jain.
Canonical link: https://commits.webkit.org/258832@main
[git-webkit] Resolve multiple cherry-picks https://bugs.webkit.org/show_bug.cgi?id=250468 rdar://104132930
Reviewed by Aakash Jain.
Double cherry-picks are confusing, and in most cases, both unneeded and unhelpful. Tooling should strongly encourage direct cherry-picks.
Canonical link: https://commits.webkit.org/258833@main
Rebaseline(255215@main): [ macOS arm64 ] 2X imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any(Layout tests) are constant failures https://bugs.webkit.org/show_bug.cgi?id=246278 rdar://problem/100981592
Reviewed by Eric Carlson.
Make sure to close explicitly VideoFrame to not trigger console warnings.
Canonical link: https://commits.webkit.org/258834@main
Add support for inbound rtp trackIdentifier stat field https://bugs.webkit.org/show_bug.cgi?id=250450 rdar://problem/104118773
Expose trackIdentifier and remove receiverId. This is needed as track stats might be removed in the future.
Reviewed by Eric Carlson.
Canonical link: https://commits.webkit.org/258835@main
Clean up PlatformCAFilters https://bugs.webkit.org/show_bug.cgi?id=250509
Reviewed by Simon Fraser.
PlatformCAFilters has a USE_CA_FILTERS
compile-time flag that can no longer be false
on Cocoa ports and the notion of an "internalFilterPropertyIndex" which is no longer
relevant without USE_CA_FILTERS
.
The removal of internalFilterPropertyIndex percolates up to GraphicsLayerCA since it was used for animation purposes, so we remove any trace of an animation "sub-index" there too.
Canonical link: https://commits.webkit.org/258836@main
[Cocoa] Encrypted media playback fails with "ContentKey support for SampleBuffer Renderers" enabled https://bugs.webkit.org/show_bug.cgi?id=250473 rdar://104044401
Reviewed by Eric Carlson.
When this feature is enabled, decryption information is no longer attached at parse time, and instead needs to be attached at display time. However VTDecompressionSession cannot be used along with AVContentKeySession, and no frames are emitted from the session. This leads to a failure to seek, since the seek operation cannot complete until there is an image to display for the new current time.
When a CDMInstance is attached to the MediaPlayer, reconsider whether to create a AVSBDL or a decompression session, and always create the layer if there is a valid instance attached.
Canonical link: https://commits.webkit.org/258837@main
Remove incorrect FIXME about HTMLPreElement.width type
Remove incorrect FIXME about HTMLPreElement.width type https://bugs.webkit.org/show_bug.cgi?id=250274
Reviewed by Aditya Keerthi.
This patch is to remove incorrect FIXME, which mentions about 'width' attribute to be DOMString and referring to old bug. While using the test case from reference bug, 'width' attribute is 'number' type and same as other browsers (Firefox & Chrome).
Hence, it is an incorrect comment and this patch is to remove it.
Canonical link: https://commits.webkit.org/258838@main
AX: Remove obsolete comment in AXIsolatedTree::updateChildren regarding subtree removals https://bugs.webkit.org/show_bug.cgi?id=250503 rdar://problem/104156450
Reviewed by Chris Fleizach.
This comment in AXIsolatedTree::updateChildren regarding subtree removal behavior was obsoleted by this commit:
https://github.com/WebKit/WebKit/commit/755fc266ed7bbbbcd5505c9e842d89caf9796c19
Because the referenced variable (idsBeingChanged) was obsoleted by checking m_unresolvedPendingAppends in AXIsolatedTree::removeSubtreeFromNodeMap (which accomplishes the same thing).
Also, move the objectID().isValid() check performed before calling removeSubtreeFromNodeMap to removeSubtreeFromNodeMap itself. This makes AXIsolatedTree::updateChildren less dense, and improves the logging generated by removeSubtreeFromNodeMap as it will no longer log "Tried to remove AXID 0 that is no longer in m_nodeMap." for invalid IDs.
Canonical link: https://commits.webkit.org/258839@main
imported/w3c/web-platform-tests/fs/FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=250499 rdar://104154652
Reviewed by Tim Nguyen.
In current implementation, message-target.html could post a "LOADED" message to itself. However, it does not know how to handle "LOADED" message, and it would send a "ERROR" message to the source (itself) when it receives an unexpected message (as shown in add_message_event_handlers() in message-target.js). Since it does not know how to handle "ERROR" message too, it would keep posting this message to itself. For the flaky test, this means the child window created in a previous subtest could become the entry global object for code in a subsequent subtest, leading to unexpected result. For example, parsed url in window.open() can change when entry global object is different; see window open steps in https://html.spec.whatwg.org/multipage/nav-history-apis.html#window-open-steps.
To fix this issue, make sure message-target.html does not post "LOADED" message to itself.
Canonical link: https://commits.webkit.org/258840@main
[WPE] Gardening accessibility/custom-elements/pressed.html
Unreviewed test gardening.
Canonical link: https://commits.webkit.org/258841@main
REGRESSION(258307@main) ASSERTION FAILED: scale == [webView->_scrollView zoomScale] https://bugs.webkit.org/show_bug.cgi?id=250484 rdar://104142370
Reviewed by Wenson Hsieh and Saam Barati.
Adjust the assertion to ignore this case.
Canonical link: https://commits.webkit.org/258842@main
Crash when using appearance: meter
with a pseudo-element not backed by PseudoElement
https://bugs.webkit.org/show_bug.cgi?id=250488
rdar://104118606
Reviewed by Tim Nguyen.
257981@main introduced a crash due to an unconditional downcast to RenderMeter
.
The idea behind the unconditional downcast is that appearance: meter
should
behave like appearance: auto
, and only apply to <meter>
.
However, this behavior is currently broken for pseudo-elements not backed by
PseudoElement
. In this case, the element
passed into StyleAdjuster
is
null
, resulting in an early return from RenderTheme::adjustAppearanceForElement
,
where the effective appearance is not adjusted.
In this scenario, appearance: auto
should behave like appearance: none
. Fix
by ensuring the effective appearance of these pseudo-elements is none
.
Canonical link: https://commits.webkit.org/258843@main
REGRESSION(258591@main): [iOS] TestWebKitAPI.WKWebView.LocalStorageDirectoryExcludedFromBackup is consistently failing https://bugs.webkit.org/show_bug.cgi?id=250517 rdar://104175904
Reviewed by Chris Dumez.
We should create custom LocalStorage directory and set it to be excluded from backup when it's in use.
Canonical link: https://commits.webkit.org/258844@main
Use ThreadSafeWeakPtr to store m_parent in ScrollingStateNode https://bugs.webkit.org/show_bug.cgi?id=250497
Reviewed by Simon Fraser.
Use ThreadSafeWeakPtr to store m_parent in ScrollingStateNode much like https://commits.webkit.org/258795@main.
Source/WTF/wtf/RefPtr.h: (WTF::dynamicDowncast): Added versions of dynamicDowncast that take const RefPtr& and RefPtr&&.
Source/WTF/wtf/ThreadSafeWeakPtr.h: (WTF::ThreadSafeWeakPtr::operator=): Made operator= work with nullptr.
Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): (WebCore::AsyncScrollingCoordinator::frameViewVisualViewportChanged): (WebCore::AsyncScrollingCoordinator::frameViewWillBeDetached): (WebCore::AsyncScrollingCoordinator::updateIsMonitoringWheelEventsForFrameView): (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange): (WebCore::AsyncScrollingCoordinator::requestStartKeyboardScrollAnimation): (WebCore::AsyncScrollingCoordinator::requestStopKeyboardScrollAnimation): (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): (WebCore::AsyncScrollingCoordinator::requestAnimatedScrollToPosition): (WebCore::AsyncScrollingCoordinator::stopAnimatedScroll): (WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const): (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange): (WebCore::AsyncScrollingCoordinator::parentOfNode const): (WebCore::AsyncScrollingCoordinator::childrenOfNode const): (WebCore::AsyncScrollingCoordinator::setNodeLayers): (WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState): (WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): (WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeConstraints): (WebCore::AsyncScrollingCoordinator::setPositionedNodeConstraints): (WebCore::AsyncScrollingCoordinator::setRelatedOverflowScrollingNodes): (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons): (WebCore::AsyncScrollingCoordinator::synchronousScrollingReasons const): (WebCore::AsyncScrollingCoordinator::updateScrollSnapPropertiesWithFrameView):
Source/WebCore/page/scrolling/ScrollingStateNode.cpp: (WebCore::ScrollingStateNode::removeFromParent):
Source/WebCore/page/scrolling/ScrollingStateNode.h: (WebCore::ScrollingStateNode::parent const): (WebCore::ScrollingStateNode::setParent): (WebCore::ScrollingStateNode::parentNodeID const):
Source/WebCore/page/scrolling/ScrollingStateOverflowScrollProxyNode.cpp: (WebCore::ScrollingStateOverflowScrollProxyNode::dumpProperties const):
Source/WebCore/page/scrolling/ScrollingStateStickyNode.cpp: (WebCore::ScrollingStateStickyNode::computeLayerPosition const):
Source/WebCore/page/scrolling/ScrollingStateTree.cpp: (WebCore::ScrollingStateTree::createUnparentedNode): (WebCore::ScrollingStateTree::insertNode): (WebCore::ScrollingStateTree::removeNodeAndAllDescendants): (WebCore::ScrollingStateTree::stateNodeForID const): (WebCore::ScrollingStateTree::reconcileViewportConstrainedLayerPositions):
Source/WebCore/page/scrolling/ScrollingStateTree.h:
Source/WebCore/page/scrolling/ScrollingTreeNode.h:
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (WebKit::RemoteScrollingCoordinatorTransaction::decode):
Canonical link: https://commits.webkit.org/258845@main
Resync web-platform-tests/custom-elements https://bugs.webkit.org/show_bug.cgi?id=250505
Reviewed by Alexey Shvayka.
Resync web platform tests for custom elements as of fe2111adb8769ba2715016d3ede2aaf88cb06710.
Canonical link: https://commits.webkit.org/258846@main
imported/w3c/web-platform-tests/service-workers/service-worker/navigation-sets-cookie.https.html is flaky crashing https://bugs.webkit.org/show_bug.cgi?id=250486 rdar://104138207
Reviewed by Youenn Fablet.
Have WebServiceWorkerFetchTaskClient keep the preloadResponse as a CrossThreadData instead of a ResourceResponse. m_preloadResponse gets initialized on the service worker thread but the WebServiceWorkerFetchTaskClient object always gets destroyed on the main thread. A ResourceResponse contains AtomStrings and thus cannot be destroyed on another thread than the one it got constructed on.
Canonical link: https://commits.webkit.org/258847@main
REGRESSION(258663@main) [GStreamer] MIME API test crashes due to GStreamer being initialized in UIProcess https://bugs.webkit.org/show_bug.cgi?id=250480
Reviewed by Xabier Rodriguez-Calvar.
The registry no longer directly registers GStreamer elements. Instead it is done from call-sites, such as the WebRTC provider, when needed. Also the scanner is now able to refresh its internal state, this is needed in situations where the singleton might have been created before the registration of additional elements.
Canonical link: https://commits.webkit.org/258848@main
[UI-side compositing] alert() causes entire page contents to disappear https://bugs.webkit.org/show_bug.cgi?id=250501 rdar://104139106
Reviewed by Chris Dumez.
When a JavaScript alert/prompt/confirm dialog is shown, WebPageProxy::makeViewBlankIfUnpaintedSinceLastLoadCommit()
is called (see 236143@main). This consults m_hasUpdatedRenderingAfterDidCommitLoad
, but that was always false
with UI-side compositing on macOS, because it relied on code in WebPageProxy::didCommitLayerTree()
which
was iOS only.
So make WebPageProxy::didCommitLayerTree()
shared between macOS and iOS, and add some PageClient stubs for
macOS.
Canonical link: https://commits.webkit.org/258849@main
Unfortunately, this depends on re-landing https://bugs.webkit.org/show_bug.cgi?id=197963.
Thanks for review Darin!
element shouldn't override FormListedElement::setCustomValidity() https://bugs.webkit.org/show_bug.cgi?id=250627
Reviewed by NOBODY (OOPS!).
Per spec [1], element's constraint validation methods are the same as for other objects.
This change removes setCustomValidity() override, allowing element's customError() to be triggered, which aligns with all the other elements: their validity states are independent of willValidate().
Removal of validationMessage() override is non-observable: the message can't be retrieved for an element that is not a candidate for constraint validation [2].
Aligns WebKit with the spec and Gecko.
[1] https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element:the-constraint-validation-api [2] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-validationmessage
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=250453 (#37965)
This WebKit-reviewed test ensures that <textarea>
element's suffering from being missing validity state is conditional on it being mutable rather than a being candidate for constraint validation.
[@property] Invalidate matched declarations cache when property registrations change https://bugs.webkit.org/show_bug.cgi?id=250446 rdar://104113725
Reviewed by Antoine Quint.
Property registrations may affect interpretations of custom properties in the cache.
Canonical link: https://commits.webkit.org/258787@main
[ATSPI] Make Atspi::Role
enum class
https://bugs.webkit.org/show_bug.cgi?id=250452
Reviewed by Michael Catanzaro.
When working with ATSPI-related code, there are several different role
types. There are - ARIA role, WebCore::AccessibilityRole
, and
Atspi::Role
.
Currently Atspi::Role
is implemented as enum
, which makes it hard to
distinguish it from other role types when it's used as an argument or
a return type:
std::optional<unsigned> AccessibilityObjectAtspi::effectiveRole() const
Using enum class
instead should make such code more readable:
std::optional<Atspi::Role> AccessibilityObjectAtspi::effectiveRole() const
Canonical link: https://commits.webkit.org/258788@main
Throwing a v128 should not clobber other stack slots. https://bugs.webkit.org/show_bug.cgi?id=250312
Reviewed by Yusuke Suzuki.
Throwing a v128 is not currently supported, so we only allocate jsvalue-sized stack slots. This is bad, because we still MoveVector, and this can cause us to clobber important things. We should not clobber important things.
Canonical link: https://commits.webkit.org/258789@main
tiled-drawing/scrolling/scroll-snap tests fail with UI-side compositing https://bugs.webkit.org/show_bug.cgi?id=250438 rdar://104108634
Reviewed by Wenson Hsieh.
These tests do things like:
eventSender.keyDown("rightArrow");
expectTrue(document.scrollingElement.scrollLeft == (window.innerWidth * scale), "arrow key div scrolled to second div.");
With UI-side compositing, arrow handling hits AsyncScrollingCoordinator::requestScrollPositionUpdate(), which
bounces to the UI process, and then IPCs back to the web process via AsyncScrollingCoordinator::reconcileScrollingState()
which updates the ScrollableArea's scroll position, which is then read by scrollLeft
.
So the tests need to wait for a presentation update after dispatching the key. Add a UIHelper function for this, and change the tests to use it.
Canonical link: https://commits.webkit.org/258790@main
Fix *-baseline computation for {text-,}after-edge/ideographic/baseline
Fix *-baseline computation for {text-,}after-edge/ideographic/baseline https://bugs.webkit.org/show_bug.cgi?id=250297
Reviewed by Simon Fraser.
This patch is to align WebKit with Blink / Chromium and Gecko / Firefox.
Merge - https://src.chromium.org/viewvc/blink?view=revision&revision=176877
Negative descents were assumed, although they are positive. Fix sign of 'descent' in the {text-,}after-edge and ideographic cases. Also fix the obvious mistake in the 'baseline' case, where it ought to be handled in a similar way as 'auto', and not just return the "computed" alignment-baseline value.
Canonical link: https://commits.webkit.org/258791@main
Null pointer web content crash in AsyncScrollingCoordinator callback https://bugs.webkit.org/show_bug.cgi?id=250426 rdar://104099969
Reviewed by Simon Fraser.
Adds a null check for m_page
in the hysteresis callback of AsyncScrollingCoordinator
.
Canonical link: https://commits.webkit.org/258792@main
REGRESSION(258290@main) [WPE] API test failures due to usage of deprecated properties https://bugs.webkit.org/show_bug.cgi?id=250437
Reviewed by Michael Catanzaro.
The changes below were enough to avoid the missing property issue runnign the API tests, but looks like there are some untested paths that might be using the deprecated functions.
There are other unrelated failures though, to be tackled in future commits.
Canonical link: https://commits.webkit.org/258793@main
[GPU Process] DrawFocusRing with timeOffset is not recorded for macOS https://bugs.webkit.org/show_bug.cgi?id=250403 rdar://104039216
Reviewed by Simon Fraser.
The 'timeOffset' argument to GraphicsContext::drawFocusRing() was never used. Instead we always pass std::numeric_limits::max() to NSInitializeCGFocusRingStyleForTime(). This means its return value is always false.
So there is no need to pass 'timeOffset' and 'needsRepaint' to drawFocusRing(). Therefore the Mac versions of drawFocusRing() are not needed.
We can just have two versions of GraphicsContext::drawFocusRing():
The first one takes (const Path&, float outlineWidth, ...). The 'outlineWidth' is used to set the lineWidth on Cairo and to set the blurRadius on Windows.
The second one takes (const Vector&, float outlineOffset, float outlineWidth, ...). The 'outlineOffset' is used to shrink the focus ring rectangles. On Cocoa and Windows platforms this version will convert the rects to a Path and call the previous one.
Canonical link: https://commits.webkit.org/258794@main
Use ThreadSafeWeakPtr for m_parent in ScrollingTreeNode https://bugs.webkit.org/show_bug.cgi?id=250447
Reviewed by Simon Fraser and Chris Dumez.
Use ThreadSafeWeakPtr to store the parent node in ScrollingTreeNode.
Canonical link: https://commits.webkit.org/258795@main
Revert [258753@main] Move long-shipping features to the new 'shipping' status https://bugs.webkit.org/show_bug.cgi?id=250395 rdar://problem/104081353
Unreviewed revert.
Canonical link: https://commits.webkit.org/258796@main
REGRESSION (@property): Crash with animations and rollback cascades https://bugs.webkit.org/show_bug.cgi?id=250458 rdar://104119443
Reviewed by Alan Baradlay.
Ensure that also rollback cascades have AnimationLayer.
Canonical link: https://commits.webkit.org/258797@main
[git-webkit] Support . in branch name https://bugs.webkit.org/show_bug.cgi?id=250464 rdar://104129845
Reviewed by Aakash Jain.
Canonical link: https://commits.webkit.org/258798@main
REGRESSION (254017@main): Arabic default signature in Mail.app is not right-to-left https://bugs.webkit.org/show_bug.cgi?id=250443 rdar://102207392
Reviewed by Darin Adler and Ryosuke Niwa.
Mail.app controls the directionality of the signature by adding dir="auto"
to
the signature element, getting the element's computed style, and then updating
the attribute to reflect the computed value. The <body>
of the email has
dir="auto"
specified.
Following 254017@main, adding the dir
attribute to an element with a
dir="auto"
parent, results in an unconditional call to unset the
SelfOrPrecedingNodesAffectDirAuto
node flag. This flag is read in
HTMLElement::directionalityIfDirIsAuto
, which returns std::nullopt
if the
flag is unset, rather than computing the directionality from the text.
Consequently, a fallback left-to-right value is used when resolving style.
To fix, only unset the SelfOrPrecedingNodesAffectDirAuto
node flag if the
specified direction is valid, and not auto
.
Canonical link: https://commits.webkit.org/258799@main
Pass --remote-layer-tree --use-gpu-process to run-api-tests on GPUP bots https://bugs.webkit.org/show_bug.cgi?id=250357 rdar://103939125
Reviewed by Aakash Jain.
Canonical link: https://commits.webkit.org/258800@main
[git-webkit] Make pickable sub-classable https://bugs.webkit.org/show_bug.cgi?id=250425 rdar://104098971
Reviewed by Stephanie Lewis.
Canonical link: https://commits.webkit.org/258801@main
VibrationActuator should stop vibrating when its document becomes hidden https://bugs.webkit.org/show_bug.cgi?id=250414
Reviewed by Youenn Fablet.
VibrationActuator should stop vibrating when its document becomes hidden:
Also address test flakiness by properly clearing mock gamepads between tests. We used to call MockGamepadProvider::clearMockGamepads() inside the WebContent process even though they are stored in the UIProcess nowadays.
Canonical link: https://commits.webkit.org/258802@main
[ EWS MacOS ] imported/w3c/web-platform-tests/css/css-transforms/transform-3d-rotateY-stair-below-001.xht is a constant failure https://bugs.webkit.org/show_bug.cgi?id=244012 rdar://98753930
Unreviewed test gardening.
Canonical link: https://commits.webkit.org/258803@main
Web Inspector: WebRTC "Disable encryption" setting should be removed from remote inspection, it already isn't present for local inspection https://bugs.webkit.org/show_bug.cgi?id=250336 rdar://104042073
Reviewed by Devin Rousso.
Canonical link: https://commits.webkit.org/258804@main
Web Inspector: “Inspect Element” doesn’t reveal element in DOM tree if the element is hidden behind the "Show All Nodes" button https://bugs.webkit.org/show_bug.cgi?id=250430 rdar://102669246
Reviewed by Devin Rousso.
Revealing a TreeElement currently makes sure to traverse up through parent elements to expand each element to make sure the element is visible. This doesn't necessilary work for DOMTreeElements, though, since they may additionally have hidden elements behind a "Show All Nodes" button. This means we need to provide each parent element an opportunity to fill in these hidden elements so that the entire chain of tree elements is actually loaded, otherwise we won't actually reveal the element we wanted to.
(WI.DOMTreeElement.prototype.onexpand):
Canonical link: https://commits.webkit.org/258805@main
REGRESSION(258794@main): Remove code which was unintentionally submitted with this change https://bugs.webkit.org/show_bug.cgi?id=250478 rdar://104140855
Reviewed by Simon Fraser.
Remove this code for now.
Canonical link: https://commits.webkit.org/258806@main
Thank you Darin!
WPT export: https://github.com/web-platform-tests/wpt/pull/37965
This WebKit-reviewed test ensures that <textarea>
element's suffering from being missing validity state is conditional on it being mutable rather than a being candidate for constraint validation.