Commit Graph

8820 Commits

Author SHA1 Message Date
Morgan Reschenberg
c19d6d89b4 Bug 1682865: Map roles::EDITCOMBOBOX to mozTextAccessible r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D101407
2021-01-11 22:04:13 +00:00
Morgan Reschenberg
36e53a5e88 Bug 1685623: Account for search engine initialization race r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D101098
2021-01-11 22:04:49 +00:00
Emilio Cobos Álvarez
c2f1413e6b Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-08 09:44:24 +00:00
Morgan Reschenberg
2bc463ad54 Bug 1681292: Ensure menu items correctly expose AXVisibleChildren and AXChildren r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D99949
2021-01-07 21:33:21 +00:00
Morgan Reschenberg
29a8164b84 Bug 1680589: Make AXDisclosing settable on outline rows r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D101053
2021-01-07 21:29:27 +00:00
Markus Stange
18e3c81cf5 Bug 1684896 - For the static NSDictionary MacSelectorMap objects, use function-local statics rather than globals. r=morgan
This means that the NSDictionaries will be constructed the first time the
wrapper function is called, and not at C++ static initializer time.
This avoids false positive warnings when running with the environment variables
`OBJC_DEBUG_MISSING_POOLS=YES LIBDISPATCH_DEBUG_MISSING_POOLS=NO`.

Differential Revision: https://phabricator.services.mozilla.com/D100976
2021-01-07 17:53:39 +00:00
Eitan Isaacson
c21730a605 Bug 1682985 - Support aria-busy with AXElementBusy and AXElementBusyChanged. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D100838
2021-01-06 17:23:45 +00:00
Kartik Gautam
7ae6aea145 Bug 1684173 - Add newline character at end of files when missing r=sylvestre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D100484
2021-01-07 08:53:08 +00:00
Dorel Luca
7d7078d54e Backed out changeset 47c73e5e08a4 (bug 1685078) for multiple failures related to CSS. CLOSED TREE 2021-01-07 10:44:10 +02:00
Sylvestre Ledru
b58ddc19df Bug 1519636 - Reformat recent changes to the Google coding style r=andi
Updated with Debian clang-format version 11.0.1-1

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D100934
2021-01-06 17:17:23 +00:00
Emilio Cobos Álvarez
9fbf3695e7 Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-07 04:15:01 +00:00
Markus Stange
5cd8830a74 Bug 1683723 - Replace deprecated Cocoa enum constants with their modern replacements. r=spohl
I ran the following command:

