Commit Graph

8035 Commits

Author SHA1 Message Date
Eitan Isaacson
697e001179 Bug 1604103 - Instead of pruning links and headings use contentDescription. r=Jamie
Chrome prunes the subtrees of links and headings (with single text leaf
children) and we mimic this in Gecko. The problem is that sometimes a
heading can be a child of a link, and it would be impossible to reach
when navigating by headings.

The main reason we mimiced chrome is because we would getthe name of the
node and its subtree uttered, so you would hear the name of the node
twice. By using contentDescription we can suppress the subtree from
TalkBack's utterance and preserve the node's children for heading
navigation.

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

--HG--
extra : moz-landing-system : lando
2020-02-06 04:11:47 +00:00
Aaron Klotz
e9f01af788 Bug 1613531: Eliminate the a11y telemetry thread in favour of background task; r=Jamie
We replace the a11y telemetry thread with a call to the new
`NS_DispatchBackgroundTask` infrastructure. We use `NS_DISPATCH_EVENT_MAY_BLOCK`
because the task performs some I/O to load the instantiator's version info.

I also took the opportunity to eliminate some redundant copying.

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

--HG--
extra : moz-landing-system : lando
2020-02-06 00:24:26 +00:00
Yura Zenevich
38f55cdb70 Bug 1429575 - removing test disabling conditions. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D61729

--HG--
extra : moz-landing-system : lando
2020-02-06 00:30:08 +00:00
Kendall Werts
a3b87c2eaa Bug 1613250 - Bring long press for new container tab menu back. r=Gijs,flod
Added long press as well as the old tooltip language back
and updated 2 tests.

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

--HG--
extra : moz-landing-system : lando
2020-02-05 21:50:58 +00:00
Morgan Reschenberg
6d7530b618 Bug 1590216: Test for a EVENT_TEXT_CARET_MOVED when text is selected in the URL bar of a new window. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D56781

--HG--
extra : moz-landing-system : lando
2020-02-04 11:25:01 +00:00
Eitan Isaacson
fa1647cd96 Bug 1590216 - Reset selection manager to focused element if its frame is recreated. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D61371

--HG--
extra : moz-landing-system : lando
2020-02-05 00:31:57 +00:00
Boris Zbarsky
8801b3cc45 Bug 1612448. Improve some error messages in accessibility code. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D61325

--HG--
extra : moz-landing-system : lando
2020-02-05 03:11:50 +00:00
Tim Nguyen
3b6875eeb1 Bug 1610404 - Remove nsGroupBoxFrame (display: -moz-groupbox). r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D61422

--HG--
extra : moz-landing-system : lando
2020-02-03 09:55:51 +00:00
Yura Zenevich
292f5c39cb Bug 1429575 - update test_browserui test to use BrowserTestUtils wherever possible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D61234

--HG--
extra : moz-landing-system : lando
2020-01-31 15:00:45 +00:00
Masayuki Nakano
450b71f763 Bug 1612085 - part 1: Hide constructor of nsRange r=smaug
`nsRange` instances are allocated a lot in the heap especially by editor and
spellchecker.  The allocation cost is too bad for benchmarks.  Therefore,
we should reuse released instances as far as possible.  For managing it in
static factory methods of `nsRange`, we need to hide `nsRange` constructor.

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

--HG--
extra : moz-landing-system : lando
2020-01-30 13:23:35 +00:00
Kendall Werts
7f966c7fbf Bug 1606265 - Work on new tab containers menu popup. r=fluent-reviewers,Gijs,flod
Added right click on new tab button to open containers menu.
Removed long press and added option to enable left click in preferences menu.
Renamed privacy.userContext.longPressBehavior to privacy.userContext.newTabContainer.enabled

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

--HG--
extra : moz-landing-system : lando
2020-01-23 22:28:30 +00:00
Emilio Cobos Álvarez
caa966f9de Bug 1609737 - Forbid accessing the length and percentage parts of a LengthPercentage separately. r=boris
This is just not a thing you can do if you have min() / max() / etc, as the min
/ max value may depend on the percentage basis.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 09:18:39 +00:00
Cosmin Sabou
39c82e1497 Backed out 2 changesets (bug 1609737) for causing build bustages on nsCSSRenderingGradients after backing out Bug 1609711. CLOSED TREE
Backed out changeset d12980bbc425 (bug 1609737)
Backed out changeset 51f3f1a1efb8 (bug 1609737)
2020-01-23 07:39:48 +02:00
James Teh
28c14667c7 Bug 1610596: Ignore ARIA roles other than application or dialog on body elements. r=MarcoZ
This means that for any other ARIA role, we will expose the DOCUMENT role on the DocAccessible.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 04:34:22 +00:00
Emilio Cobos Álvarez
b06718c3dc Bug 1609737 - Forbid accessing the length and percentage parts of a LengthPercentage separately. r=boris
This is just not a thing you can do if you have min() / max() / etc, as the min
/ max value may depend on the percentage basis.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 00:36:27 +00:00
shindli
12ffabd93a Backed out changeset 093a40a347df (bug 1597742) for causing perma a11y failures in test_scrollSubstringToPoint.html CLOSED TREE 2020-01-21 12:35:23 +02:00
James Teh
4422d3b762 Bug 1597742: Add tests for HyperTextAccessible::ScrollSubstringToPoint. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D60207

