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

872 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke 338908171d Bug 1692846 - Remove redundant nullptr checks of return value of infallible new in accessible/. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D105174
2021-02-16 08:43:57 +00:00
Simon Giesecke 780a1636a9 Bug 1691894 - Replace several suboptimal uses of Put after Get by GetOrInsertWith or WithEntryHandle. r=xpcom-reviewers,necko-reviewers,kmag,valentin,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D104849
2021-02-15 15:12:17 +00:00
smolnar 1afbbe67e1 Backed out 5 changesets (bug 1691894) for causing hazard failures in nsXULPrototypeCache. CLOSED TREE
Backed out changeset 22dc870ee609 (bug 1691894)
Backed out changeset 58c31e9d6ae3 (bug 1691894)
Backed out changeset 7483e84149d8 (bug 1691894)
Backed out changeset f977d6cfa973 (bug 1691894)
Backed out changeset db4503476f34 (bug 1691894)
2021-02-15 16:43:23 +02:00
Simon Giesecke 8973094ec1 Bug 1691894 - Replace several suboptimal uses of Put after Get by GetOrInsertWith or WithEntryHandle. r=xpcom-reviewers,necko-reviewers,kmag,valentin,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D104849
2021-02-15 10:04:45 +00:00
Tim Nguyen 864f262237 Bug 1691077 - Remove obsolete Fennec special case for nsDeckFrame a11y code. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D104240
2021-02-07 23:03:40 +00:00
Morgan Reschenberg 1f72fbb6eb Bug 1680840: Fire table styling changed event when style changes that may affect data/layout table classification r=emilio,eeejay
Differential Revision: https://phabricator.services.mozilla.com/D103254
2021-02-04 20:50:05 +00:00
James Teh 1b4d4c6a32 Bug 1690456: Don't allow nsAccessibilityService to be shut down while a parent document is still shutting down. r=yzen
DocAccessible::Shutdown calls DocManager::NotifyOfDocumentShutdown, which can shut down nsAccessibilityService if there are no more consumers.
Previously, this could happen even when shutting down child documents.
Since shutting down the service shuts down all documents, this resulted in shutting down the parent document within an outer call to shut down that same document.
Even if that reentry were prevented, the service would have been gone when returning to the outer Shutdown call, which still needs the service to complete its cleanup.

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

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

Differential Revision: https://phabricator.services.mozilla.com/D103966
2021-02-04 01:10:52 +00:00
Morgan Reschenberg 67cee8a3e4 Bug 1688730: Fire relevant object attr changed events when layout table status may have changed r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102993
2021-02-02 21:10:26 +00:00
Butkovits Atila 2af3edc6b9 Backed out 2 changesets (bug 1688730) for causing mochitest failures. CLOSED TREE
Backed out changeset 677c17ec48ea (bug 1688730)
Backed out changeset a7d0770117c8 (bug 1688730)
2021-02-02 02:04:28 +02:00
Morgan Reschenberg 84efd51514 Bug 1688730: Fire relevant object attr changed events when layout table status may have changed r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102993
2021-02-01 20:23:17 +00:00
Butkovits Atila e13215fdec Backed out 2 changesets (bug 1688730) for causing build bustage on mozTableAccessible.mm. CLOSED TREE
Backed out changeset bd6d78d36cee (bug 1688730)
Backed out changeset dd03939b850e (bug 1688730)
2021-02-01 21:44:02 +02:00
Morgan Reschenberg cdce5e2be5 Bug 1688730: Fire relevant object attr changed events when layout table status may have changed r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102993
2021-02-01 18:30:07 +00:00
James Teh 42351bc1af Bug 1688532: Don't use the cached column header on a previous table cell if that cell starts in a different column. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D103146
2021-01-28 17:21:47 +00:00
James Teh 38a46d893a Bug 493683 part 5: When aria-labell/describedby is set, set HasName/DescriptionDependent on the target subtree. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102680
2021-01-25 17:31:19 +00:00
James Teh c9893f0237 Bug 493683 part 3: When an Accessible mutates, fire description change events on an Accessible described by it (or an ancestor thereof) via a relation. r=eeejay
This uses a similar approach to HasNameDependent, introducing a new HasDescriptionDependent.
However, we don't fire events on ancestors, since a description is never computed from an Accessible's own subtree without an explicit described by relation.

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

