Commit Graph

1048 Commits

Author SHA1 Message Date
Simon Giesecke
91fdeec18c Bug 1695162 - Migrate from custom hashtable iteration to range-based for in accessible, dom/animation, dom/base, dom/localstorage, gfx/thebes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D106895
2021-03-12 16:14:58 +00:00
Alexandru Michis
c691800cb0 Backed out changeset fd03162e726d (bug 1695162) for causing bustages in Document.cpp
CLOSED TREE
2021-03-12 17:10:02 +02:00
Simon Giesecke
2fb6095f16 Bug 1695162 - Migrate from custom hashtable iteration to range-based for in accessible, dom/animation, dom/base, dom/localstorage, gfx/thebes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D106895
2021-03-12 14:54:08 +00:00
Marcos Cáceres
64499177a9 Bug 1407167 - Make ARIA in HTML mapping case insensitive r=Jamie
I removed the functor and used a lambda instead.

To the tests, I added a "_mixed" case version of each role, to make sure they are all thoroughly tested.

Differential Revision: https://phabricator.services.mozilla.com/D108139
2021-03-12 05:55:17 +00:00
Simon Giesecke
ad01a10a3b Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Eitan Isaacson
d6a5ece8c2 Bug 1695765 - Use Accessible base type in XPCOM instead of AccessibleOrProxy. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D104927
2021-03-09 04:09:03 +00:00
James Teh
cf3391de9a Bug 1686123: Fall back to ARIAGrid*Accessible for HTML table/tbody/thead/tr/td/th elements with no frame. r=morgan
display: contents means there is no frame, which means we can't use HTMLTable*Accessible.
However, we can (and should) use ARIAGrid*Accessible in this case.

Differential Revision: https://phabricator.services.mozilla.com/D107407
2021-03-09 00:27:44 +00:00
Cosmin Sabou
84170de8f6 Backed out changeset fd254f9f8ae1 (bug 1695765) for causing xpcAccessible related bustages. CLOSED TREE 2021-03-05 08:51:53 +02:00
Eitan Isaacson
89b8c80806 Bug 1695765 - Use Accessible base type in XPCOM instead of AccessibleOrProxy. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D104927
2021-03-05 05:47:16 +00:00
Butkovits Atila
9ca372253f Backed out changeset 858bc4755aae (bug 1695765) for causing failures at xpcAccessibleGeneric.h. CLOSED TREE 2021-03-04 02:17:36 +02:00
Eitan Isaacson
a02fa2061c Bug 1695765 - Use Accessible base type in XPCOM instead of AccessibleOrProxy. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D104927
2021-03-03 22:56:45 +00:00
Simon Giesecke
4ff9d15889 Bug 1634281 - Use nsBaseHashtable::GetOrInsertNew where possible. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D106491
2021-03-03 08:58:52 +00:00
Eitan Isaacson
38989e5335 Bug 1694566 - P4: Introduce polymorphic ChildAtPoint that returns remote or local accessibles. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D106680
2021-03-03 06:10:02 +00:00
Eitan Isaacson
ffd5c8b856 Bug 1694566 - P3: Rename ChildAtPoint to LocalChildAtPoint. r=Jamie
This is in preparation for the next patch the virtualizes ChildAtPoint
in the Accessible class. LocalChildAtPoint allows us to house local-only
child at point implementations.

Differential Revision: https://phabricator.services.mozilla.com/D106679
2021-03-03 06:10:01 +00:00
Eitan Isaacson
d6fb8b1903 Bug 1694566 - P2: Make EWhichChildAtPoint an enum class and put it in Accessible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D106678
2021-03-03 06:10:01 +00:00
Eitan Isaacson
bafd5e712b Bug 1694203 - P9: Have RemoteAccessible inherit from Accessible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D104915
2021-03-02 16:32:24 +00:00
Eitan Isaacson
457ba6f552 Bug 1694203 - P8: Rename ChildrenCount to ChildCount in RemoteAccessible. r=Jamie
This will allow us to make this an override when inheriting from Accessible.

Differential Revision: https://phabricator.services.mozilla.com/D106005
2021-03-02 16:32:23 +00:00
Eitan Isaacson
e082620ccf Bug 1694203 - P2: Add eNumericValue and eAction to generic types for use in proxy. r=Jamie
eHasNumericValue should probably not be a state anyway. We need both of
these types because we currently send eHasNumericValue and
ActionCount != 0 as interface flags when creating proxies.

Differential Revision: https://phabricator.services.mozilla.com/D104914
2021-03-02 16:32:21 +00:00
Simon Giesecke
1a4038f6e7 Bug 1693541 - Improve uses of nsBaseHashtable and descendants and avoid multiple subsequent lookups in accessible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D106093
2021-03-01 09:59:30 +00:00
Simon Giesecke
9af107a839 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Simon Giesecke
4f75368dcb Bug 1691913 - Rename nsBaseHashtable::GetOrInsert(With) to LookupOrInsert(With). r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
The functions should be called "Lookup" rather than "Get" because they return
a DataType& (rather than UserDataType).

Differential Revision: https://phabricator.services.mozilla.com/D105472
2021-02-26 09:11:45 +00:00
Simon Giesecke
c5f7800f35 Bug 1691913 - Rename nsClassHashtable::LookupOrAdd to GetOrInsertNew. r=xpcom-reviewers,nika
It should be called "Get" rather than "Lookup" because it returns
UserDataType. "Add" is called "Insert" in the other methods.

Differential Revision: https://phabricator.services.mozilla.com/D105470
2021-02-22 12:07:47 +00:00
Eitan Isaacson
6e8749d0da Bug 1693597 - P2: Rename ProxyAccessible to RemoteAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D105671
2021-02-19 23:14:33 +00:00
Eitan Isaacson
6e49732365 Bug 1693597 - P1: Rename Accessible to LocalAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D105670
2021-02-19 23:14:32 +00:00
Eitan Isaacson
f48f468cb7 Bug 1693607 - [Linux] Add braces around statements. r=morgan
This is a collaboration between clang-tidy and clang-format.

clang-tidy uses compiled code paths, so this patch is linux specific.

Differential Revision: https://phabricator.services.mozilla.com/D105669
2021-02-19 23:14:32 +00:00
Morgan Reschenberg
588e12696e Bug 1460378: Introduce meter role and HTMLMeterAccessible class. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D104759
2021-02-17 15:58:31 +00:00
Eitan Isaacson
ff59e176e4 Bug 1692523 - P2: Prefix remote heirarchy functions with 'Remote'. r=Jamie
Parent -> RemoteParent
ChildAt -> RemoteChildAt
FirstChild -> RemoteFirstChild
LastChild -> RemoteLastChild
NextSibling -> RemoteNextSibling
PrevSibling -> RemotePrevSibling

Differential Revision: https://phabricator.services.mozilla.com/D105035
2021-02-16 20:05:11 +00:00
Eitan Isaacson
8c842a59e3 Bug 1692523 - P1: Prefix local heirarchy functions with 'Local'. r=Jamie
Parent -> LocalParent
GetChildAt -> LocalChildAt
FirstChild -> LocalFirstChild
LastChild -> LocalLastChild
NextSibling -> LocalNextSibling
PrevSibling -> LocalPrevSibling

Differential Revision: https://phabricator.services.mozilla.com/D105034
2021-02-16 20:05:10 +00:00
Gerald Squelart
2416d881e2 Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian
There are no code changes, only #include changes.
It was a fairly mechanical process: Search for all "AUTO_PROFILER_LABEL", and in each file, if only labels are used, convert "GeckoProfiler.h" into "ProfilerLabels.h" (or just add that last one where needed).
In some files, there were also some marker calls but no other profiler-related calls, in these cases "GeckoProfiler.h" was replaced with both "ProfilerLabels.h" and "ProfilerMarkers.h", which still helps in reducing the use of the all-encompassing "GeckoProfiler.h".