--HG--
extra : moz-landing-system : lando
2020-01-21 09:49:10 +00:00
Emilio Cobos Álvarez
256c124f94 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez
aa3a695712 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Brindusan Cristian
dd881ec0a0 Backed out changeset 1ad80659be06 (bug 1597742) for mochitest failures at test_scrollSubstringToPoint.html. CLOSED TREE 2020-01-17 10:53:33 +02:00
James Teh
c659d71564 Bug 1606743: Defer calling BrowserBridgeChild::SendSetEmbedderAccessible if a DocAccessibleChild hasn't sent its constructor to the parent process yet. r=eeejay
On Windows, if the top level document hasn't received its parent COM proxy yet, sending constructors for child documents will be deferred.
If an OuterDocAccessible for an OOP iframe is created inside a child document before its constructor is sent, we must also defer the call to BrowserBridgeChild::SendSetEmbedderAccessible.
previously, we tried to send the embedder before the document constructor was sent, causing a crash.

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

--HG--
extra : moz-landing-system : lando
2020-01-17 05:46:25 +00:00
James Teh
e5ff62b3c3 Bug 1597742: Add tests for HyperTextAccessible::ScrollSubstringToPoint. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D60207

--HG--
extra : moz-landing-system : lando
2020-01-17 05:34:12 +00:00
Colomban Wendling
6ec7f65366 Bug 1597742 a11y: Make ScrollSubstringToPoint always scroll, not only when invisible r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D60164

--HG--
extra : moz-landing-system : lando
2020-01-17 02:10:31 +00:00
Emilio Cobos Álvarez
e0e98fed6c Bug 1609394 - Hide spin buttons from the a11y tree. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D60018

--HG--
extra : moz-landing-system : lando
2020-01-16 13:00:52 +00:00
James Teh
1968353c48 Bug 1609589: Fire a value change event when the text of a spin button changes. r=MarcoZ
After bug 981248, <input type="number"> no longer has an anonymous text input.
Instead, the <input type="number"> itself manages the text.
Previously, the a11y code which fired value change events for text changes only did this for combo boxes and role ENTRY.
This meant a value change event was no longer fired for <input type="number">.
This condition has now been extended to include role SPINBUTTON.
This fixes reporting of <input type="number"> changes for JAWS.

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

--HG--
extra : moz-landing-system : lando
2020-01-16 04:57:24 +00:00
James Teh
b2a45adc2b Bug 1594300: Implement xpcAccessible::TakeFocus for ProxyAccessibles on Windows. r=yzen
1. Implement ProxyAccessible::TakeFocus on Windows.
2. Use this implementation in xpcAccessible::TakeFocus like we do on other platforms.
3. Enable accessible/tests/browser/fission/browser_take_focus.js on Windows, since it now works.

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

--HG--
extra : moz-landing-system : lando
2020-01-15 14:52:46 +00:00
Emilio Cobos Álvarez
fff6c9e1ac Bug 981248 - Rewrite <input type=number> to avoid an anonymous input. r=masayuki,surkov,jwatt,ntim,jfkthame,smaug
Instead, subclass nsTextControlFrame. This simplifies the code and avoids
correctness issues.

I kept the localization functionality though it is not spec compliant. But I
filed a bug to remove it in a followup.

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

--HG--
extra : moz-landing-system : lando
2020-01-14 19:01:05 +00:00
Mihai Alexandru Michis
0d01c60c37 Backed out 2 changesets (bug 981248) for causing multiple failures.
CLOSED TREE

Backed out changeset 7a96708cc8b7 (bug 981248)
Backed out changeset 1eace7bd28d9 (bug 981248)
2020-01-14 19:28:17 +02:00
Emilio Cobos Álvarez
da2e4ef888 Bug 981248 - Rewrite <input type=number> to avoid an anonymous input. r=masayuki,surkov,jwatt,ntim,jfkthame,smaug
Instead, subclass nsTextControlFrame. This simplifies the code and avoids
correctness issues.

