Commit graph

236 commits

Author SHA1 Message Date
Masayuki Nakano
bad5d5bfe9 Bug 1547416 - Move nsIPresShell::ScrollAxis to PresShellForwards.h r=smaug
`nsIPresShell::ScrollAxis` can be used anywhere and it's used by some
utils actually. So, it should be in `mozilla` namespace and perhaps,
 `PresShellForwards.h` is a good place to move it rather than creating
new header file.

Differential Revision: https://phabricator.services.mozilla.com/D29110

--HG--
extra : moz-landing-system : lando
2019-04-30 00:07:49 +00:00
Emilio Cobos Álvarez
11ea945833 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

Differential Revision: https://phabricator.services.mozilla.com/D28681

--HG--
extra : moz-landing-system : lando
2019-04-25 23:03:04 +00:00
Masayuki Nakano
3622509485 Bug 1545342 - part 2: Make some public enum of nsIPresShell move to mozilla namespace and defined as enum class in PresShellForwards.h r=smaug
This patch moves some `enum` in `nsIPresShell` which are in public scope into
`mozilla` namespace and change them as `enum class`es.

Unfortunately, only "where to scroll" enum is just defines constants of
percentages of scroll destination.  Therefore, this patch makes only them
as `static const`.

Differential Revision: https://phabricator.services.mozilla.com/D28606

--HG--
extra : moz-landing-system : lando
2019-04-25 05:04:15 +00:00
James Teh
5abb32cecd Bug 1543561: Expose the focusable state on a node focused by aria-activedescendant, even if that node isn't a descendant. r=eeejay
Sometimes, we use aria-activedescendant targeting something which isn't actually a descendant.
This is technically a spec violation, but it's a useful hack which makes certain things much easier.
For example, we use this for "fake focus" for multi select browser tabs and Quantumbar autocomplete suggestions.

This already worked previously; the accessible received a focus event and the focused state.
However, it did *not* receive the focusable state.
This is because the code which applies the focusable state for potential active descendants only works for descendants.

It really doesn't make sense for something to be focused when it isn't focusable.
In fact, this is an a11y test failure when it occurs.
So, if the active item has the focused state, ensure we expose the focusable state too.

Differential Revision: https://phabricator.services.mozilla.com/D27021

--HG--
extra : moz-landing-system : lando
2019-04-17 23:13:10 +00:00
Masayuki Nakano
d8d0bcab65 Bug 1543013 - part 2: Make accessible use mozilla::PresShell directly rather than via nsIPresShell r=Jamie
This patch makes accessible module use `mozilla::PresShell` directly rather
than via `nsIPresShell`.  Additionally, renames `DocAccessible::PresShell()`
to `DocAccessible::PresShellPtr()` for avoiding conflict with using
`PresShell` in it and its sub classes.

Differential Revision: https://phabricator.services.mozilla.com/D26663

--HG--
extra : moz-landing-system : lando
2019-04-13 12:13:15 +00:00
Masayuki Nakano
09fd54444c Bug 1543013 - part 1: Mark some methods of nsCoreUtils as MOZ_CAN_RUN_SCRIPT r=Jamie
This patch marks some methods of nsCoreUtils which are found at writing the
following patches, as `MOZ_CAN_RUN_SCRIPT`.

Due to bug 1543294, some of them are marked as `MOZ_CAN_RUN_SCRIPT_BOUNDARY`
because `MOZ_CAN_RUN_SCRIPT` requires to change base class, but that's
other licenses header or used in our code too many places.

Differential Revision: https://phabricator.services.mozilla.com/D26926

--HG--
extra : moz-landing-system : lando
2019-04-13 12:13:13 +00:00
Masayuki Nakano
9165a150a1 Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio
`nsPresContext` should use `mozilla::PresShell` directly instead of
`nsIPresShell`.  This patch makes it.

Unfortunately, `nsPresContext` and `nsIFrame` have `PresShell()`.  Therefore,
we cannot use `PresShell*` in its methods so that this patch uses `mozilla::`
namespace prefix.

