Commit Graph

7882 Commits

Author SHA1 Message Date
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
Coroiu Cristina
0882dc9bf4 Backed out changeset cf34b2e8ac53 (bug 1513337) for test client failure 2019-07-17 12:12:21 +03:00
Dão Gottwald
9fce0b69a1 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 07:38:18 +00:00
Gurzau Raul
a40be3ff67 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-17 06:53:00 +03:00
Gurzau Raul
21df1f7413 Merge inbound to mozilla-central. a=merge 2019-07-17 06:48:50 +03:00
Tom Ritter
aa0bd0268c Bug 1547518 - Disable accessibility tests on mingw-clang builds r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D38033

--HG--
extra : moz-landing-system : lando
2019-07-16 23:22:30 +00:00
Aaron Klotz
088309ee7c Bug 1483687: Part 6 - Update a11y DLL blocking to use the new unified DLL blocklist; r=Jamie
Even though a11y DLLs are not strictly "DLL blocking," I felt that it would
make sense to include them in our unified DLL blocklist. This patch delegates
much of that functionality to the unified blocklist code. Going forward, any
further blocklist entries for in-proc a11y DLLs should be added to
mozglue/build/WindowsDllBlocklistDefs.in via the A11yBlocklistEntry type.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 18:03:54 +00:00
Mirko Brodesser
1669cc6770 Bug 1566046: rename GetParentOrHostNode to GetParentOrShadowHostNode. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D38078
2019-07-16 09:25:02 +02:00
Noemi Erli
2f99f5d875 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-16 00:48:17 +03:00
Mirko Brodesser
2f40f072ab Bug 1565584: move nsIContentUtils::ContentIsDescendantOf to nsINode::IsInclusiveDescendantOf. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37880
2019-07-15 10:02:21 +02:00
Dão Gottwald
0e5e8bf0c3 Bug 1562274 - Remove the PopupAutoCompleteRichResult panel. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D37549

--HG--
extra : moz-landing-system : lando
2019-07-11 12:15:30 +00:00
Boris Zbarsky
374137e8d8 Bug 1565767 part 5. Remove some unnecesary refcounting at nsIContent::GetBaseURI callsites. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D37973

--HG--
extra : moz-landing-system : lando
2019-07-15 18:29:05 +00:00
James Teh
3a49aece73 Bug 1564299: Fire a reorder event on the outer doc accessible when an OOP document gets added. r=yzen
For same-process iframe documents, this reorder event is fired by the content process.
This isn't possible when the document is in a different process to its embedder.
In this case, we need to fire it from the parent process when the embedded document accessible is added.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 12:59:21 +00:00
Brendan Dahl
28dcf95b41 Bug 1557371 - Part 2 - Load all XUL crashtests with chrome privilege. r=dbaron
386947-1.xul, now has one assertion since we take a different code
path with chrome URL's and XBL files. The assertion is triggered since the
binding is invalid.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 19:40:42 +00:00
harry
4399f1cef6 Bug 1551233 - Remove legacy urlbar mochitests. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D36346

--HG--
extra : moz-landing-system : lando
2019-07-09 21:48:05 +00:00
Brindusan Cristian
ea007979ee Backed out changeset a7c14ebfcd4d (bug 1513337) for telemetry failures at test_event_ping.py. CLOSED TREE 2019-07-16 17:22:21 +03:00
Dão Gottwald
d4258708f3 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-16 10:26:04 +00:00
Sylvestre Ledru
e77bfc655d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:33:44 +00:00
James Teh
43f890d3a4 Bug 1562208: Don't assume that a child DocAccessibleParent is for a different process to its parent because there is a BrowserBridgeParent. r=yzen
Previously, DocAccessibleParent::AddChildDoc used the presence of a BrowserBridgeParent to determine whether the child document was in a different process to the parent document.
While this is normally the case, there can be a point while the embedded document is loading where there is a temporary document in the same (embedder) process.
In this case, we tried to get the COM proxy for the child document.
For a child document in the same process, this isn't available yet, so this caused infinite recursion (stack overflow) in ProxyAccessible::GetCOMInterface.

Instead of using the presence of BrowserBridgeParent, first check whether the child document is at the top level of its content process.
If it isn't, the document is in the same process as its parent.

Also, add a DIAGNOSTIC_ASSERT to ProxyAccessible::GetCOMInterface which will fire if no COM proxy or MSAA child id has been set.
Previously, we just recursed infinitely and overflowed the stack in this case, which is painful to debug.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 00:56:56 +00:00
Sebastian Hengst
1db4056744 Bug 1563275 - make dynamically inserted slotted elements accessible: take new Prettier style into account. a=eslint-fix CLOSED TREE 2019-07-05 21:20:51 +02:00
Alexander Surkov
f09b8fa08d Bug 1563275 - make dynamically inserted slotted elements accessible r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D36919

--HG--
extra : moz-landing-system : lando
2019-07-05 12:28:51 +00:00
Victor Porof
6117c06951 Bug 1561435 - Fix linting errors for accessible/, r=standard8
# ignore-this-changeset

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

--HG--
extra : source : 683c8b5040211bba7eabe7c3a5b4d80550bdc03e
extra : intermediate-source : 27745a284b464e970ff19ee684cb3c0374ba7754
2019-06-28 19:38:45 +02:00
Victor Porof
058dce8bba Bug 1561435 - Format accessible/, a=automatic-formatting
# ignore-this-changeset

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

--HG--
extra : source : e786ed0773342d7c897007bb1be5a101945b894a
2019-07-05 09:45:34 +02:00
Victor Porof
34da32ec3c Bug 1558517 - Pre 3.1: Change conflicting "camelcase" rule which would fail after running Prettier, r=standard8
Differential Revision: https://phabricator.services.mozilla.com/D34695

--HG--
extra : source : 078747ad644246551a165a176a691e0440553c85
extra : intermediate-source : 3b39b237ae3c49eb6c9d56a2ef8bfb5134b878da
2019-06-12 11:43:25 +02:00
Victor Porof
b5a4cb3848 Bug 1558517 - Pre 3.0: Remove conflicting eslint rules, and turn on "curly: all" everywhere, r=standard8
Differential Revision: https://phabricator.services.mozilla.com/D34535

--HG--
extra : source : 74ed7ee773393d305c4e948a57a1b1e32b1f12e8
extra : intermediate-source : 403d0757d61683e0a85d0bb07768eb39fbd0af72
2019-06-28 17:14:01 +02:00
L. David Baron
7e9c9d9319 Bug 1474771 - Adjust accessibility test_list.html to deal with frames having NS_FRAME_IS_DIRTY more often. r=Jamie
`NS_FRAME_IS_DIRTY` being set on a frame has always meant that that
frame and all of its descendants need to be reflowed.  What the main
patch on this bug is changing is when it gets propagated to descendants;
prior to that patch it gets propagated during reflow, whereas after the
patch it gets propagated when the bit is set.  This means that
`NS_FRAME_IS_DIRTY` is now (after the patch) a somewhat more reliable
indicator of whether a frame requires reflow than it was before.

However, this has a strange interaction with the particular sequence of
operations that test_list.html performs.  In particular, test_list.html:
 (1) makes a style change that requires reflow,
 (2) flushes style (but not layout), and
 (3) gets the name of an accessible whose layout was dirtied by the style change.

Getting this name ends up here:
```
nsTextFrame::GetRenderedText at layout/generic/nsTextFrame.cpp:9600
nsTextEquivUtils::AppendTextEquivFromTextContent at accessible/base/nsTextEquivUtils.cpp:127
nsTextEquivUtils::AppendFromAccessible at accessible/base/nsTextEquivUtils.cpp:174
nsTextEquivUtils::AppendFromAccessibleChildren at accessible/base/nsTextEquivUtils.cpp:162
nsTextEquivUtils::GetNameFromSubtree at accessible/base/nsTextEquivUtils.cpp:39
mozilla::a11y::Accessible::NativeName at accessible/generic/Accessible.cpp:1991
mozilla::a11y::HyperTextAccessible::NativeName at accessible/generic/HyperTextAccessible.cpp:1760
mozilla::a11y::Accessible::Name at accessible/generic/Accessible.cpp:149
mozilla::a11y::xpcAccessible::GetName at accessible/xpcom/xpcAccessible.cpp:245
NS_InvokeByIndex at xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106
```

What the main patch in the bug has changed is whether this `nsTextFrame`
has the `NS_FRAME_IS_DIRTY` bit set at this point.  This means that
`GetRenderedText` will bail out without reporting the text, because the
frame is marked dirty.

On the assumption that this action -- getting accessible names while
frames are dirty -- is an artificial situation set up in the test and
not a real-world situation that we need to care about, I'm proposing
that we make the straightforward adjustment to the test:  flush layout
in addition to flushing style at step (2) above, so that the test works
again.  As long as that assumption is correct, I think this should be
fine.  (I'd note that this is the *only* test that breaks as a result of
the patch.)