Differential Revision: https://phabricator.services.mozilla.com/D102677
2021-01-27 00:34:21 +00:00
James Teh 1af2138c00 Bug 493683 part 1: Rename HasNameDependentParent to HasNameDependent due to upcoming broader usage. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D102676
2021-01-25 00:39:39 +00:00
Eitan Isaacson 81befd069d Bug 1686832 - Cache MULTI_LINE in mozAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D101842
2021-01-22 20:42:26 +00:00
James Teh 0646b214b4 Bug 1359482: Don't expose the editable state on ARIA grids and gridcells. r=eeejay
The editable state is about navigable text (with a caret), not editable as in "not read only".
ATs don't want this exposed for grids and it causes problems for them.
They can (and already do) distinguish between gridcell and cell using xml-roles.

Differential Revision: https://phabricator.services.mozilla.com/D101707
2021-01-15 01:32:13 +00:00
Nika Layzell e3097163dd Bug 1597437 - Handle 'window.content' legacy getter better with Fission, r=farre,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D100167
2020-12-21 12:08:08 +00:00
Andi-Bogdan Postelnicu 8de41d8d26 Bug 1683561 - Make `accessibility` buildable outside of `unified-build` environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100212
2021-01-05 09:47:12 +00:00
Eitan Isaacson 9dd1281942 Bug 1683330 - Revert skipping inserted node when using TreeWalker.Next in insertion iterator. r=yzen
This change that was introduced in bug 1682692 was not actually tested
and is unrelated to the fix. I thought that this was more correct, and I
added it. But this change should be reverted.

Differential Revision: https://phabricator.services.mozilla.com/D100169
2020-12-18 22:19:18 +00:00
Eitan Isaacson 837de2aca3 Bug 1682692 - (re)insert child after previous sibling, not previous insertion candidate. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D99849
2020-12-16 09:48:29 +00:00
Kagami Sascha Rosylight 0354ee74cc Bug 1680167 - Part 1: MOZ_CAN_RUN_SCRIPT_BOUNDARY in accessible/ r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D98624
2020-12-03 21:15:46 +00:00
Simon Giesecke f15895390e Bug 1673931 - Avoid including Element.h from header files.
Differential Revision: https://phabricator.services.mozilla.com/D96535

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

Depends on D95184
2020-11-23 16:08:23 +00:00
Simon Giesecke 5bfbb2a572 Bug 1673931 - Avoid including Document.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95046

Depends on D95045
2020-11-23 16:07:43 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Eitan Isaacson f42d5e8b3d Bug 1672694 - P1: Query layout for selectable text state. r=morgan,Jamie,yzen
The SELECTABLE_TEXT state is currently under-utilized and probably wrong, since it simply relies on testing if a hypertext has any text. A more correct reflection of the state should be taken from layout's IsSelectable method.

Note, even if an element is styled `user-select: none`, the text will still be keyboard selectable if it is editable (eg. input or contenteditable), so we should consider that SELECTABLE_TEXT.

Differential Revision: https://phabricator.services.mozilla.com/D95783
2020-11-04 19:56:55 +00:00
Marco Zehe 19a10e117a Bug 1675172 - Prevent an infinite loop when finding the line end boundary for an offset of 0, r=Jamie
Use a safer looping method, walking forward from aOffset to tmpOffset to prevent wrapping around at 0.

Differential Revision: https://phabricator.services.mozilla.com/D95826
2020-11-04 07:09:59 +00:00
Razvan Maries fd7d890c94 Backed out 2 changesets (bug 1672694) for Lint failures on browser_text_selection.js and perma failures on browser_accessibility_node.js. CLOSED TREE
Backed out changeset 0f340ea56805 (bug 1672694)
Backed out changeset b222e4ff438f (bug 1672694)
2020-11-04 03:15:17 +02:00
Eitan Isaacson 8a078f1f55 Bug 1672694 - P1: Query layout for selectable text state. r=morgan,Jamie
The SELECTABLE_TEXT state is currently under-utilized and probably wrong, since it simply relies on testing if a hypertext has any text. A more correct reflection of the state should be taken from layout's IsSelectable method.

Note, even if an element is styled `user-select: none`, the text will still be keyboard selectable if it is editable (eg. input or contenteditable), so we should consider that SELECTABLE_TEXT.

