WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
262934
AX: AXIsolatedTree::children() should not re-initialize m_children unless they've changed
https://bugs.webkit.org/show_bug.cgi?id=262934
Summary
AX: AXIsolatedTree::children() should not re-initialize m_children unless the...
Tyler Wilcock
Reported
2023-10-09 20:30:30 PDT
This shows up heavily on samples for some sites.
Attachments
Patch
(4.54 KB, patch)
2023-10-09 20:35 PDT
,
Tyler Wilcock
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2023-10-09 20:30:40 PDT
<
rdar://problem/116715426
>
Tyler Wilcock
Comment 2
2023-10-09 20:35:38 PDT
Created
attachment 468141
[details]
Patch
chris fleizach
Comment 3
2023-10-09 22:10:03 PDT
Comment on
attachment 468141
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=468141&action=review
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:463 > + m_childrenIDs = WTFMove(ids);
Can we avoid dirty children if the IDs are same in same order?
Tyler Wilcock
Comment 4
2023-10-09 22:15:37 PDT
(In reply to chris fleizach from
comment #3
)
> Comment on
attachment 468141
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=468141&action=review
> > > Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:463 > > + m_childrenIDs = WTFMove(ids); > > Can we avoid dirty children if the IDs are same in same order?
I thought about this too...but ended up deciding against it since it forces an O(n) iteration for what is likely a very uncommon case. Additionally, this proposed iteration would have to happen while we hold the m_changeLogLock, potentially increasing lock contention.
Andres Gonzalez
Comment 5
2023-10-10 06:01:17 PDT
(In reply to Tyler Wilcock from
comment #2
)
> Created
attachment 468141
[details]
> Patch
Are we covering the unconnected objects case? We don't update m_pendingchildrenUpdates for those objects.
Tyler Wilcock
Comment 6
2023-10-10 10:39:22 PDT
(In reply to Andres Gonzalez from
comment #5
)
> (In reply to Tyler Wilcock from
comment #2
) > > Created
attachment 468141
[details]
> > Patch > > Are we covering the unconnected objects case? We don't update > m_pendingchildrenUpdates for those objects.
I don't think that's necessary here. The only time we need to mark children as dirty is when AXIsolatedObject::m_childrenIDs changes, which addUnconnectedNode doesn't do.
EWS
Comment 7
2023-10-10 14:52:22 PDT
Committed
269170@main
(4d35a6d87939): <
https://commits.webkit.org/269170@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 468141
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug