This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).
It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).
Differential Revision: https://phabricator.services.mozilla.com/D99590
This is a safeguard for endless recursion in HyperTextIterator::NormalizeForward. Will catch similar corruptions found in bug 1682692.
Differential Revision: https://phabricator.services.mozilla.com/D99926
And have it mirror in the parent process more automatically.
The docShellIsActive setter in the browser-custom-element side needs to
be there rather than in the usual DidSet() calls because the
AsyncTabSwitcher code relies on getting an exact amount of notifications
as response to that specific setter. Not pretty, but...
BrowserChild no longer sets IsActive() on the docshell itself for OOP
iframes. This fixes bug 1679521. PresShell activeness is used to
throttle rAF as well, which handles OOP iframes nicely as well.
Differential Revision: https://phabricator.services.mozilla.com/D96072
By spec, it would need to be an area for aria-multiline=true and a field for aria-multiline=false. Chrome seems to assign all aria text boxes to areas. For some reason this allows VO to recognize links when editing. Webkit doesn't need this, for some reason and can get links announces in AXTextField as well.
Depends on D99312
Differential Revision: https://phabricator.services.mozilla.com/D99313
For focusable ancestor, just use editable ancestor since the IPC toll
on finding closest focusable ancestor isn't worth it.
Differential Revision: https://phabricator.services.mozilla.com/D99311
By spec, it would need to be an area for aria-multiline=true and a field for aria-multiline=false. Chrome seems to assign all aria text boxes to areas. For some reason this allows VO to recognize links when editing. Webkit doesn't need this, for some reason and can get links announces in AXTextField as well.
Depends on D99312
Differential Revision: https://phabricator.services.mozilla.com/D99313
This is consistent with how WebKit does it: if offset is between two accessibles,
return the previous one.
Depends on D99311
Differential Revision: https://phabricator.services.mozilla.com/D99312
For focusable ancestor, just use editable ancestor since the IPC toll
on finding closest focusable ancestor isn't worth it.
Differential Revision: https://phabricator.services.mozilla.com/D99311
This moves parts of IPCMessageUtils.h to two new header files and adapts
the include directives as necessary. The new header files are:
- EnumSerializer.h, which defines the templates for enum serializers
- IPCMessageUtilsSpecializations.h, which defines template specializations
of ParamTraits with extra dependencies (building upon both IPCMessageUtils.h
and EnumSerializer.h)
This should minimize the dependencies pulled in by every consumer of
IPCMessageUtils.h
Differential Revision: https://phabricator.services.mozilla.com/D94459
This is done via an ifdef in the ARIAMap. Provisions, however, are there to simply remove the ifdef and if clauses from here and the test file to enable this on other platforms once alert double-speaking and other unwanted side effects are fixed on said platforms.
Differential Revision: https://phabricator.services.mozilla.com/D97584
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
The normalize function was putting the current container/offset past the end boundary. This caused overruns with getting the text for the range of the input object, and some unexpected invalid ranges.
Differential Revision: https://phabricator.services.mozilla.com/D98236
It seems that VO mistakenly thinks the web area is a descendant of itself. This causes all kinds of cyclical parent child relationships that makes VO over-query us.
This patch remedies that by not returning the web area when do an immediate child search starting from the root group - in any direction.
Differential Revision: https://phabricator.services.mozilla.com/D97819
Safari has an inconsistent way to deal with list bullets in text.
If a given range has a list or list item nested inside it - but it is not
at the beginning, the bullet will not be returned as part of the text.But if the range begins at the start
of a list item, the preceding bullet is included. For example, given the following list:
* First Item
* Second Item
If the range is [irst Item], the text for that range should return as "irst Item",
but if the range is [First it], the returned text is "* First it".
This patch emulates that inconsistency by removing the list item considerations
in the text segments iterator, and instead prepending a bullet if needed.
Differential Revision: https://phabricator.services.mozilla.com/D97717
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
This also irons out some event syncing issues. We need to wait for selection changes in the future patch in order to take advantage of selection caching.
Differential Revision: https://phabricator.services.mozilla.com/D97628
UPDATED
-------
accessible/tests/mochitest/elm/test_HTMLSpec.html
Bug 905215
Test that a11y shadow DOM gets objects of the right type and state from HTML dom.
Changed <object> and <embed> plugin tests to find no accessible.
accessible/tests/mochitest/elm/test_MathMLSpec.html
Bug 1001634
Basic MathML a11y tests. Didn't use plugin, just initializes it.
Remove plugin initialization.
accessible/tests/mochitest/elm/test_plugin.html
Test that a11y shadow tree gets proper type/state for plugin objects and their subtrees, even if there is an HTML fallback provided.
Removed.
accessible/tests/mochitest/focus/test_takeFocus.html
Bug 677467
Test that a11y shadow tree focus follows DOM focus
Remove plugin init but keep plugin test.
Differential Revision: https://phabricator.services.mozilla.com/D95905