Closed
Bug 1731003
Opened 3 years ago
Closed 3 years ago
RemoteAccessible shouldn't try to call methods on a COM proxy if the cache is enabled
Categories
(Core :: Disability Access APIs, defect)
Core
Disability Access APIs
Tracking
()
RESOLVED
FIXED
94 Branch
Tracking | Status | |
---|---|---|
firefox94 | --- | fixed |
People
(Reporter: Jamie, Assigned: Jamie)
References
Details
Attachments
(1 file)
On Windows, the cache is all or nothing. When it's disabled, we get COM proxies from the content process and everything uses those. When the cache is enabled, we don't get COM proxies from the content process and we can only use the cache.
- Currently, methods (Name, Description, etc.) in RemoteAccessible fall back to the COM proxy if mCachedFields is null.
- But even when the cache is enabled, mCachedFields can be null if there were no cache-worthy fields for this Accessible.
- In that case, we'll try to fall back to the COM proxy, which will end up returning the MsaaAccessible from our process.
- We'll then call the COM method on that MsaaAccessible; get_accName, get_accDescription, etc.
- Because the cache is enabled, that method will call RemoteAccessible::Name, RemoteAccessible::Description, etc., taking us back to point 1.
- Infinite recursion ensues, culminating in a spectacular crash.
Instead, these RemoteAccessible methods should check whether the cache is enabled. If it is, they should use the RemoteAccessibleBase method (regardless of mCachedFields). If not, they should always use the COM proxy.
Assignee | ||
Comment 1•3 years ago
|
||
If the cache is enabled, we don't have COM proxies from the content process.
Pushed by jteh@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c6968bdb0338 RemoteAccessible: Don't try to use the COM proxy at all if the cache is enabled, even if mCachedFields is null. r=eeejay
Comment 3•3 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 3 years ago
status-firefox94:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 94 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•