If, on the other hand, we actually do care about what accessible names
return while layout state is dirty and reflow is needed, we should
probably improve `nsTextFrame::GetRenderedText` so that it can somehow
report useful state even when `NS_FRAME_IS_DIRTY` is set, or something
else more complicated.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 05:30:30 +00:00
Mirko Brodesser
6b67de025f Bug 1562876: rename Selection::RemoveRange to Selection::RemoveRangeAndUnselectFramesAndNotifyListeners. r=smaug
The name of the corresponding webidl interface of course remains unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D36607
2019-07-03 13:26:14 +02:00
Mirko Brodesser
63b4627d28 Bug 1562876: rename Selection::AddRange to Selection::AddRangeAndSelectFramesAndNotifyListeners. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36602
2019-07-03 13:26:13 +02:00
Maliha Islam
2d69e323f1 Bug 1559975 - Make directories python3 compatible r=catlee
Differential Revision: https://phabricator.services.mozilla.com/D35257

--HG--
extra : moz-landing-system : lando
2019-07-02 15:47:34 +00:00
Cameron McCormack
0a6fb940c5 Bug 1553705 - Use a cheaper to compute state key for parser inserted form controls. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32259

--HG--
extra : moz-landing-system : lando
2019-07-01 10:06:16 +00:00
Eitan Isaacson
cc070b0b1b Bug 1533888 - Check DocAccessibleParents are alive in RecvBatch. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D36374

--HG--
extra : moz-landing-system : lando
2019-06-29 04:06:26 +00:00
Csoregi Natalia
29f8e6aebd Merge inbound to mozilla-central. a=merge 2019-06-29 12:59:53 +03:00
Narcis Beleuzu
cc10ed7ce5 Backed out 2 changesets (bug 1553705) for causing Bug1562142 . CLOSED TREE
Backed out changeset fbb26a04ec1f (bug 1553705)
Backed out changeset dd6e7c0970d5 (bug 1553705)
2019-06-29 02:39:01 +03:00
Andrew Swan
7696519cff Bug 1555060 Convert <tabs> to a custom element
The conversion for "regular" <tabs> elements is straightforward, most of
the work here is to support the tab strip (the <tabs> element with the id
"tabbrowser-tabs").  The markup needed for the tab strip moves directly
into browser.xhtml and the construction/teardown logic is now explicitly
driven from gBrowser.  There are many more little tweaks too numerous to
enumerate.

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

--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js
extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4
extra : intermediate-source : a5c6deeda8a9475ac0268a4351417c8ff659c962
extra : histedit_source : 5eb8b3d14027f2aeca5c52534096837cd0343104%2Ca23a07ddd5e1fb8bd084644dd6db0ee028b7c4b4
2019-06-20 14:09:37 -07:00
Andrew Swan
f1d137eff5 Bug 1555060 Stop using dom structure for <tabs>/<tab> relationships
A bunch of existing code assumes that <tab> elements are the immediate
and only children of a <tabs> element, and uses dom apis to traverse
relationships between these elements.  To simplify conversion of <tabs>
to a custom element (and hopefully improve readability a bit at the same
time!), introduce new apis:

On <tab>
this.parentNode -> this.container
this.nextElementSibling -> this.container.findNextTab(...)
this.previousElementSibiling -> this.container.findNextTab(...)

On <tabs>
this.children -> this.allTabs

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

--HG--
extra : source : f4e21e465f384b90fa1e768141c4db708748bf66
extra : histedit_source : 95d8a4242e8e04df9e29c2b647558d37e910b845
2019-06-11 14:49:46 -07:00
Cameron McCormack
4d1517b69f Bug 1553705 - Use a cheaper to compute state key for parser inserted form controls. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32259

--HG--
extra : moz-landing-system : lando
2019-06-26 21:44:11 +00:00
Ciure Andrei
c04368fddd Backed out 3 changesets (bug 1555060) for causing test_tabbar.py to perma fail CLOSED TREE
Backed out changeset a5c6deeda8a9 (bug 1555060)
Backed out changeset f4e21e465f38 (bug 1555060)
Backed out changeset c71c45fe3e63 (bug 1555060)

--HG--
rename : browser/base/content/tabbrowser-tabs.js => browser/base/content/tabbrowser.xml
2019-06-28 00:21:50 +03:00
Andrew Swan
e6c0e0f03a Bug 1555060 Convert <tabs> to a custom element
The conversion for "regular" <tabs> elements is straightforward, most of
the work here is to support the tab strip (the <tabs> element with the id
"tabbrowser-tabs").  The markup needed for the tab strip moves directly
into browser.xhtml and the construction/teardown logic is now explicitly
driven from gBrowser.  There are many more little tweaks too numerous to
enumerate.

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

--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js
extra : rebase_source : 6b2b0ed9b01958d1b2db605ab300c4bebcaa461c
extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4
2019-06-20 14:09:37 -07:00
Andrew Swan
6fd54d15e6 Bug 1555060 Stop using dom structure for <tabs>/<tab> relationships
A bunch of existing code assumes that <tab> elements are the immediate
and only children of a <tabs> element, and uses dom apis to traverse
relationships between these elements.  To simplify conversion of <tabs>
to a custom element (and hopefully improve readability a bit at the same
time!), introduce new apis:

On <tab>
this.parentNode -> this.container
this.nextElementSibling -> this.container.findNextTab(...)
this.previousElementSibiling -> this.container.findNextTab(...)

On <tabs>
this.children -> this.allTabs

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

--HG--
extra : rebase_source : affeda0295a5195124709f322de524aea3a28a3f
2019-06-11 14:49:46 -07:00
Jonathan Kingston
a5ba216f93 Bug 1315460 - Removal of keygen element r=keeler,baku,jld,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D22810

--HG--
extra : moz-landing-system : lando
2019-06-13 08:58:07 +00:00
James Teh
788fa105b8 Bug 1558390: For OOP iframes, also send the embedder accessible when the BrowserBridgeChild is created. r=yzen,nika
Previously, BrowserBridgeChild::SendSetEmbedderAccessible was only called when an OuterDocAccessible was constructed.
However, it's also possible that the BrowserBridgeChild is created *after* the OuterDocAccessible.
Therefore, we must also do this when a BrowserBridgeChild is created if the OuterDocAccessible already exists.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 02:19:42 +00:00
Andreea Pavel
ab94a895b6 Backed out changeset b5df002db72c (bug 1558390) for build bustages on a CLOSED TREE 2019-06-13 03:33:45 +03:00
James Teh
a832fc180d Bug 1558369: AccessibleHandler: Don't use HandlerChildEnumerator for iframes. r=yzen
When a client wants to fetch all accessible children, the COM handler uses handlerProvider::get_AllChildren in the content process to optimize cross-process retrieval of all children.
This works fine for iframes rendered in the same content process, just as it does for other accessibles.
However, for out-of-process iframes, HandlerProvider::get_AllChildren will fail.
This is because we only send down an IDispatch COM proxy for the embedded document, but get_AllChildren will try to QueryInterface this to IAccessible2 to reduce QI calls from the parent process.
Because the content process is sandboxed, it can't make the outgoing COM call to QI the proxy from IDispatch to IAccessible2 and so it fails.

Since an iframe only has one child anyway, we don't need the bulk fetch optimization offered by HandlerChildEnumerator or even IEnumVARIANT.
Therefore, we explicitly tell the client this interface is not supported, which will cause the oleacc AccessibleChildren function to fall back to accChild.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 15:08:21 +00:00
James Teh
98c9b833d0 Bug 1558390: For OOP iframes, also send the embedder accessible when the BrowserBridgeChild is created. r=yzen,nika
Previously, BrowserBridgeChild::SendSetEmbedderAccessible was only called when an OuterDocAccessible was constructed.
However, it's also possible that the BrowserBridgeChild is created *after* the OuterDocAccessible.
Therefore, we must also do this when a BrowserBridgeChild is created if the OuterDocAccessible already exists.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 14:57:40 +00:00
Brendan Dahl
da359a0016 Bug 1558686 - Enable XUL default button behavior for any doc that allows XUL. r=Jamie
Fixes test 'accessible/tests/mochitest/relations/test_general.xul' when
loaded as XHTML.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 03:16:33 +00:00
Joanmarie Diggs
534bd455b6 Bug 1446699 - Fix ATK mapping for EVENT_TEXT_SELECTION_CHANGED r=Jamie
The correct mapping for nsIAccessibleEvent::EVENT_TEXT_SELECTION_CHANGED
in ATK is text_selection_changed; not selection_changed. The latter is
meant for containers which support selection of child objects, such as
a menu or expanded select element.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 04:01:51 +00:00
Boris Zbarsky
9de72a3ac6 Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D34196

--HG--
extra : moz-landing-system : lando
2019-06-11 15:51:51 +00:00
Tim Nguyen
aba8c723e5 Bug 1556561 - Remove <children> usage from autocomplete binding. r=dao,surkov
Differential Revision: https://phabricator.services.mozilla.com/D33568

--HG--
extra : moz-landing-system : lando
2019-06-08 08:16:18 +00:00
Emilio Cobos Álvarez
1e7b303431 Bug 1539469 - Make all input elements display: inline-block, for compat with other UAs. r=mats
See https://github.com/whatwg/html/issues/4082 for the data and some comments
from Boris and David.