It might be better to rename them as `PresShellPtr()` in another bug.

Differential Revision: https://phabricator.services.mozilla.com/D25721

--HG--
extra : moz-landing-system : lando
2019-04-03 12:40:26 +00:00
Eitan Isaacson
9559a7c4a2 Bug 1531346 - Check for cyclical relationship with aria-activedescendant. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D22633

--HG--
extra : moz-landing-system : lando
2019-03-08 07:55:13 +00:00
Markus Stange
0b151b8c2b Bug 1500692 - Centralize profiling category definition and add infrastructure for subcategories. r=njn
The actual subcategories will be added in later patches, so that there are no
unused categories.

Differential Revision: https://phabricator.services.mozilla.com/D11334

--HG--
extra : moz-landing-system : lando
2019-02-16 17:37:43 +00:00
Eitan Isaacson
773b9d611a Bug 1525980 - Make announcement events work over IPC. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D19061

--HG--
extra : moz-landing-system : lando
2019-02-14 17:42:47 +00:00
Eitan Isaacson
baa769abf9 Bug 1525980 - Introduce nsIAccessibleAnnouncementEvent. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D19060

--HG--
extra : moz-landing-system : lando
2019-02-14 17:42:45 +00:00
Eitan Isaacson
bb5af5a481 Bug 1527254 - Don't rely on tabpanels xul element in Android for offcreen state. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D19710

--HG--
extra : moz-landing-system : lando
2019-02-14 08:01:36 +00:00
Greg Tatum
7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

Differential Revision: https://phabricator.services.mozilla.com/D16864

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
Marco Zehe
b4ebbe90ae Bug 1515186 - Always calculate group position for all children of an accessible after a tree mutation, r=Jamie
Previously, if we had children a, b, c, and d, then removed b, the group position for c and d would potentially be marked as dirty, but a would not. This caused the check for the availability of previous group info to return outdated information.

This patch now always forces the update of all children's group position when a children move has occurred, since it potentially affects all the children, not just the ones after it. In addition, accGroupInfo::Update() now checks if the previous and next siblings that are being used as shortcuts have dirty group info, and are being used only if they do not.

Differential Revision: https://phabricator.services.mozilla.com/D16059

--HG--
extra : moz-landing-system : lando
2019-01-10 05:59:01 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
James Teh
850ee9ea2b Bug 1515294: Only use SendSyncTextChangeEvent for live regions. r=MarcoZ
In order to support IA2 live regions with e10s (bug 1322532), text change events sent from the child process to the parent process use sync IPC.
That comes at a slight performance cost: the content process is blocked until the parent returns from sending and handling the event.
However, there is no reason to do this if the event is not for an accessible inside a live region; current clients don't need the sync behaviour outside of live regions.

Differential Revision: https://phabricator.services.mozilla.com/D15183

--HG--
extra : source : 415f827cb9ce211c48b0c6625e917582bc81fd3a
2018-12-21 09:16:38 +00:00
arthur.iakab
70a4778dd8 Backed out changeset 415f827cb9ce (bug 1515294) on suspicion of causing content process hangs a=backout CLOSED TREE 2018-12-23 00:04:39 +02:00
James Teh
f9cba89c57 Bug 1515294: Only use SendSyncTextChangeEvent for live regions. r=MarcoZ
In order to support IA2 live regions with e10s (bug 1322532), text change events sent from the child process to the parent process use sync IPC.
That comes at a slight performance cost: the content process is blocked until the parent returns from sending and handling the event.
However, there is no reason to do this if the event is not for an accessible inside a live region; current clients don't need the sync behaviour outside of live regions.

Differential Revision: https://phabricator.services.mozilla.com/D15183

--HG--
extra : moz-landing-system : lando
2018-12-21 09:16:38 +00:00
Neil Deakin
9397165b4e Bug 1492326, use Element helper methods in accessibility instead of QueryInterface to get interface implementations that might be implemented by custom elements, r=surkov 2018-12-04 11:32:15 -05:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Gerald Squelart
1bd6a1fd4e Bug 1435091 - p4. Use profiler_thread_is_being_profiled() instead of profiler_is_active() around profiler_add_marker()s - r=mstange
(Unless there were other profiler actions, as I'm not sure yet whether it would
be safe to skip them when the profiler is paused; another bug should
investigate that.)

