Closed
Bug 1886937
Opened 7 months ago
Closed 6 months ago
[UIA] Figure out how to block UIA instantiation with native UIA implementation
Categories
(Core :: Disability Access APIs, task)
Tracking
()
RESOLVED
FIXED
127 Branch
Tracking | Status | |
---|---|---|
firefox127 | --- | fixed |
People
(Reporter: Jamie, Assigned: Jamie)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
I hooked up our new native UIA implementation in bug 1886371. However, it bypasses LazyInstantiator and instantiates the a11y engine immediately because LazyInstantiator doesn't support UIA. We need to find some way to ensure that the a11y client block list still works.
Assignee | ||
Comment 1•6 months ago
|
||
I'm working on supporting UIA in LazyInstantiator. I have a working proof of concept locally that I need to polish up.
I originally thought i was going to need to block a bunch of QueryInterface calls, but it seems that's not necessary. However, since these IIDs can be tricky to find, just in case it's useful for future reference, here's the code I had:
static const GUID kUnsupportedInterfaces[] = {
IID_IAccIdentity,
// IRawElementProviderComponent
{ 0x62F62F5A, 0x5EC0, 0x48F5, {0xA0, 0x32, 0x78, 0x34, 0x45, 0xDF, 0x9A, 0x89}},
// Unknown
{0xA3D361A2, 0x2919, 0x42A1, {0xB3, 0xDD, 0x65, 0x95, 0xB4, 0x32, 0xF2, 0xDD}},
};
...
for (const GUID& unsupported: kUnsupportedInterfaces) {
if (aIID == unsupported) {
return E_NOINTERFACE;
}
}
Assignee | ||
Comment 2•6 months ago
|
||
This allows UIA client detection and blocking to work with the native UIA implementation.
Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0beadc50afd8
Support UIA in LazyInstantiator. r=nlapre
Comment 4•6 months ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 months ago
status-firefox127:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•