Differential Revision: https://phabricator.services.mozilla.com/D104588
2021-02-16 04:44:19 +00:00
James Teh
f01ed6dea6 Bug 1646486: Move dom::Document::IsVisibleConsideringAncestors to a11y::nsCoreUtils::IsDocumentVisibleConsideringInProcessAncestors. r=emilio
Renaming the function makes it clear that it only deals with in-process ancestors, which is an important distinction for Fission.
A11y is the only consumer of this and it only cares about in-process ancestors in this case (OOP stuff is handled elsewhere), so the functionality doesn't need to change.
Since a11y is the only consumer, move this into the a11y code.

Differential Revision: https://phabricator.services.mozilla.com/D104341
2021-02-09 00:44:21 +00:00
James Teh
e81436a8a8 Bug 1689936: Move pending a11y content insertions into a temporary data structure before processing them. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D103977
2021-02-05 00:01:59 +00:00
Morgan Reschenberg
1f72fbb6eb Bug 1680840: Fire table styling changed event when style changes that may affect data/layout table classification r=emilio,eeejay
Differential Revision: https://phabricator.services.mozilla.com/D103254
2021-02-04 20:50:05 +00:00
James Teh
1b4d4c6a32 Bug 1690456: Don't allow nsAccessibilityService to be shut down while a parent document is still shutting down. r=yzen
DocAccessible::Shutdown calls DocManager::NotifyOfDocumentShutdown, which can shut down nsAccessibilityService if there are no more consumers.
Previously, this could happen even when shutting down child documents.
Since shutting down the service shuts down all documents, this resulted in shutting down the parent document within an outer call to shut down that same document.
Even if that reentry were prevented, the service would have been gone when returning to the outer Shutdown call, which still needs the service to complete its cleanup.

To fix this, DocManager::NotifyOfDocumentShutdown takes an argument specifying whether to allow service shutdown.
This is set to false when shutting down child documents.
The service is thus allowed to shut down when returning to the parent document Shutdown.

In addition, mPresShell is cleared before shutting down child documents to prevent reentry like this.
While this should no longer happen, this should safeguard against similar pain in future.

Differential Revision: https://phabricator.services.mozilla.com/D103966
2021-02-04 01:10:52 +00:00
Nika Layzell
bbaf7fbc65 Bug 1682285 - Part 2: Track LOAD_FLAGS_FROM_EXTERNAL separately from LOAD_TYPE, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D103365
2021-01-29 22:06:36 +00:00
James Teh
49597d49e1 Bug 493683 part 4: Add a PivotRule to match any local Accessible in the same document. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102679
2021-01-25 01:12:17 +00:00
James Teh
c9893f0237 Bug 493683 part 3: When an Accessible mutates, fire description change events on an Accessible described by it (or an ancestor thereof) via a relation. r=eeejay
This uses a similar approach to HasNameDependent, introducing a new HasDescriptionDependent.
However, we don't fire events on ancestors, since a description is never computed from an Accessible's own subtree without an explicit described by relation.

Differential Revision: https://phabricator.services.mozilla.com/D102678
2021-01-27 00:39:08 +00:00
James Teh
77fe9db976 Bug 493683 part 2: When an Accessible mutates, fire name change events on an Accessible labelled by it (or an ancestor thereof) via a relation. r=eeejay
HasNameDependent is now set on an Accessible (and thus its descendants) which has A LABEL_FOR relation.
When text mutations occur on such an Accessible, EventQueue::PushNameChange now queues a name change for the Accessible being labelled.