Differential Revision: https://phabricator.services.mozilla.com/D11308

--HG--
extra : moz-landing-system : lando
2018-11-19 06:29:15 +00:00
Margareta Eliza Balazs
77db58fd5a Backed out changeset 02d8210b8904 (bug 1501353) on request from MarcoZ
--HG--
extra : rebase_source : c8ac92b3ed860b783b1cc87b5ef8c231ac75101e
2018-10-24 11:36:25 +03:00
Marco Zehe
5104d78a7d Bug 1501353 - Change the exposed accessible role for a named region from region to landmark, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D9554

--HG--
extra : moz-landing-system : lando
2018-10-24 00:34:21 +00:00
Nicholas Nethercote
7de7b7aae3 Bug 1451169 - Change nsRoleMapEntry::roleAtom from nsStaticAtom** to nsStaticAtom* const. r=davidb
--HG--
extra : rebase_source : 3a7101328e9ffcb6adeef42c98afa26d0531ca1c
2018-04-03 10:55:33 +10:00
Eitan Isaacson
dc59a7f112 Bug 1489324 - Add 'child-item-count' and 'hierarchical' attributes to collection containers. r=Jamie 2018-09-21 13:02:20 -07:00
Alexander Surkov
ed5f3a33f3 Bug 1491210 - stop using nsIDOMXULLabeledControlElement, r=jamie 2018-09-19 09:06:31 +08:00
Ehsan Akhgari
5d9d4af0cd Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5950
2018-09-18 00:58:52 -04:00
Coroiu Cristina
40028657f0 Backed out 3 changesets (bug 1491574) for build bustage at builds/worker/workspace/build/src/netwerk/base/nsNetUtil.cpp on a CLOSED TREE
Backed out changeset 5390b485f7e4 (bug 1491574)
Backed out changeset 3d11b69de826 (bug 1491574)
Backed out changeset e7e8f3f70f8b (bug 1491574)
2018-09-18 07:10:20 +03:00
Ehsan Akhgari
9b9060a876 Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5950
2018-09-17 22:05:34 -04:00
Alexander Surkov
ef0cc6d04c Bug 1487313 - stop using nsIDOMXULLabelElement and nsIDOMXULDescriptionElement in a11y, r=jamie 2018-08-31 09:17:38 +08:00
Eitan Isaacson
8d5dad89ed Bug 1479591 - Introduced accessibility scrolling event and interface. r=surkov 2018-08-15 13:07:00 -04:00
Cosmin Sabou
c2b1fcd31c Backed out changeset dad95d849302 (bug 1479591) for causing linux debug leaks and security issues. 2018-08-15 04:39:43 +03:00
Eitan Isaacson
0f281891a2 Bug 1479591 - Introduced accessibility scrolling event and interface. r=surkov 2018-08-14 11:46:00 +03:00
Ting-Yu Lin
48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Brian Hackett
05a7f56ce7 Bug 1479585 - Use replayable IDs in PDocAccessible IPC, r=davidb.
--HG--
extra : rebase_source : 40e1b80174483e5bce3a76f5a82c5b4951a38e63
2018-08-02 17:30:17 +00:00
Brian Grinstead
6a6ca1a08c Bug 1475342 - Move document.getElementsByAttribute[NS] to ParentNode so it'll work for HTML document and elements;r=bz
It's currently only accessible on XULDocument and XULElement, but that makes porting existing
JS to run in an HTML document inconvenient. We could alternatively change calling JS, but
this can be easily moved and exposed in chrome contexts.

MozReview-Commit-ID: JitYET20NSE

