WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
209576
[WebAccessibilityObjectWrapper remoteAccessibilityParentObject should be cached to avoid hitting the main thread often.
https://bugs.webkit.org/show_bug.cgi?id=209576
Summary
[WebAccessibilityObjectWrapper remoteAccessibilityParentObject should be cach...
Andres Gonzalez
Reported
2020-03-25 18:57:15 PDT
[WebAccessibilityObjectWrapper remoteAccessibilityParentObject should be cached to avoid hitting the main thread often.
Attachments
Patch
(7.57 KB, patch)
2020-03-25 19:09 PDT
,
Andres Gonzalez
no flags
Details
Formatted Diff
Diff
Patch
(16.36 KB, patch)
2020-03-28 15:28 PDT
,
Andres Gonzalez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Andres Gonzalez
Comment 1
2020-03-25 19:09:21 PDT
Created
attachment 394568
[details]
Patch
chris fleizach
Comment 2
2020-03-25 19:58:53 PDT
Comment on
attachment 394568
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=394568&action=review
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:906 > + RetainPtr<RemoteAXObjectRef> m_remoteParentObject;
should this be a WeakPtr so it goes away on its own?
Andres Gonzalez
Comment 3
2020-03-26 20:00:38 PDT
(In reply to chris fleizach from
comment #2
)
> Comment on
attachment 394568
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=394568&action=review
> > > Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:906 > > + RetainPtr<RemoteAXObjectRef> m_remoteParentObject; > > should this be a WeakPtr so it goes away on its own?
RemoteAXObjectRef is an id. WeakPtr does not work with id which is the same as void *. I believe the only way to hold a reference to this id is with RetainPtr. I don't know however if there is another way to do the equivalent to @property (weak) id.
chris fleizach
Comment 4
2020-03-27 00:56:50 PDT
Comment on
attachment 394568
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=394568&action=review
> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:381 > + m_remoteParentObject = object.remoteParentObject();
I think we only want to do this for the top level scroll view... see logic in scrollViewParent Might be good to store it in the attribute hash so that we don't have to burn an ivar memory for every isolated object, when only 1 of them needs it
Andres Gonzalez
Comment 5
2020-03-28 15:28:40 PDT
Created
attachment 394844
[details]
Patch
Andres Gonzalez
Comment 6
2020-03-28 15:33:02 PDT
(In reply to chris fleizach from
comment #4
)
> Comment on
attachment 394568
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=394568&action=review
> > > Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:381 > > + m_remoteParentObject = object.remoteParentObject(); > > I think we only want to do this for the top level scroll view... see logic in > > scrollViewParent > > Might be good to store it in the attribute hash so that we don't have to > burn an ivar memory for every isolated object, when only 1 of them needs it
Cached it in the variant along with all other properties. Also moved the PlatformWidget cached value to the Variant as well. Cache it only for scroll views, however this property can be requested for all objects, so had to return it for all objects as you see in AXIsolatedObjectMac.mm.
EWS
Comment 7
2020-03-30 13:07:17 PDT
Committed
r259220
: <
https://trac.webkit.org/changeset/259220
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 394844
[details]
.
Radar WebKit Bug Importer
Comment 8
2020-03-30 13:08:15 PDT
<
rdar://problem/61069499
>
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