I didn't look into fixing the font-inflation reftests, see bug 1540176 for that.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 15:39:47 +00:00
James Teh
5fd61516b3 Bug 1554831: For out-of-process iframe documents on Windows, send the a11y emulated window (if any) to the content process. r=eeejay
If window emulation is enabled, an out-of-process iframe document should use the same emulated window as its embedder.
Previously, we were setting this on DocAccessibleParent, but we weren't sending it to content to make it available on DocAccessibleChild.
This meant that accessibles in out-of-process iframe documents were reporting the wrong window handle.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 04:37:28 +00:00
James Teh
9e31e95a78 Bug 1553706: Fix IAccessible::accChild in the parent process for out-of-process iframes. r=eeejay
It must be possible to retrieve any accessible by calling IAccessible::accChild on the RootAccessible (in the parent process) with the unique id of the desired accessible.
Among other things, this is the way accessibility events are targeted on Windows.
Previously, this code only searched remote documents at the top level of the tree.
In order to support out-of-process iframes, it must now also search embedded documents at the top level of their content process.

As part of this, the MSAA id must be set for out-of-process iframe documents, just as it is for top level documents.
This was already being sent from the content process, but previously, we didn't store this in the parent process.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 06:03:10 +00:00
James Teh
c0a638e74c Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay,yzen
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

As part of this, we no longer try to send the parent COM proxy during construction of an OuterDocAccessible in the parent process.
This was previously a no-op anyway, as DocAccessibleParent::SendParentCOMProxy called DocAccessible::GetAccessible for the frame element, which would have returned null because the accessible isn't bound to the document until *after* it is constructed.
Changing this to directly pass the OuterDocAccessible was causing assertions in content processes, since it sometimes meant the parent COM proxy was sent twice, which is precisely what the assertion is protecting against.
Instead, the parent proxy is sent in Browserparent::RecvPDocAccessibleConstructor as it always was.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 14:29:37 +00:00
James Teh
6af036af5f Bug 1543313 part 2: Support getting an IAccessible for a ProxyAccessible in an out-of-process iframe. r=eeejay
Previously, a COM proxy was only sent from content for top level documents.
Now, a COM proxy is also sent (and needed) for out-of-process iframe documents.
This change adjusts GetProxiedAccessibleInSubtree accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 03:27:18 +00:00
James Teh
86e3c8af49 Bug 1543313 part 1: Allow identification and retrieval of DocAccessibleParents at the top level of their content process. r=eeejay
DocAccessibleParent already has IsTopLevel(), which identifies a document at the top level of the hierarchy; i.e. it has no parents.
Now that we have out-of-process iframes, we need to be able to identify and retrieve documents at the top level of their content process, even if they are embedded by another remote document.
DocAccessibleParent::IsTopLevelInContentProcess() has been introduced to achieve this.
BrowserParent::GetTopLevelDocAccessible() now uses this instead of IsTopLevel(), since we want to be able to get the top DocAccessibleParent even for a BrowserParent for an out-of-process iframe.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 03:27:26 +00:00
Emilio Cobos Álvarez
19258bfbb4 Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 14:48:22 +00:00
Noemi Erli
d831a07840 Backed out 4 changesets (bug 1553706, bug 1543313) for failures in DocAccessibleChild.cpp
Backed out changeset 1a8bea02205d (bug 1553706)
Backed out changeset 15f3e6bb3ba9 (bug 1543313)
Backed out changeset 30b106088985 (bug 1543313)
Backed out changeset 85d11dab6b63 (bug 1543313)
2019-05-31 06:24:44 +03:00
James Teh
2864ddc45b Bug 1553706: Fix IAccessible::accChild in the parent process for out-of-process iframes. r=eeejay
It must be possible to retrieve any accessible by calling IAccessible::accChild on the RootAccessible (in the parent process) with the unique id of the desired accessible.
Among other things, this is the way accessibility events are targeted on Windows.
Previously, this code only searched remote documents at the top level of the tree.
In order to support out-of-process iframes, it must now also search embedded documents at the top level of their content process.

