From 40a355a42d4a9444dc753c04c6608dade2f06a23 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:13:27 +0200 Subject: Adding upstream version 125.0.1. Signed-off-by: Daniel Baumann --- accessible/windows/msaa/MsaaAccessible.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'accessible/windows/msaa/MsaaAccessible.cpp') diff --git a/accessible/windows/msaa/MsaaAccessible.cpp b/accessible/windows/msaa/MsaaAccessible.cpp index 702f8341dc..3a0e8fc726 100644 --- a/accessible/windows/msaa/MsaaAccessible.cpp +++ b/accessible/windows/msaa/MsaaAccessible.cpp @@ -522,6 +522,10 @@ MsaaAccessible::QueryInterface(REFIID iid, void** ppv) { if (SUCCEEDED(hr)) { return hr; } + hr = uiaRawElmProvider::QueryInterface(iid, ppv); + if (SUCCEEDED(hr)) { + return hr; + } } if (*ppv) { (reinterpret_cast(*ppv))->AddRef(); @@ -604,16 +608,20 @@ MsaaAccessible::get_accChildCount(long __RPC_FAR* pcountChildren) { if (!mAcc) return CO_E_OBJNOTCONNECTED; - if (Compatibility::IsA11ySuppressedForClipboardCopy() && mAcc->IsRoot()) { + if ((Compatibility::A11ySuppressionReasons() & + SuppressionReasons::Clipboard) && + mAcc->IsRoot()) { // Bug 1798098: Windows Suggested Actions (introduced in Windows 11 22H2) - // might walk the entire a11y tree using UIA whenever anything is copied to - // the clipboard. This causes an unacceptable hang, particularly when the - // cache is disabled. We prevent this tree walk by returning a 0 child count - // for the root window, from which Windows might walk. + // might walk the entire a11y tree using UIA whenever anything is copied + // to the clipboard. This causes an unacceptable hang, particularly when + // the cache is disabled. We prevent this tree walk by returning a 0 child + // count for the root window, from which Windows might walk. return S_OK; } - if (nsAccUtils::MustPrune(mAcc)) return S_OK; + if (nsAccUtils::MustPrune(mAcc)) { + return S_OK; + } *pcountChildren = mAcc->ChildCount(); return S_OK; @@ -761,7 +769,7 @@ MsaaAccessible::get_accRole( uint32_t msaaRole = 0; #define ROLE(_geckoRole, stringRole, ariaRole, atkRole, macRole, macSubrole, \ - _msaaRole, ia2Role, androidClass, nameRule) \ + _msaaRole, ia2Role, androidClass, iosIsElement, nameRule) \ case roles::_geckoRole: \ msaaRole = _msaaRole; \ break; -- cgit v1.2.3