```
rg -l 'NSAlphaShiftKeyMask' . | xargs sed -i '' -e 's/NSAlphaShiftKeyMask/NSEventModifierFlagCapsLock/g'
rg -l 'NSAlternateKeyMask' . | xargs sed -i '' -e 's/NSAlternateKeyMask/NSEventModifierFlagOption/g'
rg -l 'NSAnyEventMask' . | xargs sed -i '' -e 's/NSAnyEventMask/NSEventMaskAny/g'
rg -l 'NSApplicationDefined' . | xargs sed -i '' -e 's/NSApplicationDefined/NSEventTypeApplicationDefined/g'
rg -l 'NSBorderlessWindowMask' . | xargs sed -i '' -e 's/NSBorderlessWindowMask/NSWindowStyleMaskBorderless/g'
rg -l 'NSCenterTextAlignment' . | xargs sed -i '' -e 's/NSCenterTextAlignment/NSTextAlignmentCenter/g'
rg -l 'NSClosableWindowMask' . | xargs sed -i '' -e 's/NSClosableWindowMask/NSWindowStyleMaskClosable/g'
rg -l 'NSCommandKeyMask' . | xargs sed -i '' -e 's/NSCommandKeyMask/NSEventModifierFlagCommand/g'
rg -l 'NSCompositeCopy' . | xargs sed -i '' -e 's/NSCompositeCopy/NSCompositingOperationCopy/g'
rg -l 'NSControlKeyMask' . | xargs sed -i '' -e 's/NSControlKeyMask/NSEventModifierFlagControl/g'
rg -l 'NSDeviceIndependentModifierFlagsMask' . | xargs sed -i '' -e 's/NSDeviceIndependentModifierFlagsMask/NSEventModifierFlagDeviceIndependentFlagsMask/g'
rg -l 'NSFlagsChanged' . | xargs sed -i '' -e 's/NSFlagsChanged/NSEventTypeFlagsChanged/g'
rg -l 'NSFullScreenWindowMask' . | xargs sed -i '' -e 's/NSFullScreenWindowMask/NSWindowStyleMaskFullScreen/g'
rg -l 'NSFullSizeContentViewWindowMask' . | xargs sed -i '' -e 's/NSFullSizeContentViewWindowMask/NSWindowStyleMaskFullSizeContentView/g'
rg -l 'NSFunctionKeyMask' . | xargs sed -i '' -e 's/NSFunctionKeyMask/NSEventModifierFlagFunction/g'
rg -l 'NSHelpKeyMask' . | xargs sed -i '' -e 's/NSHelpKeyMask/NSEventModifierFlagHelp/g'
rg -l 'NSKeyDown' . | xargs sed -i '' -e 's/NSKeyDown/NSEventTypeKeyDown/g'
rg -l 'NSKeyUp' . | xargs sed -i '' -e 's/NSKeyUp/NSEventTypeKeyUp/g'
rg -l 'NSLeftMouseDownMask' . | xargs sed -i '' -e 's/NSLeftMouseDownMask/NSEventMaskLeftMouseDown/g'
rg -l 'NSLeftMouseDown' . | xargs sed -i '' -e 's/NSLeftMouseDown/NSEventTypeLeftMouseDown/g'
rg -l 'NSLeftMouseDragged' . | xargs sed -i '' -e 's/NSLeftMouseDragged/NSEventTypeLeftMouseDragged/g'
rg -l 'NSLeftMouseUp' . | xargs sed -i '' -e 's/NSLeftMouseUp/NSEventTypeLeftMouseUp/g'
rg -l 'NSMiniaturizableWindowMask' . | xargs sed -i '' -e 's/NSMiniaturizableWindowMask/NSWindowStyleMaskMiniaturizable/g'
rg -l 'NSMiniControlSize' . | xargs sed -i '' -e 's/NSMiniControlSize/NSControlSizeMini/g'
rg -l 'NSMouseEntered' . | xargs sed -i '' -e 's/NSMouseEntered/NSEventTypeMouseEntered/g'
rg -l 'NSMouseExited' . | xargs sed -i '' -e 's/NSMouseExited/NSEventTypeMouseExited/g'
rg -l 'NSMouseMoved' . | xargs sed -i '' -e 's/NSMouseMoved/NSEventTypeMouseMoved/g'
rg -l 'NSNumericPadKeyMask' . | xargs sed -i '' -e 's/NSNumericPadKeyMask/NSEventModifierFlagNumericPad/g'
rg -l 'NSOtherMouseDownMask' . | xargs sed -i '' -e 's/NSOtherMouseDownMask/NSEventMaskOtherMouseDown/g'
rg -l 'NSOtherMouseDown' . | xargs sed -i '' -e 's/NSOtherMouseDown/NSEventTypeOtherMouseDown/g'
rg -l 'NSOtherMouseDragged' . | xargs sed -i '' -e 's/NSOtherMouseDragged/NSEventTypeOtherMouseDragged/g'
rg -l 'NSOtherMouseUp' . | xargs sed -i '' -e 's/NSOtherMouseUp/NSEventTypeOtherMouseUp/g'
rg -l 'NSRegularControlSize' . | xargs sed -i '' -e 's/NSRegularControlSize/NSControlSizeRegular/g'
rg -l 'NSResizableWindowMask' . | xargs sed -i '' -e 's/NSResizableWindowMask/NSWindowStyleMaskResizable/g'
rg -l 'NSRightMouseDown' . | xargs sed -i '' -e 's/NSRightMouseDown/NSEventTypeRightMouseDown/g'
rg -l 'NSRightMouseDragged' . | xargs sed -i '' -e 's/NSRightMouseDragged/NSEventTypeRightMouseDragged/g'
rg -l 'NSRightMouseUp' . | xargs sed -i '' -e 's/NSRightMouseUp/NSEventTypeRightMouseUp/g'
rg -l 'NSRightTextAlignment' . | xargs sed -i '' -e 's/NSRightTextAlignment/NSTextAlignmentRight/g'
rg -l 'NSScrollWheelMask' . | xargs sed -i '' -e 's/NSScrollWheelMask/NSEventMaskScrollWheel/g'
rg -l 'NSScrollWheel' . | xargs sed -i '' -e 's/NSScrollWheel/NSEventTypeScrollWheel/g'
rg -l 'NSShiftKeyMask' . | xargs sed -i '' -e 's/NSShiftKeyMask/NSEventModifierFlagShift/g'
rg -l 'NSSmallControlSize' . | xargs sed -i '' -e 's/NSSmallControlSize/NSControlSizeSmall/g'
rg -l 'NSTabletPointEventSubtype' . | xargs sed -i '' -e 's/NSTabletPointEventSubtype/NSEventSubtypeTabletPoint/g'
rg -l 'NSTitledWindowMask' . | xargs sed -i '' -e 's/NSTitledWindowMask/NSWindowStyleMaskTitled/g'
```