As part of this, the MSAA id must be set for out-of-process iframe documents, just as it is for top level documents.
This was already being sent from the content process, but previously, we didn't store this in the parent process.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 00:59:53 +00:00
James Teh
381c2b2f93 Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 06:14:24 +00:00
James Teh
2ce51b6111 Bug 1543313 part 2: Support getting an IAccessible for a ProxyAccessible in an out-of-process iframe. r=eeejay
Previously, a COM proxy was only sent from content for top level documents.
Now, a COM proxy is also sent (and needed) for out-of-process iframe documents.
This change adjusts GetProxiedAccessibleInSubtree accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:13:00 +00:00
James Teh
80e4370a70 Bug 1543313 part 1: Allow identification and retrieval of DocAccessibleParents at the top level of their content process. r=eeejay
DocAccessibleParent already has IsTopLevel(), which identifies a document at the top level of the hierarchy; i.e. it has no parents.
Now that we have out-of-process iframes, we need to be able to identify and retrieve documents at the top level of their content process, even if they are embedded by another remote document.
DocAccessibleParent::IsTopLevelInContentProcess() has been introduced to achieve this.
BrowserParent::GetTopLevelDocAccessible() now uses this instead of IsTopLevel(), since we want to be able to get the top DocAccessibleParent even for a BrowserParent for an out-of-process iframe.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:00:31 +00:00
James Teh
bffe0db8cf Bug 1543307: For out-of-process iframes on Windows, return the embedded document as a child of the OuterDocAccessible. r=eeejay
Windows accessibility clients talk directly to the content process via COM.
In order to expose an OOP iframe document accessible as a child of the embedder iframe accessible via COM, the embedder process needs a COM proxy for the iframe document accessible.
This is exposed on the embedder's BrowserBridgeChild, so we can use this when a client asks for the child of the OuterDocAccessible.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 19:54:37 +00:00
James Teh
a23e2db32f Bug 1543298 part 3: For out-of-process iframes, send the embedded document accessible's COM proxy to the embedder. r=eeejay
This will be later exposed as a child of the embedder OuterDocAccessible.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 00:19:51 +00:00
James Teh
ca09924827 Bug 1543298 part 1: Add a stub AccessibleWrap used in a Windows content process for an embedded document residing in another content process. r=eeejay
For an out-of-process iframe, we need to be able to return a remote embedder accessible as a child of an OuterDocAccessible.
For parent process OuterDocAccessibles, we use the ProxyAccessible for the embedded document.
In the case of out-of-process iframes, there is no ProxyAccessible for the embedded document, since the iframe is in a content process and ProxyAccessibles only exist in the parent process.
Like ProxyAccessibleWrap, the only real method that gets called is GetNativeInterface, which returns a COM proxy for the document.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 18:14:39 +00:00
Edgar Chen
4b1ff2f791 Bug 1543439 - Part 1: Move special handling for MouseDown/Up event out of AutoHandlingUserInputStatePusher; r=masayuki
PresShell::EventHandler::HandleEventWithCurrentEventInfo is the only possible
place will do such handling; other places pass either a nullptr or a
non-MouseDown/Up event.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 07:48:16 +00:00
James Teh
bfb6c4c160 Bug 1543287: Add embedded out-of-process iframe DocAccessibleParent as a child of its embedder DocAccessibleParent. r=eeejay,nika
For iframes in a different process to their embedder, when the embedded iframe content process tells the parent process about the iframe document, it does not have the actor for the parent document accessible, nor does it know the accessible id of the embedding iframe.
However, the embedder will have previously sendt the actor and id for the embedder accessible to the parent via PBrowserBridge, so we can use that to identify the parent accessible.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 04:36:18 +00:00
James Teh
25b9e2f1f5 Bug 1543282 part 3: For iframes rendered in other processes, tell the parent the embedder iframe accessible. r=eeejay
We do this when the OuterDocAccessible is constructed.
This will be used later in the parent process to link the trees together when the iframe's embedded document accessible is added.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 04:42:55 +00:00
James Teh
41261b6bd4 Bug 1543282 part 1: Reference counting for DocAccessibleParent. r=eeejay,nika
Supporting out-of-process iframes requires us to hold onto a DocAccessibleParent in BrowserBridgeParent.
However, we can't guarantee the order of cleanup between the two content processes.
Therefore, we need reference counting to kee the object alive.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 17:42:59 +00:00
Sylvestre Ledru
d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
arthur.iakab
af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru
c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Eitan Isaacson
291dfad17d Bug 1548362 - Include visual viewport offsets in bounds and hittest calculations. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D30385

--HG--
extra : moz-landing-system : lando
2019-05-15 00:06:30 +00:00
Eitan Isaacson
cf9dd32a8b Bug 1380905 - Allow HTMLComboboxAccessible to be shut down twice. r=Jamie
Accessibles can be shut down twice. For example, their doc might shut
them down in its own ShutDown, while a reference is still being held by
a dispatched event. When the event goes away, or the cycle collector
kicks in, the accessible may be finally released and shut down again via
LastRelease.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 04:50:31 +00:00
Sylvestre Ledru
993c03acb1 Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D31769

--HG--
extra : moz-landing-system : lando
2019-05-22 22:37:14 +00:00
Daniel Varga
4cbc287f63 Merge mozilla-inbound to mozilla-central. a=merge 2019-05-23 18:54:21 +03:00
Eitan Isaacson
f9b6430779 Bug 1551825 - Release mAnchorJumpElm and mInvalidationList in DocAccessible::Shutdown. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D32197

--HG--
extra : moz-landing-system : lando
2019-05-22 22:03:44 +00:00
Eitan Isaacson
661bd00c42 Bug 1506514 - Don't create accessibles for unselected deck panel descendants. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D31656