Differential Revision: https://phabricator.services.mozilla.com/D102677
2021-01-27 00:34:21 +00:00
James Teh
1af2138c00 Bug 493683 part 1: Rename HasNameDependentParent to HasNameDependent due to upcoming broader usage. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102676
2021-01-25 00:39:39 +00:00
Steven MacLeod
079775e780 Bug 1656107 - remove FindContentForSubDocument use from NotificationController. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D98613
2021-01-21 00:46:15 +00:00
Mats Palmgren
b41a2b9d21 Bug 1687239 part 2 - Remove plugin support from layout/. r=emilio
Note that there's still a little plugin related code in
widget/ and gfx/ etc after this.  That can be removed
once we remove plugin support from dom/ etc.
The removal from layout/ should be pretty complete though.

Differential Revision: https://phabricator.services.mozilla.com/D102140
2021-01-25 11:53:49 +00:00
James Teh
da5cf09b14 Bug 1623286: Fire offscreen state change a11y events when a XUL tab panel is switched. r=eeejay
Without this, the AT-SPI cache isn't updated and Orca mouse review fails after switching tabs.

Differential Revision: https://phabricator.services.mozilla.com/D101428
2021-01-14 17:56:59 +00:00
James Teh
0646b214b4 Bug 1359482: Don't expose the editable state on ARIA grids and gridcells. r=eeejay
The editable state is about navigable text (with a caret), not editable as in "not read only".
ATs don't want this exposed for grids and it causes problems for them.
They can (and already do) distinguish between gridcell and cell using xml-roles.

Differential Revision: https://phabricator.services.mozilla.com/D101707
2021-01-15 01:32:13 +00:00
Andi-Bogdan Postelnicu
8de41d8d26 Bug 1683561 - Make accessibility buildable outside of unified-build environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100212
2021-01-05 09:47:12 +00:00
Bogdan Tara
0e0311351e Backed out 9 changesets (bug 1656107) for frequent assertion failures on layout/style/nsComputedDOMStyle.cpp CLOSED TREE
Backed out changeset 2d9843871809 (bug 1656107)
Backed out changeset 87031ccf6c8e (bug 1656107)
Backed out changeset 1e06017a213c (bug 1656107)
Backed out changeset b51bae240379 (bug 1656107)
Backed out changeset 8d98b76de39a (bug 1656107)
Backed out changeset 0f4ea8cdd34a (bug 1656107)
Backed out changeset 95eeff5318e5 (bug 1656107)
Backed out changeset 469fa7a429c2 (bug 1656107)
Backed out changeset ec3d7e825bc9 (bug 1656107)
2020-12-17 22:19:09 +02:00
Steven MacLeod
473b3896ad Bug 1656107 - remove FindContentForSubDocument use from NotificationController. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D98613
2020-12-16 01:06:14 +00:00
Emilio Cobos Álvarez
039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).

It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).

Differential Revision: https://phabricator.services.mozilla.com/D99590
2020-12-17 14:04:35 +00:00
Simon Giesecke
e06a2d56fc Bug 1680269 - Fix build when building without MOZ_GECKO_PROFILER. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D99063
2020-12-09 08:58:06 +00:00
Marco Zehe
73147045b1 Bug 1678015 - Expose assertive live region attributes for ARIA alerts on Mac, r=Jamie,eeejay
This is done via an ifdef in the ARIAMap. Provisions, however, are there to simply remove the ifdef and if clauses from here and the test file to enable this on other platforms once alert double-speaking and other unwanted side effects are fixed on said platforms.

Differential Revision: https://phabricator.services.mozilla.com/D97584
2020-12-02 20:54:41 +00:00
Simon Giesecke
f15895390e Bug 1673931 - Avoid including Element.h from header files.
Differential Revision: https://phabricator.services.mozilla.com/D96535

Depends on D96534
2020-11-23 16:08:40 +00:00
Simon Giesecke
071c7c035f Bug 1676356 - Avoid including PresShell.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D96534

Depends on D95184
2020-11-23 16:08:23 +00:00