Граф коммитов

7783 Коммитов

Автор SHA1 Сообщение Дата
James Teh bda9b87fdb Bug 1574428: IAccessible2_2::relationTargetsOfType: Support 0 for all targets and fix off-by-one error. r=MarcoZ
1. As per the spec, if maxTargets is 0, return all targets.
2. Where maxTargets > 0, fix the loop condition so it doesn't incorrectly fetch one more target than requested.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 05:58:49 +00:00
Noemi Erli 6b80a780ed Backed out changeset 067d47e20a94 (bug 1572811) for causing failures in CharacterData.cpp CLOSED TREE 2019-08-15 20:30:45 +03:00
Eitan Isaacson 212dd05514 Bug 1572811 - Explicitly check for removed anonymous children in reframe. r=Jamie
The DOM mutation observer method is called during frame destruction
which is not a good state to be in when constructing and dispatching events.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:06:33 +00:00
Mats Palmgren a74c7c2d43 Bug 1574123 - Use nsLayoutUtils::GetMarkerFrame() more to avoid manual null-checks. r=emilio
(This basically addresses the review comments that I missed in
bug 1105868 part 4. My bad.)

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

--HG--
extra : moz-landing-system : lando
2019-08-15 14:23:37 +00:00
Alexander Surkov cfb8c8aef7 Bug 1573337 - remove XBL anon content filtering support from accessible tree traversal r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D42022