--HG--
extra : moz-landing-system : lando
2019-05-20 15:54:56 +00:00
Brendan Dahl
543c10a1d2 Bug 1551320 - Replace all CreateElement calls in XUL documents with CreateXULElement. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D31295

--HG--
extra : moz-landing-system : lando
2019-05-20 16:50:28 +00:00
Gijs Kruitbosch
08a9932fa1 Bug 1549855 - remove references to e10s force-enable pref that is no longer used, r=ato,eeejay
Differential Revision: https://phabricator.services.mozilla.com/D31417

--HG--
extra : moz-landing-system : lando
2019-05-17 09:25:14 +00:00
arthur.iakab
90e3810429 Backed out 2 changesets (bug 1549855) for failing Android mochitests on robocop_text_page.html CLOSED TREE
Backed out changeset 928038c23227 (bug 1549855)
Backed out changeset 9383ea5938fe (bug 1549855)
2019-05-17 02:06:35 +03:00
Gijs Kruitbosch
95d90b94d2 Bug 1549855 - remove references to e10s force-enable pref that is no longer used, r=ato,snorp,eeejay
Differential Revision: https://phabricator.services.mozilla.com/D31417

--HG--
extra : moz-landing-system : lando
2019-05-16 16:21:56 +00:00
Boris Zbarsky
f7d654e3b2 Bug 1551684 part 2. Stop using [array] in nsIAccessiblePivot. r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D31180

--HG--
extra : moz-landing-system : lando
2019-05-15 11:54:07 +00:00
Boris Zbarsky
51e40973fc Bug 1551684 part 1. Stop using [array] in nsIAccessibleTable. r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D31179

--HG--
extra : moz-landing-system : lando
2019-05-15 13:44:23 +00:00
James Teh
67fb859dcb Bug 1190882: If the focused accessible is removed from the tree, fire a11y focus on the document. r=eeejay
If the DOM focus is removed before something else is focused, the document gets DOM focus, but no blur event is fired (bug 559561).
This means that no a11y focus event is fired, so clients aren't notified.
This is particularly problematic for screen readers when dismissing some ARIA dialogs, as the screen reader doesn't know that focus has returned to the top level document.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 00:31:16 +00:00
Tim Nguyen
c1f5b7a338 Bug 1521280 - Convert search-textbox to a custom element. r=dao,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D23045

--HG--
rename : toolkit/content/widgets/textbox.xml => toolkit/content/widgets/search-textbox.js
extra : moz-landing-system : lando
2019-05-13 18:12:37 +00:00
Coroiu Cristina
cc280c4be9 Backed out changeset c5798de806e2 (bug 1521280) for crashing when searching about:config for upcoming beta (bug 1551013)
--HG--
extra : rebase_source : 8f936159c23d09bf227ce4f5eb6f2d96d33bbff1
2019-05-13 08:50:28 +03:00
J.C. Jones
cad430cae6 Bug 1391438 - Move GECKOBUNDLE macros into their own header r=snorp
The GECKOBUNDLE macros are useful to more than just a11y code, so let's move them into the jni package so that all jni consumers may drink of their sweet nectar.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 17:59:46 +00:00
Hiroyuki Ikezoe
ddb35d3718 Bug 1541253 - Check PresShell::IsUnderHiddenEmbedderElement where we need to check CSS visibility state across the document boundary. r=tnikkel
Depends on D26252

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

--HG--
extra : moz-landing-system : lando
2019-05-10 11:22:28 +00:00
Tim Nguyen
1a57aab68e Bug 1521280 - Convert search-textbox to a custom element. r=dao,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D23045

--HG--
rename : toolkit/content/widgets/textbox.xml => toolkit/content/widgets/search-textbox.js
extra : moz-landing-system : lando
2019-05-10 11:46:49 +00:00
Dão Gottwald
51fd51ab63 Bug 1522440 - Finish porting browser_test_focus_urlbar.js to quantumbar. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D30346

--HG--
extra : moz-landing-system : lando
2019-05-08 22:04:54 +00:00
Alexander Surkov
d2bee9f0fe Bug 1521280 - support XUL textboxes implemented as Custom Elements using HTML:input in explicit content r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D29874

--HG--
extra : moz-landing-system : lando
2019-05-08 13:43:58 +00:00
Masayuki Nakano
0925cb9a70 Bug 1549155 - Mark EditorBase::DeleteNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D30038

--HG--
extra : moz-landing-system : lando
2019-05-07 22:27:29 +00:00
Dão Gottwald
090bb68c30 Bug 1548860 - Set a11y focus in the UrlbarView when arrowing down and remove it on backspace. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D29664