--HG--
extra : rebase_source : 75d823c688cba8d84dc19705e83284be383962f2
2018-07-26 13:40:13 -07:00
Eitan Isaacson
3fa0f4108f Bug 1475087 - Include boundaryType in vc change event. r=surkov 2018-07-16 13:56:00 +03:00
Gurzau Raul
117e86643a Backed out changeset ed8baebfeb78 (bug 1475087) for Windows build bustages on mozilla/a11y/DocAccessibleParent.h on a CLOSED TREE 2018-07-16 23:20:28 +03:00
Eitan Isaacson
95b1000eef Bug 1475087 - Include boundaryType in vc change event. r=surkov 2018-07-16 12:36:31 -07:00
James Teh
e5a1c32097 Bug 1475376: Support aria-valuetext for implicit ARIA roles. r=MarcoZ
For example, <input type="range"> maps to role="slider", so aria-valuetext should be supported.

MozReview-Commit-ID: IYBVTHP3ZLo

--HG--
extra : rebase_source : 906dfacf92d040abf97b46ff67bafbabc5c9a1ea
2018-07-12 20:22:09 -04:00
Chris Peterson
16cc517cf9 Bug 1473453 - Part 1: a11y: assert hitregion property is always null or true. r=MarcoZ
Fix clang-tidy warning about bool pointers:

[misc-bool-pointer-implicit-conversion] accessible/generic/Accessible.cpp:644:9: warning: dubious check of 'bool *' against 'nullptr', did you mean to dereference it?

The `hitregion` property is always null or points to a true bool, set here:

https://searchfox.org/mozilla-central/rev/6ef785903fee6c0b16a1eab79d722373d940fd78/dom/canvas/CanvasRenderingContext2D.cpp#3936-3937

The `hitregion` property used to be an nsRect pointer:

https://searchfox.org/mozilla-central/diff/c797577640f306df87e8c32313c5b826d1e58a9b/accessible/src/generic/Accessible.cpp#928

MozReview-Commit-ID: HYlAnMyaitB

--HG--
extra : rebase_source : 2f8d9d151ebc382043c107517838ccdaa0ed7228
2018-07-04 14:39:57 -07:00
Alexander Surkov
32562a67f0 Bug 1349223 - cut aria-hidden tree, r=yzen 2018-07-04 10:20:49 -04:00
Jeff Gilbert
5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Cosmin Sabou
aeb2ada3aa Backed out changeset b2df5de436bd (bug 1349223) for permafailling marionette harness on test_accessibility.py. CLOSED TREE 2018-06-25 22:50:58 +03:00
Alexander Surkov
3da9b86da8 Bug 1349223 - cut aria-hidden tree, r=yzen 2018-06-25 14:17:01 -04:00
Eitan Isaacson
09ec9609fb Bug 1465823 - Add new position and offsets to pivot change notifications and vc events. r=surkov 2018-06-21 14:47:00 +03:00
Alexander Surkov
9b16d6de3d Bug 759650 - turn 'Called on accessible unbound from tree' assertion into moz_assert 2018-06-18 14:04:08 -04:00
Alexander Surkov
3364a60bed Bug 886215 - trun 'Children of not selected deck panel are not accessible' into moz_assert 2018-06-18 14:02:27 -04:00
Kris Maglione
8340513b0c Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz
Using concrete class types with static IIDs in QueryInterface methods is a
pretty common pattern which isn't supported by any existing helper macros.
That's lead to separate ad-hoc implementations, with varying degrees of
dodginess, being scattered around the tree.

This patch adds a helper macro with a canonical (and safe) implementation, and
updates existing ad-hoc users to use it.

MozReview-Commit-ID: HaTGF7MN5Cv

--HG--
extra : rebase_source : ace930129d85960d22bc3048ca3bb19bbbd4a63e
extra : histedit_source : 03a87f746d957789d41381e4e1bfcc4fd7eebaf2%2C9c5bae9feeeef7721105db67be0f83e0ded66bb7
2018-05-21 16:33:18 -07:00
Tokio Kajitsuka
55c94aedca Bug 1438193 - part11-9: NativeState r=surkov
turn NativeState into const functions
2018-05-16 03:04:50 +09:00