--HG--
extra : moz-landing-system : lando
2019-08-15 00:58:28 +00:00
Marco Zehe de9c156fb7 Bug 1501182 - Expose WAI-ARIA landmarks as landmark roles through accessibility APIs, r=Jamie
This change will bring us on par with what Chrome does. However, if the author makes an error in applying a landmark role to an interactive element, or other element where the landmark role is illegal, as defined in the [WAI-ARIA in HTML specification section 2](https://www.w3.org/TR/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html), the accessible properties will now be that of the landmark role, no longer that of the native host language element. This might make some elements less accessible due to author error than before, but we currently do not know of examples in the wild that actually expose this problem. This could only be solved by applying the rules from said table also in the user agents, but that is not specified anywhere.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 01:25:56 +00:00
Mats Palmgren 53321dfa54 Bug 1105868 part 4 - Accessibility support for inline list-items. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39833

--HG--
extra : moz-landing-system : lando
2019-08-14 14:37:16 +00:00
Marco Zehe d30cbb2973 Bug 1573750 - If header or footer elements are descendants of the main element, do not expose them as landmarks, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D41893

--HG--
extra : moz-landing-system : lando
2019-08-14 06:10:24 +00:00
James Teh a316be03d1 Bug 1567377: Correct a11y semantics for address bar. r=dao
For accessibility, the address bar is now exposed as a parent combo box which contains the input and the results list.
The combo box role on urlbarView-body-inner is no longer needed and has therefore been removed.
This means screen readers no longer report an extraneous combo box whenever the results list is opened.

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

--HG--
extra : moz-landing-system : lando
2019-08-12 14:06:27 +00:00
Eitan Isaacson 3194a92923 Bug 1572256 - Clear virtual cursor position when focus clear action is invoked. r=geckoview-reviewers,Jamie,snorp
Differential Revision: https://phabricator.services.mozilla.com/D41114

--HG--
extra : moz-landing-system : lando
2019-08-09 00:07:21 +00:00
Brendan Dahl b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
Eitan Isaacson f76019cc9d Bug 1572519 - Log all element attributes in accessibility logging. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D41265

--HG--
extra : moz-landing-system : lando
2019-08-09 00:02:51 +00:00
James Teh 76dff37c45 Bug 1572317: When removing an Accessible because it lost its frame, remove Accessibles for DOM descendants as well. r=eeejay
Removing an Accessible removes descendants in the a11y tree.
However, there may be DOM descendants which have been relocated elsewhere in the a11y tree.
Their DOM nodes are now hidden as well, so we need to remove those Accessibles too.
In addition to Accessibles remaining in the tree when they shouldn't, failing to remove relocated Accessibles caused problems later on when a relocated Accessible was shown with new descendants.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 01:21:54 +00:00
Eitan Isaacson 09554268a2 Bug 1571616 - Prune or reinsert accessibles in non-accessible container. r=Jamie
We need to visit the descendants of a container that has no accessible,
but has accessible children.

Also added a test for delayed removal where we can put all these nasty
cases.

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

--HG--
extra : moz-landing-system : lando
2019-08-08 16:47:14 +00:00
Kannan Vijayan e53a880b1c Bug 1569262 - Rename nsIDocShellTreeItem::GetRootTreeItem to GetInProcessRootTreeItem for Fission marking. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D41064

--HG--
extra : moz-landing-system : lando
2019-08-07 19:24:00 +00:00
Tom Schuster 0e913c22c4 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 19:49:40 +00:00
Cosmin Sabou c3430326e6 Backed out changeset ca88862d6b63 (bug 1558915) for causing build bustages on StartupCacheUtils. CLOSED TREE 2019-08-07 13:20:32 +03:00
Cosmin Sabou 85766da7d0 Backed out changeset f4cbaa7f6db9 (bug 1567377) for causing several browser chrome failures. CLOSED TREE 2019-08-07 12:58:29 +03:00
Tom Schuster 8bc1f5ada8 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 09:36:56 +00:00
James Teh 0167d3997a Bug 1567377: Correct a11y semantics for address bar. r=dao
For accessibility, the address bar is now exposed as a parent combo box which contains the input and the results list.
The combo box role on urlbarView-body-inner is no longer needed and has therefore been removed.
This means screen readers no longer report an extraneous combo box whenever the results list is opened.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 08:01:43 +00:00
Razvan Maries eedbf1137f Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
Tom Schuster 03c7998ef2 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-06 20:19:41 +00:00
Eitan Isaacson de8adb0db0 Bug 1571507 - Fix tree/test_invalidationlist.html. r=Jamie
The current test doesn't actually do anything because divs with IDs are
always created.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 00:05:44 +00:00
James Teh 0ce8fb85c6 Bug 1571327: Process generic notifications after relocations to fix aria-activedescendant with simultaneous insertion and relocation. r=eeejay
Previously, if a hidden, aria-owned subtree was shown and aria-activedescendant was simultaneously targeted inside it, aria-activedescendant would fail.
This occurred because when we processed insertions, the presence of aria-owns meant we didn't create the subtree.
This meant that when we processed aria-activedescendant (which occurred before relocations), the active descendant didn't exist yet.
To fix this, we now process generic notifications (including aria-activedescendant) *after* relocations.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 03:07:51 +00:00
kriswright 7273ad2f62 Bug 1570084 - Convert accessibility.AOM.enabled varcache pref to static pref. r=njn
Converts accessibility.AOM.enabled to static pref and removes the related mirror variable and static flag used to initially generate the varcache pref

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

--HG--
extra : moz-landing-system : lando
2019-08-01 20:08:09 +00:00
Eitan Isaacson 9ddc3e7c1a Bug 1570523 - Move browser/events.js to mochitest/promisified-events.js r=yzen
Also reworked test_recreation.html to test/demo how these ergonomics
would work.

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

--HG--
rename : accessible/tests/browser/events.js => accessible/tests/mochitest/promisified-events.js
extra : moz-landing-system : lando
2019-08-02 20:40:25 +00:00
Eitan Isaacson 67c11960cc Bug 686400 - Delay accessible removal on frame reconstruction. r=Jamie,emilio
We naively remove and then recreate accessibles when their content's
frame is reconstructed. By delaying the removal until we are certain the
content does not have a new layout frame, we can cut down on redundant
recreations.

When reconstructed content is re-inserted we can check it and its
subtree for missing frames and prune those accessibles from the tree.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 22:13:28 +00:00
Kris Maglione 22592538f5 Bug 1561015: Part 1 - Use BrowsingContext in window provider APIs. r=bzbarsky,mossop
This is the first step in making it possible to return remote WindowProxy
objects from window.open() and related APIs.

This patch also incidentally fixes a bug where getContentWindowOrOpenURI
returned the top-level browser window rather than the new content window when
passed OPEN_NEWWINDOW for the `aWhere` parameter. This was not the expected
behavior, and was a potentially major footgun for any new users who expected
to always get the content window for the URL they were loading, rather than
sometimes getting a chrome browser window instead.

For now, that case just returns null, which is only a minor footgun, rather
than the major one we had before.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:48:33 +00:00
Masayuki Nakano 765e91b497 Bug 1569902 - part 1: Stop using attribute to consider whether a `<br>` element is an editor bogus node or not r=m_kato,smaug
Editor creates a `<br>` element when it's root element is empty.
Then, it's stored by `TextEditRules::mBogusNode` and used for checking
whether the editor is empty quickly.  However, this `<br>` element has
`mozeditorbogusnode` attribute whose value is `true`.  However, adding or
removing the attribute is not cheap and web apps can refer such illegal
attribute.

Therefore, this patch makes `HTMLBRElement` take a specific flag whether
it's a bogus node or not.  However, this means that this hacky thing will be
exposed outside editor module.  For making what is the bogus node clearer,
this patch calls the such `<br>` elements as "padding `<br>` element for
empty editor".  So, this patch also includes a lot of renaming methods and
variables, and modifying related comments.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:44:40 +00:00
James Teh e7f4ed385b Bug 1570848: When an OuterDocAccessible is constructed, send it as the parent COM proxy for its remote document (if any). r=MarcoZ
Normally, the OuterDocAccessible is created first and the DocAccessibleParent for a remote document is created after that.
So, we get the OuterDocAccessible and call DocAccessibleParent::SendParentCOMProxy when the DocAccessibleParent is constructed (BrowserParent::RecvPDocAccessibleConstructor).
However, sometimes, the OuterDocAccessible is created *after* the DocAccessibleParent.
This sometimes happens for extension popups, for example.
In that case, we previously never sent the parent COM proxy.
Aside from leaving the remote document with a null parent, this also meant we never sent any events for the document, since events are buffered for remote documents until the parent COM proxy is received.
This effectively left the remote document (e.g. extension popup) inaccessible.

Now, we also call SendParentCOMProxy in the OuterDocAccessible constructor.
Note that this doesn't result in duplicates because if the OuterDocAccessible was created first, there won't be a DocAccessibleParent for the remote document yet, so this code won't run.

That said, if the OuterDocAccessible is recreated (e.g. due to frame reconstruction), we may call SendParentCOMProxy again.
This should be okay, but it required an assertion in DocAccessibleChild::RecvParentCOMProxy to be tweaked.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 04:24:54 +00:00
James Teh 07b13c72c3 Bug 1570038: When sending the parent COM proxy for a remote document, return early if the parent COM proxy can't be retrieved. r=yzen
Previously, we expected that we'd always be able to get the COM proxy for the parent (outer doc), so we crashed if it was null.
For an out-of-process iframe, this sometimes fails.
That is probably because the outer doc died in the embedder process, but the parent process hasn't received a message to remove it from the ProxyAccessible tree yet.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 03:40:14 +00:00
Eitan Isaacson 6d094c687d Bug 686400 - Filter content insertions in DocAccessible. r=Jamie
It seems a bit more sensible to me that if any filtering needs to happen
from content insertions, it should happen in the doc and not the
notification controller.

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

--HG--
extra : moz-landing-system : lando
2019-08-01 16:19:15 +00:00
Eitan Isaacson aeb736599d Bug 686400 - Add function to nsCoreUtils for display: contents. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D40131

--HG--
extra : moz-landing-system : lando
2019-08-01 16:19:06 +00:00
James Teh 0093fb5f88 Bug 1569712: Block Conexant Flow instantiating a11y to prevent performance issues. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D40149

--HG--
extra : moz-landing-system : lando
2019-08-01 05:07:31 +00:00
James Teh b09e5ab2d6 Bug 1509234: Return early if accessible dies while processing a focus event to prevent crashes. r=eeejay
In FocusManager::ProcessFocusEvent, after firing the event, we get the anchor jump from the target Accessible's document.
However, it seems the Accessible can be shut down during the call to nsEventShell::FireEvent, resulting in a crash when we try to get the anchor jump.
Protect against this by checking whether the target is defunct after firing the event.

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

--HG--
extra : moz-landing-system : lando
2019-08-01 03:00:16 +00:00
Kannan Vijayan 3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
Marco Zehe b999f08200 Bug 1568360 - Don't calculate the accessible names for table or grid rows unless they have an explicit ARIA role, r=Jamie
Previously, we would always calculate the name for tr elements from their descendants unconditionally. Assistive technologies aren't using this information, moreover, it causes problems if the name gets too long, for example in layout tables.

We now only calculate the name if the tr element has an explicit ARIA role.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 09:14:55 +00:00
Marco Zehe adce5a1e17 Bug 1568728 - Properly map thead to grouping if it is custom style, r=Jamie
This was an oversight in the checkin for bug 1461244. tfoot was duplicated due to a copy and paste error, thead was not mapped at all. It is now properly mapped, and the test adjusted accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:00:52 +00:00
James Teh dc0f1ef531 Bug 1566324 part 2: Respect shadow DOM for aria-activedescendant. r=eeejay
Previously, the target element for aria-activedescendant was retrieved by calling GetElementById on the owner document.
This meant that aria-activedescendant inside shadow DOM looked for ids in the owner document instead of the shadow DOM.
To fix this, use IDRefsIterator::GetElem instead.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 20:44:18 +00:00
James Teh 0eb35f6d14 Bug 1566324 part 1: Make a static version of IDRefsIterator::GetElem which can be called to get an id reference for any element. r=eeejay
IDRefsIterator::GetElem was previously an instance method which could only be used if you instantiated IDRefsIterator.
This is overkill for attributes which can only take a single id reference (rather than an id reference list).
Now, there is a static version of IDRefsIterator::GetElem which can be called with an arbitrary source element.
Any accessibility code should henceforth be using this instead of calling GetElementById directly, as this deals with shadow DOM, etc.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 20:44:18 +00:00
James Teh 1ace808723 Bug 1568163: Don't return proxy wrappers from OuterDocAccessible::ChildAtPoint with eDeepestChild to prevent crashes when hit testing via XPCOM. r=yzen
On Windows, OuterDocAccessible::GetChildAt can return a proxy wrapper for a remote document.
These aren't real Accessibles and shouldn't be returned except to the Windows a11y code (which doesn't use eDeepestChild).
Calling ChildAtPoint on these will crash!
Therefore, just return null in this case.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:32:22 +00:00
Christian Holler cd7a74b452 Bug 1499041 - Remove libFuzzer flags from ipc/chromium/. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D39165

--HG--
extra : moz-landing-system : lando
2019-07-24 14:13:30 +00:00
Boris Zbarsky a818800ec5 Bug 1568278. Remove various unnecessary QIs to nsIDOMWindow. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D39065

--HG--
extra : moz-landing-system : lando
2019-07-24 01:26:07 +00:00
James Teh b9e786af73 Bug 1509234: Add some assertions to help debug crashes. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D38967

--HG--
extra : moz-landing-system : lando
2019-07-24 00:08:01 +00:00
Masayuki Nakano 1c2108934c Bug 1548389 - part 6: Add automated tests for new API and rendering of password fields r=m_kato,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D38010

--HG--
extra : moz-landing-system : lando
2019-07-22 03:55:13 +00:00
James Teh 52d863a910 Bug 1566299: Update XULListBoxAccessible now that autocomplete-richlistbox-popup is a Custom Element. r=surkov
In bug 1525101, autocomplete-richlistbox-popup was converted to a Custom Element.
This means we can no longer use do_QueryInterface to get nsIAutoCompletePopup.
Instead, we must use Element::AsAutoCompletePopup.
This fixes accessibility focus for these autocompletes.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 04:47:42 +00:00
James Teh d47f642df1 Bug 1564542: Add a dummy implementation of Bounds() on DocProxyAccessibleWrap/RemoteIframeDocProxyAccessibleWrap to prevent crashes when hit testing via XPCOM. r=yzen
OuterDocAccessible can return a DocProxyAccessibleWrap or RemoteIframeDocProxyAccessibleWrap as a child.
Accessible::ChildAtPoint on an ancestor might retrieve this proxy and call Bounds() on it.
This will crash on a proxy, so we override it on these document proxies to do nothing.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 15:43:40 +00:00
Dão Gottwald 6b7e2645f9 Bug 1513337 - Inline urlbar markup into browser.xhtml. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D23191

--HG--
extra : moz-landing-system : lando
2019-07-17 11:34:21 +00:00
Mihai Alexandru Michis b7d205a80b Backed out changeset 3504c0b3f87c (bug 1513337) for marionette failures CLOSED TREE 2019-07-17 14:02:05 +03:00
Dão Gottwald 16f78d8e06 Bug 1513337 - Inline urlbar markup into browser.xhtml. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D23191

--HG--
extra : moz-landing-system : lando
2019-07-17 09:20:41 +00:00