Then I removed changes to third-party webrtc code, removed a comment in accessible/mac/mozAccessible.mm,
and performed some manual replacements in native_mouse_mac_window.xhtml.

Differential Revision: https://phabricator.services.mozilla.com/D100260
2021-01-05 21:17:11 +00:00
Eitan Isaacson
9e19999a57 Bug 1681909 - P3: Implement e10s post search filter and test. r=morgan
The test adds fission testing as well.

Differential Revision: https://phabricator.services.mozilla.com/D100732
2021-01-05 20:35:37 +00:00
Eitan Isaacson
4537ab3655 Bug 1681909 - P2: Implement post filter for non-e10s case. r=morgan
Introducing this as a separate patch to simplify this changeset and first introduce a straightforward-ish implementation.

Differential Revision: https://phabricator.services.mozilla.com/D100731
2021-01-05 20:35:35 +00:00
Eitan Isaacson
ca8fda7434 Bug 1681909 - P1: Add IPC stubs for ApplyPostSearchFilter. r=morgan,ipc-reviewers,mccr8
Applying a bulk filter on accessibles in content process allows us to avoid a potentially large (and variable) number of IPC sync calls to retrieve the accessible names. I chose to implement this as a "post filter" and not to actually do the entire search in content because it would cause a lot of duplication of code for non-IPC searching, and we wouldn't have the flexibility to combine a text search with any arbitrary search key as the API requires.

I also generalized the RangeTypes.h header to PlatformExtTypes so it can be used to define filter types as well.

Differential Revision: https://phabricator.services.mozilla.com/D100730
2021-01-05 20:35:22 +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
c2532de498 Bug 1680329 - Add AXTextStateChangeType to selection events. r=morgan
It seems that VoiceOver depends on that property to know if a selection is be extended or moved. This manifests in several places in Slack when the user combines VO navigation with Slack's keyboard navigation.

Also changed where we retrieve the editable ancestor to simplify the notification dispatching block.

Differential Revision: https://phabricator.services.mozilla.com/D100452
2021-01-04 22:37:46 +00:00
Eitan Isaacson
3ad026b52e Bug 1677934 - Check for null when getting leaf for text marker. r=morgan
This doesn't happen often. I can't find a reproducable case to test with. This happens with rapidly mutating content and is the result of some kind of race.

Differential Revision: https://phabricator.services.mozilla.com/D100174
2021-01-04 17:48:50 +00:00
Cosmin Sabou
2978aa00a3 Backed out changeset dbed1cdf588f (bug 1684173) for mochitest plain and devtools failures. a=backout DONTBUILD 2020-12-28 00:43:51 +02:00
Kartik Gautam
775cdec032 Bug 1684173 - Add newline character at end of files when missing r=sylvestre
Depends on D100443

Differential Revision: https://phabricator.services.mozilla.com/D100484
2020-12-27 11:43:41 +00:00
Emilio Cobos Álvarez
7d03492002 Bug 1682988 - Use UTF8String for querySelector and similar OM methods. r=heycam
This has no observable behavior change because we were converting to
UTF-8 in ParseSelectorList.