--HG--
extra : moz-landing-system : lando
2019-05-03 18:32:15 +00:00
Ryan Hunt
9078c825ec Bug 1525720, part 14 - Move final bits of nsIRemoteTab implementation to BrowserHost. r=nika
This commit moves the actual implementation of nsIRemoteTab from BrowserParent
to BrowserHost, without any functional changes.

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

--HG--
extra : source : d25963c72ff7981990660050182a82ea3e935f53
2019-05-08 15:47:18 -05:00
Ryan Hunt
4683a8b07a Bug 1525720, part 13 - Stop inheriting nsIRemoteTab interface in BrowserParent. r=nika
This commit removes nsIRemoteTab as a parent class from BrowserParent,
so that BrowserHost is the only concrete implementation of nsIRemoteTab.

Some static_cast's are updated to cast to BrowserHost, and other places
have to be updated to pass a BrowserHost instead of a BrowserParent.

WindowGlobalParent had a getter to return it's managing BrowserParent
as a nsIRemoteTab. I couldn't find a use of this in-tree, so I've just
opt-ed to remove it. If there's a use-case, we can add something back
in.

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

--HG--
extra : source : 810b7371987139844429d0206f9da6a7701a1efc
2019-05-08 14:34:47 -05:00
Gurzau Raul
57f573a6ff Backed out 18 changesets (bug 1525720) for mass failures on Windows platform e.g ProcessPriorityManager.cpp on a CLOSED TREE.
Backed out changeset 1f2e86c2d691 (bug 1525720)
Backed out changeset 9b79caa460a0 (bug 1525720)
Backed out changeset e65cb2d4c5a5 (bug 1525720)
Backed out changeset 99f971a02d87 (bug 1525720)
Backed out changeset d25963c72ff7 (bug 1525720)
Backed out changeset 810b73719871 (bug 1525720)
Backed out changeset ee10a8254481 (bug 1525720)
Backed out changeset 1bcf9f586c55 (bug 1525720)
Backed out changeset d3b2ac8d5ca4 (bug 1525720)
Backed out changeset 697774dd8984 (bug 1525720)
Backed out changeset eadeacbe4483 (bug 1525720)
Backed out changeset 32eeee79d628 (bug 1525720)
Backed out changeset 07678a2fa9e7 (bug 1525720)
Backed out changeset 757b4f595cc4 (bug 1525720)
Backed out changeset b255e0a84e12 (bug 1525720)
Backed out changeset 9a255864f75d (bug 1525720)
Backed out changeset 5f1c1b609ec1 (bug 1525720)
Backed out changeset 00d83f1d02e0 (bug 1525720)
2019-05-23 01:57:16 +03:00
Ryan Hunt
9b1bbaea5b Bug 1525720, part 14 - Move final bits of nsIRemoteTab implementation to BrowserHost. r=nika
This commit moves the actual implementation of nsIRemoteTab from BrowserParent
to BrowserHost, without any functional changes.

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

--HG--
extra : rebase_source : 2e6533dfa69a3278300eb70d5258bcd0a3aba68b
extra : histedit_source : a26ba68b78eb6d16cdffbc630f4410c5dd46a367
2019-05-08 15:47:18 -05:00
Ryan Hunt
93d6ab4ec4 Bug 1525720, part 13 - Stop inheriting nsIRemoteTab interface in BrowserParent. r=nika
This commit removes nsIRemoteTab as a parent class from BrowserParent,
so that BrowserHost is the only concrete implementation of nsIRemoteTab.

Some static_cast's are updated to cast to BrowserHost, and other places
have to be updated to pass a BrowserHost instead of a BrowserParent.

WindowGlobalParent had a getter to return it's managing BrowserParent
as a nsIRemoteTab. I couldn't find a use of this in-tree, so I've just
opt-ed to remove it. If there's a use-case, we can add something back
in.

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

--HG--
extra : rebase_source : 63070e3c2b90c9134f9106028e124935c8dad009
extra : histedit_source : 807f2ff684d86008077be07b0894f39a925fe778
2019-05-08 14:34:47 -05:00
Mike de Boer
799660b14d Bug 1548031 - Enable the QuantumBar on Nightly and early Beta. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D29538

--HG--
extra : moz-landing-system : lando
2019-05-01 17:46:23 +00:00
Emilio Cobos Álvarez
edde08a7cb Bug 1547985 - Use rust types for vertical-align. r=mats
The previous commit removed the dependence on the discriminant value, so we
don't need to keep discriminants different from text-align anymore.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 13:08:34 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
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
Dão Gottwald
42758455d8 Bug 1522440 - Finish porting browser_test_focus_urlbar.js to quantumbar. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D29119

--HG--
extra : moz-landing-system : lando
2019-04-29 20:00:28 +00:00