Skip to content

Commit

Permalink
HP Secure Browser support (#16377): Detect brchrome and flag it as no…
Browse files Browse the repository at this point in the history
…t supporting IAccessible2. (#16392)

Summary of the issue:
Users have to explicitly configure in NVDA advanced options to "use UIA
for Edge and other chromium based browsers", for NVDA to work with HP Secure Browser.

Description of user facing changes:
Users won't have to explicitly configure UIA for all chromium-based browsers when
they want to use HP Secure Browser

Description of development approach:
Detect browser with a process name of "brchrome" which represents HP Secure Browser
and flag it as not supporting IAccecssible2. In this scenario, UIA will be
used by default for HP SB.

Co-authored-by: Tomasz Wroblewski <tomasz.wroblewski@hp.com>
  • Loading branch information
tomaszw and Tomasz Wroblewski committed Apr 16, 2024
1 parent ab2cd7d commit f49d0ca
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion source/UIAHandler/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1204,7 +1204,9 @@ def _isUIAWindowHelper(self, hwnd: int, isDebug=False) -> bool: # noqa: C901
# As their IA2 implementation is still better at the moment.
# However, in cases where Chromium is running under another logon session,
# the IAccessible2 implementation is unavailable.
hasAccessToIA2 = not appModule.isRunningUnderDifferentLogonSession
# 'brchrome' is part of HP SureClick, a chromium-based browser which runs webpages to run in separate
# virtual machines - it supports UIA remoting but not IAccessible2 remoting.
hasAccessToIA2 = not appModule.isRunningUnderDifferentLogonSession and not appModule.appName == "brchrome"
if (
AllowUiaInChromium.getConfig() == AllowUiaInChromium.NO
# Disabling is only useful if we can inject in-process (and use our older code)
Expand Down

0 comments on commit f49d0ca

Please sign in to comment.