I kept the localization functionality though it is not spec compliant. But I
filed a bug to remove it in a followup.

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

--HG--
extra : moz-landing-system : lando
2020-01-14 15:05:22 +00:00
James Teh
0d23c81e6d Bug 1412401: accessible/tests/mochitest/events/docload/test_docload_root.html: Wait for focus event after opening the dialog. r=MarcoZ
Previously, when opening the dialog, we only waited for a reorder event.
This could mean we programmatically closed the dialog before it was ever focused.
That in turn would mean that focus would never be fired on the previous window when the dialog was closed, causing the close dialog test to time out.

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

--HG--
extra : moz-landing-system : lando
2020-01-14 06:59:56 +00:00
Mirko Brodesser
efd738af5b Bug 1608071: part 2) Rename nsContentUtils::GetCommonAncestor and related methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D59319

--HG--
extra : moz-landing-system : lando
2020-01-13 10:29:44 +00:00
Eitan Isaacson
c676e8c521 Bug 1597916 - Allow frameless containers when dispatching text removed events. r=Jamie
This reverts the change I made in bug 1572811, and instead fixes a much
more narrow case when the inner table frame is mid-construction.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 01:02:51 +00:00
David Major
0c76842459 Bug 1608460 - Redefine MIDL names to be unique to work around a clang-cl bug r=froydnj
This is an alternative to carrying a revert of the offending changeset, since the bug doesn't show hope of a fix anytime soon, or maybe ever. This way we don't have to keep rebasing the patch as we pick up new clangs, and developers don't have to remember to apply the patch when building a local compiler.

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

--HG--
extra : moz-landing-system : lando
2020-01-10 17:53:29 +00:00
Sylvestre Ledru
c521758c5e Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-01-09 21:50:11 +00:00
Alexander Surkov
49360f819d Bug 1601733 - add sjs script into test suite that generates a document from code snippet r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D58992

--HG--
rename : accessible/tests/browser/fission_document_builder.sjs => testing/mochitest/document-builder.sjs
extra : moz-landing-system : lando
2020-01-08 18:41:01 +00:00
Emilio Cobos Álvarez
e363a41bd4 Bug 1607595 - Remove uses of mozilla::IsBaseOf. r=froydnj
Automatically generated by:

$ rg 'IsBaseOf<' | cut -d : -f 1 | xargs sed -i 's/mozilla::IsBaseOf</std::is_base_of</g'
$ rg 'IsBaseOf<' | cut -d : -f 1 | xargs sed -i 's/IsBaseOf</std::is_base_of</g

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

--HG--
extra : moz-landing-system : lando
2020-01-08 14:52:10 +00:00
Emilio Cobos Álvarez
547c9db8cd Bug 1606130 - Make display: -moz-box more similar to other display types for block layout. r=jfkthame,surkov
It is unexpected (see bug) that a -moz-box is affected by baseline alignment.
Make -moz-box be block-outside, and -moz-inline-box be inline-outside, instead
of the bespoke thing we have now.

This is more similar to everything else, and fixes the bug.

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

--HG--
extra : moz-landing-system : lando
2020-01-07 21:00:42 +00:00
Bogdan Tara
6571a2a6fb Backed out changeset 23d862866f3a (bug 1606130) for android crashtest complaining about 1547420-1.html 2020-01-07 22:53:10 +02:00
Emilio Cobos Álvarez
ff938720a8 Bug 1606130 - Make display: -moz-box more similar to other display types for block layout. r=jfkthame,surkov
It is unexpected (see bug) that a -moz-box is affected by baseline alignment.
Make -moz-box be block-outside, and -moz-inline-box be inline-outside, instead
of the bespoke thing we have now.

This is more similar to everything else, and fixes the bug.

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

--HG--
extra : moz-landing-system : lando
2020-01-07 18:02:05 +00:00
Emilio Cobos Álvarez
21da23a2c7 Bug 1449861 - Follow-up: Try to fix windows builds.
Differential Revision: https://phabricator.services.mozilla.com/D58682

--HG--
extra : moz-landing-system : lando
2020-01-04 11:09:46 +00:00
James Teh
29e4eb9ab1 Bug 1604101: Fix Android a11y text navigation between nodes. r=MarcoZ
Talkback users expect that when you navigate past the end of the text in a node, Talkback will move into the next node and navigate there.
However, even though text navigation is async (client performs an action on the focused accessible and then waits for a text traversal event), firing a traversal event with a different accessible from the focused accessible is not supported by Talkback.
Firing a11y focus on the new node (as we did previously) doesn't fix this, but instead causes the entire node to be reported, among other weird behaviour.