Differential Revision: https://phabricator.services.mozilla.com/D95783
2020-11-04 00:28:57 +00:00
Eitan Isaacson 25ed6d4702 Bug 1674194 - If cell or row has aria role, make it a layout table. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D95193
2020-10-29 23:32:37 +00:00
James Teh 72da707476 Bug 1673919: Make ParagraphBoundaryRule skip over OuterDocAccessibles. r=MarcoZ
The browser test is really a crash test, but it's really difficult to test a11y APIs properly using the crashtest framework.

Differential Revision: https://phabricator.services.mozilla.com/D95107
2020-10-29 06:04:33 +00:00
Marco Zehe f9e0ccb2a1 Bug 1525631 - Return correct line start and end offsets for inline-block elements with nested line breaks, r=Jamie
If an inline-block element contains nested elements that may contain line breaks, or whitespace that comes from how the HTML file is formatted, both start and end offsets returned from layout may be incorrect. Adjust for the following cases:

* The start offset goes too far back from the passed-in offset, overshooting a line boundary.
* The end offset returned is smaller than the passed-in offset, even though we want the start of the next line. Even on the last line, this should never happen.

Differential Revision: https://phabricator.services.mozilla.com/D94744
2020-10-27 06:10:33 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Marco Zehe 92ae4518de Bug 1670541 - Return the parent line end offset if an embedded character contains a line break, r=Jamie
If the offset for an embedded character is queried, and it is an inline element, such as a link, and it contains a line break, return the full parent line.

Likewise, if querying character offsets before that embedded character, include its line break in the end offset.

Differential Revision: https://phabricator.services.mozilla.com/D94024
2020-10-23 04:57:17 +00:00
James Teh 64ef64960b Bug 1672593: When calculating the paragraph end offset starting from an inline child and a block boundary is found, stop on the boundary, not after it. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D94407
2020-10-22 04:58:46 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
James Teh 29fd7c7753 Bug 1670846: Treat line break characters in pre-formatted text as a11y paragraph boundaries. r=MarcoZ
In pre-formatted text (including textareas), text leaf nodes can contain line break characters ("\n").
Therefore, when searching for a paragraph boundary, we must match these.
Pivot can't return an ofset, only an Accessible, so we store the offset for the last match on the rule.
Because our origin point might be within a text leaf which contains a line break before/after it, we must also pass in the offset in our origin in this case so we can begin the text search from the right place.

Differential Revision: https://phabricator.services.mozilla.com/D93719
2020-10-18 09:19:23 +00:00
Marco Zehe 0ada0a0e77 Bug 1668546 Part 2 - Remove the explicit class tag to Pivot from HyperTextAccessible and make it a normal assignment, r=eeejay
Depends on D92216

Differential Revision: https://phabricator.services.mozilla.com/D92217
2020-10-05 17:45:58 +00:00
Marco Zehe ce4b2c115c Bug 1666998 - Implement layout-independent paragraph offset search, r=Jamie
This uses the Pivot class to search backwards and forwards from the current offsets until either end is reached, or an accessible that is either a line break or has a block frame, is found, and therefore constitutes a boundary of interest.

Differential Revision: https://phabricator.services.mozilla.com/D91407
2020-10-01 14:16:07 +00:00
Cosmin Sabou 1fa6714a17 Backed out changeset 1b8515b4548c (bug 1666998) for bustages on HyperTextAccessible.cpp. CLOSED TREE 2020-10-01 14:56:38 +03:00
Marco Zehe 77c3d1eac2 Bug 1666998 - Implement layout-independent paragraph offset search, r=Jamie
This uses the Pivot class to search backwards and forwards from the current offsets until either end is reached, or an accessible that is either a line break or has a block frame, is found, and therefore constitutes a boundary of interest.

Differential Revision: https://phabricator.services.mozilla.com/D91407
2020-10-01 10:41:46 +00:00
Simon Giesecke de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
James Teh 95f7af8423 Bug 872397: Work around inconsistencies in layout word movement to ensure that a11y word start boundaries are consistent around punctuation and white space. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D90654
2020-09-22 11:11:15 +00:00
Eitan Isaacson db323082ed Bug 1661765 - Part 1: Move selection and scroll functions to TextRange. r=Jamie
This gives us the flexibility of selecting and scrolling to any range, not just
offsets in a given container.

Differential Revision: https://phabricator.services.mozilla.com/D90591
2020-09-21 22:52:01 +00:00