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

38 Коммитов

Автор SHA1 Сообщение Дата
Eitan Isaacson 050fed6811 Bug 1731154 - Add move semantics to AccAttributes and use value references to avoid copies. r=morgan
Changed the array type to nsTArray to avoid copies and get compile-time
errors if we ever try to do that. To set an array as a value, it must be
moved.

Differential Revision: https://phabricator.services.mozilla.com/D125899
2021-09-23 20:01:11 +00:00
Morgan Reschenberg a58920e618 Bug 1694571: Replace AccessibleOrProxy's with Accessible's r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D117927
2021-07-22 17:58:49 +00:00
Eitan Isaacson 6ac35e15fc Bug 1714390 - P7: Add custom de/serializer for AccAttributes. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D116788
2021-06-10 23:07:07 +00:00
Eitan Isaacson 474a197205 Bug 1714390 - P4: Set non-string values in AccAttributes when possible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D116785
2021-06-10 23:07:06 +00:00
Eitan Isaacson 62d0cdcad4 Bug 1714390 - P2: Use AccAttributes for accessible and text attributes. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D116783
2021-06-10 23:07:05 +00:00
Eitan Isaacson bafd5e712b Bug 1694203 - P9: Have RemoteAccessible inherit from Accessible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D104915
2021-03-02 16:32:24 +00:00
Eitan Isaacson 6e8749d0da Bug 1693597 - P2: Rename ProxyAccessible to RemoteAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D105671
2021-02-19 23:14:33 +00:00
Eitan Isaacson 6e49732365 Bug 1693597 - P1: Rename Accessible to LocalAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D105670
2021-02-19 23:14:32 +00:00
Eitan Isaacson cb03a1923c Bug 1690342 - P4: Implement IPC attributed text getter. r=morgan DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D103802
2021-02-08 23:26:47 +00:00
Eitan Isaacson e6912635e0 Bug 1690342 - P2: Populate NSAttributedText attributes with attributes. r=morgan DONTBUILD
A followup patch will make this work in e10s. This current implementation is non-ipc.

Differential Revision: https://phabricator.services.mozilla.com/D103800
2021-02-08 23:26:31 +00:00
Eitan Isaacson 135c36619d Bug 1686995 - Add AXTextSelectionDirection and AXTextSelectionGranularity to text selection events. r=morgan
.. and also add AXTextSelectionChangedFocus and AXTextStateSync when needed.

Differential Revision: https://phabricator.services.mozilla.com/D102509
2021-01-22 21:12:56 +00:00
Eitan Isaacson 09c48de881 Bug 1686827 - GeckoTextMarker is lesser than if child's offset is greater or equal. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D101835
2021-01-15 19:18:46 +00:00
Eitan Isaacson d32f05448a Bug 1679957 - Text range from accessible should return inner offsets for hypertexts. r=morgan
XUL documents have a bunch of non-hypetext accessibles in their heirarchy. So you can't assume that a hyperlink's parent is a hypertext. To get around that, when we construct ranges for elements they should be internal ranges when possible.

Differential Revision: https://phabricator.services.mozilla.com/D98394
2020-12-01 23:24:17 +00:00
Eitan Isaacson 9fc76e7928 Bug 1672700 - Make mozTextAccessible attribute getters use GeckoTextMarker. r=morgan
This allows `contenteditable` textboxes to work correctly with flattened text values.

The attribute setters, aside from AXValue, don't work in Chrome or Safari with aria textboxes,
so those are not a high priority. These include:
- AXSelectedText
- AXSelectedTextRange
- AXVisibleCharacterRange

In addition, AXVisibleCharacterRange's getter doesn't function as expected in Chrome or Safari either, so I didn't touch it.

Differential Revision: https://phabricator.services.mozilla.com/D97629
2020-11-21 04:13:45 +00:00
Eitan Isaacson ef1779b14c Bug 1672776 - Return nil TextMarker(Range) if GeckoTextMarker(Range) is invalid. r=morgan
It seems like the GeckoTextMarker::Range can sometimes return invalid ranges.
We need to check if they are valid or not before marshalling them.

Differential Revision: https://phabricator.services.mozilla.com/D95230
2020-10-30 04:41:20 +00:00
Eitan Isaacson c173a1f486 Bug 1669596 - Allow subdoc GeckoTextMarker to be demarshalled in top document. r=morgan
Depends on D92688

Differential Revision: https://phabricator.services.mozilla.com/D92689
2020-10-06 23:31:32 +00:00
Eitan Isaacson 68fd6a3f35 Bug 1669359 - Fix GeckoTextMarker lesser-than operator. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D92511
2020-10-06 17:24:19 +00:00
Eitan Isaacson 10d6dd02bc Bug 1661760 - Part 1: Unify all range from offset methods to one. r=morgan,nika
There are at least 8 different methods for getting a range from an offset:
1. left word
2. right word
3. line
4. left line
5. right line
6. sentence
7. paragraph
8. range with same style.

Having a single wrapper and IPDL method for all of those with an enum would remove
a lot of redundancies.

