Bug 257045

Summary: AX: Schedule the accessibility regions paint before building the isolated tree.
Product: WebKit Reporter: Andres Gonzalez <andresg_22>
Component: AccessibilityAssignee: Andres Gonzalez <andresg_22>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, andresg_22, apinheiro, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, tyler_w, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch
none
Patch none

Description Andres Gonzalez 2023-05-19 12:11:03 PDT
This is important during the creation of the isolated tree in order to cache RelativeFrames as the isolated objects are created.
Comment 1 Radar WebKit Bug Importer 2023-05-19 12:11:20 PDT
<rdar://problem/109577190>
Comment 2 Andres Gonzalez 2023-05-19 12:33:02 PDT
Created attachment 466425 [details]
Patch
Comment 3 Tyler Wilcock 2023-05-19 14:09:16 PDT
Comment on attachment 466425 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=466425&action=review

> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:177
> +    else if (object.isScrollView() || object.isWebArea() || object.isScrollbar()) {

Scrollbars currently aren't handled in PaintPhase::Accessibility, so by caching this here we will never update it, which probably isn't right.
Comment 4 Andres Gonzalez 2023-05-22 06:04:11 PDT
Created attachment 466447 [details]
Patch
Comment 5 Andres Gonzalez 2023-05-22 06:22:35 PDT
(In reply to Tyler Wilcock from comment #3)
> Comment on attachment 466425 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=466425&action=review
> 
> > Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:177
> > +    else if (object.isScrollView() || object.isWebArea() || object.isScrollbar()) {
> 
> Scrollbars currently aren't handled in PaintPhase::Accessibility, so by
> caching this here we will never update it, which probably isn't right.

Removed that change and filed rdar://109655440 to handle scrollbars in PaintPhase::Accessibility.
Comment 6 EWS 2023-05-22 06:57:21 PDT
Committed 264320@main (1e29a8fa8f79): <https://commits.webkit.org/264320@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 466447 [details].
Comment 7 Tyler Wilcock 2023-05-22 09:31:35 PDT
(In reply to Andres Gonzalez from comment #5)
> (In reply to Tyler Wilcock from comment #3)
> > Comment on attachment 466425 [details]
> > Patch
> > 
> > View in context:
> > https://bugs.webkit.org/attachment.cgi?id=466425&action=review
> > 
> > > Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:177
> > > +    else if (object.isScrollView() || object.isWebArea() || object.isScrollbar()) {
> > 
> > Scrollbars currently aren't handled in PaintPhase::Accessibility, so by
> > caching this here we will never update it, which probably isn't right.
> 
> Removed that change and filed rdar://109655440 to handle scrollbars in
> PaintPhase::Accessibility.
The patch you landed is still caching the frame for object.isScrollbar(), so I think that's not right.