Differential Revision: https://phabricator.services.mozilla.com/D99961
2020-12-23 05:42:00 +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
Bogdan Tara
0e0311351e Backed out 9 changesets (bug 1656107) for frequent assertion failures on layout/style/nsComputedDOMStyle.cpp CLOSED TREE
Backed out changeset 2d9843871809 (bug 1656107)
Backed out changeset 87031ccf6c8e (bug 1656107)
Backed out changeset 1e06017a213c (bug 1656107)
Backed out changeset b51bae240379 (bug 1656107)
Backed out changeset 8d98b76de39a (bug 1656107)
Backed out changeset 0f4ea8cdd34a (bug 1656107)
Backed out changeset 95eeff5318e5 (bug 1656107)
Backed out changeset 469fa7a429c2 (bug 1656107)
Backed out changeset ec3d7e825bc9 (bug 1656107)
2020-12-17 22:19:09 +02:00
Steven MacLeod
473b3896ad Bug 1656107 - remove FindContentForSubDocument use from NotificationController. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D98613
2020-12-16 01:06:14 +00:00
Emilio Cobos Álvarez
039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
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
2020-12-17 14:04:35 +00:00
Eitan Isaacson
4364371432 Bug 1681072 - Don't recurse into link if it is in more than one offset. r=MarcoZ
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
2020-12-17 06:09:49 +00:00
Eitan Isaacson
2fcbbfc201 Bug 1681166 - Check selection is valid before cropping it in mozTextAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D99942
2020-12-16 21:36:12 +00:00
Morgan Reschenberg
a8d528a678 Bug 1664894: Remove logging r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D99933
2020-12-16 20:10:13 +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
Marco Zehe
c191381e18 Bug 1682247 - Post an AXTitleChanged notification if the Mac layer is notified of a name change event, r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D99664
2020-12-16 06:49:57 +00:00
Peter Van der Beken
fe6597a730 Bug 1668658 - Switch annotations for tests failing with session history in parent from fission.autoStart to fission.sessionHistoryInParent. r=smaug,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D99667
2020-12-15 15:21:40 +00:00
pbz
ec5f7cebca Bug 1639218 - Remove prompts.tab_modal.enabled pref. r=marionette-reviewers,johannh
Differential Revision: https://phabricator.services.mozilla.com/D97598
2020-12-14 14:19:54 +00:00
Cristina Coroiu
edd1803ffc Backed out changeset ca41e6b53c94 (bug 1639218) for mochitest failures at toolkit/components/prompts/test/test_bug619644.html on a CLOSED TREE 2020-12-14 13:20:14 +02:00
pbz
40d51245b4 Bug 1639218 - Remove prompts.tab_modal.enabled pref. r=marionette-reviewers,johannh
Differential Revision: https://phabricator.services.mozilla.com/D97598
2020-12-11 13:48:40 +00:00
Emilio Cobos Álvarez
3987c781d0 Bug 1635914 - Move active flag handling explicitly to BrowsingContext. r=nika
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
2020-12-11 15:43:19 +00:00
Eitan Isaacson
f248fdbd3a Bug 1680277 - 3/3: Use AXTextArea for multiline and aria text boxes. r=morgan,MarcoZ
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
2020-12-11 10:29:15 +00:00
Eitan Isaacson
e4ae2df9df Bug 1680277 - 2/3: Use previous offset for calculating element at marker. r=morgan
This is consistent with how WebKit does it: if offset is between two accessibles,
return the previous one.

Differential Revision: https://phabricator.services.mozilla.com/D99312
2020-12-11 05:10:52 +00:00
Eitan Isaacson
b65404fb2c Bug 1680277 - 1/3: Add editable and focusable ancestor getters. r=morgan
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
2020-12-11 05:10:44 +00:00
Dorel Luca
cab44f4e66 Backed out 3 changesets (bug 1680277) for Browser-chrome failures in browser/mac/browser_rotor.js. CLOSED TREE
Backed out changeset 4ad2bcdda94c (bug 1680277)
Backed out changeset bb00472c7a1f (bug 1680277)
Backed out changeset 5bbfaf673d39 (bug 1680277)
2020-12-11 04:21:45 +02:00
Eitan Isaacson
64d2a266cd Bug 1680277 - 3/3: Use AXTextArea for multiline and aria text boxes. r=morgan
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
2020-12-10 19:00:05 +00:00
Eitan Isaacson
d19edae3f4 Bug 1680277 - 2/3: Use use previous offset for calculating element at marker. r=morgan
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
2020-12-10 18:24:58 +00:00
Eitan Isaacson
2020ec8b53 Bug 1680277 - 1/3: Add editable and focusable ancestor getters. r=morgan
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
2020-12-10 23:47:01 +00:00
Simon Giesecke
4cab6ac723 Bug 1677466 - Move ParamTraits specializations with extra dependencies out of IPCMessageUtils.h. r=mccr8
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
2020-12-10 11:09:21 +00:00
Morgan Reschenberg
b96b198d6d Bug 1649720: Ensure XUL trees expose their internal columns to VoiceOver r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D97227
2020-12-10 00:15:38 +00:00
Simon Giesecke
e06a2d56fc Bug 1680269 - Fix build when building without MOZ_GECKO_PROFILER. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D99063
2020-12-09 08:58:06 +00:00
Razvan Maries
ffdb6a4d93 Backed out changeset 8a7e15d51a4c (bug 1649720) for perma failures on browser_outline_xul.js. CLOSED TREE 2020-12-09 01:35:04 +02:00
Morgan Reschenberg
27bc6bee14 Bug 1649720: Ensure XUL trees expose their internal columns to VoiceOver r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D97227
2020-12-08 19:33:34 +00:00
Morgan Reschenberg
ba5c7a67de Bug 1664894: Track VoiceOver under A11Y_INSTANTIATORS telemetry r=eeejay,yzen
Differential Revision: https://phabricator.services.mozilla.com/D98697
2020-12-07 22:14:30 +00:00
Eitan Isaacson
d1d2546744 Bug 1625178 - Support aria-roledescription in mac. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D98669
2020-12-03 20:39:39 +00:00
Simon Giesecke
1c53236b70 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +00:00