Differential Revision: https://phabricator.services.mozilla.com/D90936
2020-09-24 16:04:41 +00:00
Eitan Isaacson 4777d9b2a2 Bug 1661765 - Part 4: Implement AXSelectedTextMarkerRange setter. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D90594
2020-09-21 22:00:08 +00:00
Eitan Isaacson 1616ae4612 Bug 1661758 - Part 4: Implement AXUIElementForTextMarker. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D89066
2020-09-11 05:08:00 +00:00
Eitan Isaacson 237178d7dd Bug 1661758 - Part 3: Implement AXTextMarkerRangeForUIElement. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D89065
2020-09-11 05:07:52 +00:00
Brindusan Cristian c5f2ef7f15 Backed out 5 changesets (bug 1661758) for build bustages on GeckoTextMarker.h.
Backed out changeset 9b086da1f8f1 (bug 1661758)
Backed out changeset 8def1d51ae3d (bug 1661758)
Backed out changeset 17532cdc54ae (bug 1661758)
Backed out changeset be0ea9159b11 (bug 1661758)
Backed out changeset 2ca136e7d279 (bug 1661758)
2020-09-11 02:16:49 +03:00
Eitan Isaacson debfb84ee9 Bug 1661758 - Part 4: Implement AXUIElementForTextMarker. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D89066
2020-09-10 21:52:35 +00:00
Eitan Isaacson 0ced3240bb Bug 1661758 - Part 3: Implement AXTextMarkerRangeForUIElement. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D89065
2020-09-10 21:52:28 +00:00
Eitan Isaacson b09be5d2f7 Bug 1663442 - Check markers are valid in get range from unordered markers. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D89482
2020-09-09 20:43:35 +00:00
Razvan Maries 36c66bc87b Backed out changeset 9373c57ebcbe (bug 1663442) for perma failures on browser_text_basics.js. CLOSED TREE 2020-09-09 22:41:16 +03:00
Eitan Isaacson 80bafc6677 Bug 1663442 - Check markers are valid in get range from unordered markers. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D89482
2020-09-09 16:20:46 +00:00
Eitan Isaacson c4d362acce Bug 1660364 - Add marker index support. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D88077
2020-08-27 20:06:51 +00:00
Eitan Isaacson 2a6f71babd Bug 1660906 - Introduce .clang-format file for Objective C rules. r=morgan
I also altered the mode line in all the file headers so that editors use the correct syntax features.

Differential Revision: https://phabricator.services.mozilla.com/D88081
2020-08-25 21:40:32 +00:00
Eitan Isaacson 4b2ca1f36a Bug 1660109 - Support get bounds for text marker range. r=Jamie
Depends on D87669

Differential Revision: https://phabricator.services.mozilla.com/D87670
2020-08-20 22:12:23 +00:00
Eitan Isaacson ea71c11994 Bug 1657765 - Alter GeckoTextMarker to use new IPDL calls. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D86607
2020-08-14 19:33:02 +00:00
Eitan Isaacson a429319a6b Bug 1657193 - Bail early if we detect tree corruption when building a string. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D85909
2020-08-04 21:06:12 +00:00
Eitan Isaacson 6233e4868e Bug 1654601 - Ensure given text marker is valid in public API. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D84567
2020-07-22 18:08:10 +00:00
Eitan Isaacson 1d2bd5cd78 Bug 1653421 - Part 3: Don't normalize marker beyond editable root. r=morgan
When in an editable container, text markers are expected to not go past or before the editable root.

Differential Revision: https://phabricator.services.mozilla.com/D84055
2020-07-21 23:02:57 +00:00
Eitan Isaacson 906483c74e Bug 1653039 - Add word at marker APIs. r=morgan
This patch adds several new parameters:
* AXLeftWordTextMarkerRangeForTextMarker
* AXRightWordTextMarkerRangeForTextMarker
* AXStartTextMarkerForTextMarkerRange
* AXEndTextMarkerForTextMarkerRange
* AXNextTextMarkerForTextMarker
* AXPreviousTextMarkerForTextMarker

Our word boundaries API is pretty buggy. Instead of trying to
resolve or triage each issue I found, I added todo tests
for them.

Differential Revision: https://phabricator.services.mozilla.com/D83680
2020-07-20 22:53:04 +00:00
Eitan Isaacson e1559a9b24 Bug 1650740 - Don't allow text range retrieval when doc tree is not fully constructed. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D82410
2020-07-06 17:31:17 +00:00
Eitan Isaacson 2f2f6eb3ee Bug 1649575 - Part 5: Implement string building for GeckoTextMarkerRange. r=morgan
This is a seperate patch because of the complexity.

Differential Revision: https://phabricator.services.mozilla.com/D81761
2020-07-02 21:57:55 +00:00
Eitan Isaacson ebff8f5ad8 Bug 1649575 - Part 4: Introduce GeckoTextMarker and GeckoTextMarkerRange. r=morgan
These classes do a few things:
1. They implement and abstract common text operations, for example:
 (a) comparing two markers to know which one precedes the other.
 (b) text retrieval for ranges
 (c) geometric bounds for ranges
 (d) etc.
2. They can be converted to and from AXTextMarker(Range)s. Since the AXTextMarker
should not contain a raw pointer since there is a potential for use-after-free,
we need to lookup the referenced accessible in its document to know that it still exists.

Note: mozTextAccessible got pushed to another unified source file, so we need to
declare some stuff for it. Ideally we would be detecting these kinds of things sooner.

Differential Revision: https://phabricator.services.mozilla.com/D81760
2020-07-02 21:35:05 +00:00