1. Don't fire a11y focus for text traversal.
    Aside from Talkback reporting the entire node, this was also confusing Talkback, causing it to try to navigate several times into the new node.
2. When navigating text, cache whether we're at either edge.
    We do this because we need to be able to synchronously query whether we're at the edge, but we do navigation async.
    Special handling is needed for words at the end because words don't include trailing space.
3. When performing a text navigation action, check if we're already at the edge using the cache described above.
    If we are, synchronously return false, as Talkback expects.
    Talkback will then move to the next/previous node itself and navigate the text there.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 12:02:17 +00:00
Mirko Brodesser
e31ae0461a Bug 1600267: part 5) Call ComparePoints instead of ComparePoints_Deprecated in HyperTextAccessible. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55299

--HG--
extra : moz-landing-system : lando
2019-12-19 13:27:42 +00:00
Mirko Brodesser
b8bb35cc69 Bug 1600267: part 1) Rename nsContentUtils::ComparePoints to ComparePoints_Deprecated. r=smaug
In a follow-up commit a new `ComparePoints` method with cleaner
arguments and return value will be added.

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

--HG--
extra : moz-landing-system : lando
2019-12-19 13:27:08 +00:00
Hiroyuki Ikezoe
b243debf62 Bug 1585239 - Return the Promise for the accessibility document in the function runs in the iframe context. r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D57742

--HG--
extra : moz-landing-system : lando
2019-12-19 06:02:44 +00:00
James Teh
437c05d961 Bug 1601537: Fix text navigation in text leaf Accessibles on Android. ?MarcoZ r=MarcoZ
For paragraphs, divs, spans, etc., a11y focus on Android goes to text leaf Accessibles, rather than to the HyperTextAccessible container.
This does make sense, as these containers frequently embed other content, so the text needs to be reachable as a separate item.
However, previously, performing text navigation on these text leaf Accessibles returned the HyperTextAccessible parent.
This isn't supported by Talkback, and even if it were, it causes other problems; e.g. a11y focus being lost if the user was focused on a child other than the first child of such a container.
Therefore, if text navigation was performed on a text leaf Accessible, we now return a result within the text leaf Accessible if possible, rather than the HyperTextAccessible.

1. Make AccessibleWrap::GetTextContents support text leaf Accessibles (for both local and remote proxied Accessibles).
    This is used when providing text for text traversal events.

2. When navigating text on Android, we use Pivot::Next/PrevText.
    However, this will always return a HyperTextAccessible, even when starting on a text leaf.
    Therefore, if the result from Pivot::Next/prevText resides entirely within the same text leaf, translate the offsets from the HyperTextAccessible so they're relative to the text leaf and return the text leaf.

3. Pivot::Next/PrevText already supported starting from a text leaf Accessible.
    However, they ignored the offsets, which meant that navigating from a text leaf would always navigate to the start/end of the text leaf.
    Now, if a text leaf is passed to Pivot::Next/PrevText, the offsets (if specified) are translated to the HyperTextAccessible parent first.

4. Adjust the existing character/word/line tests so they ensure that navigation returns the node that has a11y focus; i.e. the text leaf.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 06:25:54 +00:00
Kirk Steuber
b8ab278230 Bug 1585482 - Remove C++ special-casing of top-level <dialog> elements r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D53721

--HG--
extra : moz-landing-system : lando
2019-12-10 18:10:45 +00:00
Kannan Vijayan
c949a6dbf7 Bug 1572831 - Fix usage of nsIDocShellTreeItem in DocAccessibleWrap::DocAccessibleWrap. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D56002

--HG--
extra : moz-landing-system : lando
2019-12-10 15:23:10 +00:00
Mark Banner
6e7cbd3fdb Bug 1602364 - Enable ESLint rule no-undef for xhtml files in accessible/tests/mochitest/. r=MarcoZ
Depends on D56325

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

--HG--
extra : moz-landing-system : lando
2019-12-09 10:13:15 +00:00
Emilio Cobos Álvarez
4a3be9604a Bug 1602317 - Switch style system to associated constants-in-body. r=heycam
This is closer to the equivalent Rust code.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 03:32:28 +00:00
Mark Banner
3de1778045 Bug 1602069 - Enable ESLint no-undef rule for accessible/test/mochitest html files. r=Jamie
Depends on D56230

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

--HG--
extra : moz-landing-system : lando
2019-12-08 23:59:28 +00:00