get_selections is largely based on the old IAccessible2_3::get_selectionRanges method.
However, this makes use of HyperTextAccessibleBase::CroppedSelectionRanges, which didn't exist before.
It has also been updated to return IAccessibleText pointers as required by the new interface.
setSelections is entirely new, but relies on existing mechanisms to convert offsets and to add and remove selections.
Differential Revision: https://phabricator.services.mozilla.com/D185135
IAccessibleTextSelectionContainer::setSelections passes us IAccessibleText COM pointers to identify the target Accessibles.
We need to safely get a Gecko Accessible from such a COM pointer.
The client could hand us anything, so it's not safe to just static_cast without being certain that it's one of our Accessibles.
Instead, we use an internal IID to validate that it's an MsaaAccessible and return the correct pointer, after which we can easily get the Accessible.
Differential Revision: https://phabricator.services.mozilla.com/D185134
This is rearranging code only, no functional change here. Landing
as a separate patch to make it easier to review the follow up patches
that rely on this change.
Differential Revision: https://phabricator.services.mozilla.com/D185374
When we implement `KeyboardEvent.key`, its value for Windows Logo key was
declared as `OS`, but now the spec declares it as `Meta`.
When we implement `KeyboardEvent.code`, its value for Windows Logo keys in
Win/Linux and Command keys in macOS are declared as `OSLeft`/`OSRight`, but
now the spec declares them as `MetaLeft`/`MetaRight`.
This patch remaps and renames them.
Differential Revision: https://phabricator.services.mozilla.com/D183481
get_selections is largely based on the old IAccessible2_3::get_selectionRanges method.
However, this makes use of HyperTextAccessibleBase::CroppedSelectionRanges, which didn't exist before.
It has also been updated to return IAccessibleText pointers as required by the new interface.
setSelections is entirely new, but relies on existing mechanisms to convert offsets and to add and remove selections.
Differential Revision: https://phabricator.services.mozilla.com/D185135
IAccessibleTextSelectionContainer::setSelections passes us IAccessibleText COM pointers to identify the target Accessibles.
We need to safely get a Gecko Accessible from such a COM pointer.
The client could hand us anything, so it's not safe to just static_cast without being certain that it's one of our Accessibles.
Instead, we use an internal IID to validate that it's an MsaaAccessible and return the correct pointer, after which we can easily get the Accessible.
Differential Revision: https://phabricator.services.mozilla.com/D185134
This can be more versatile than having to add a new mozconfig variant,
especially when used via extra-config in the taskgraph, rather than via
mozharness configuration.
Differential Revision: https://phabricator.services.mozilla.com/D185355
While we're here, add the missing pkgconf dependency that leads to
unrelated error messages in the task log when other problems happen
(like in bug 1813506).
Differential Revision: https://phabricator.services.mozilla.com/D185240
The methods have already been updated to used unified cross-platform methods.
All that was preventing these from working was the IsLocal restriction in QueryInterface.
Differential Revision: https://phabricator.services.mozilla.com/D185253
Automatic update from web-platform-tests
Wait for load event in undo-redo.html
This test expects navigation by modifying srcdoc to be synchronous, but
it's not, causing the test to continue before the navigation finishes,
which is exacerbated if the navigation changes LocalFrame due to
RenderDocument.
This CL makes this test wait for the load event to make it not flaky.
Bug: 936696
Change-Id: I7a81484e012f2f62c430e80ee50d5935ac27da52
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4728588
Reviewed-by: Mingyu Lei <leimy@chromium.org>
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1176505}
--
wpt-commits: 4b2a0c077ef98878f366cbbb0f1a3504cb6c7454
wpt-pr: 41216
Automatic update from web-platform-tests
CloseWatcher: split up basic.html web platform test
Contrary to its name, basic.html had grown to be a grab-bag of tests.
This takes the first step of splitting it up, creating a separate test
for event properties, and one for what happens when you invoke various
CloseWatcher methods inside event listeners.
event-properties.html is slightly more comprehensive than the test
previously in basic.html, in that it also tests the cancel event's
properties.
inside-event-listeners.html is more exhaustive than the tests previously
in basic.html. It uses the createRecordingCloseWatcher helper to check
the exact events that are fired, and confirm that destroyed close
watchers stay destroyed.
Bug: 1171318
Change-Id: If32f9fbe29482735a82c982c90fe239f6a1edc7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4722573
Commit-Queue: Domenic Denicola <domenic@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1176386}
--
wpt-commits: d5c4e9b3ef79ee0fd420e3ce477c10fb1ab5ff8d
wpt-pr: 41214
Automatic update from web-platform-tests
WPT: about:srcdoc?query is an unresolvable URL
This modifies the tests added in https://crrev.com/c/2831536 that test
various navigate-to-about:srcdoc scenarios that should result in error
documents, and adds an about:srcdoc => about:srcdoc?foo test.
R=domenic@chromium.org
Bug: 1169736
Change-Id: I4378b45d888f00904adc8f6704de8f20247abbbd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4725289
Commit-Queue: Domenic Denicola <domenic@chromium.org>
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1176369}
--
wpt-commits: d1a0f7248764a85756b55e57897d9201c779cc20
wpt-pr: 41209
This prevents intermittent failure where measuring the content window size right after creating a tab could return incorrect values.
Differential Revision: https://phabricator.services.mozilla.com/D185312
If replace-in-file[-regex] doesn't make any changes it throws an Exception
thinking that no match was found. In some cases the replacement could be the
same as the matched text. In this case, warn but don't raise an exception.
Non-regex patterns are escaped with re.escape() to simplify the function a bit.
Differential Revision: https://phabricator.services.mozilla.com/D184165