Commit graph

100 commits

Author SHA1 Message Date
Noemi Erli
381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke
032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Eitan Isaacson
a1dcb0fa34 Bug 1370669 - Don't queue redundant hide events. r=Jamie
An accessible can be hidden twice in a mutation event queue. With the first
time representing a move. Instead of queueing a second hide event,
simply drop it.

Differential Revision: https://phabricator.services.mozilla.com/D83373
2020-07-14 21:24:22 +00:00
Simon Giesecke
aaf6cb4e75 Bug 1617628 - Hide nsBaseHashtable Put overloads in nsRefPtrHashtable subclass. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63899

--HG--
extra : moz-landing-system : lando
2020-02-25 17:03:36 +00:00
Eitan Isaacson
a98323bb51 Bug 1611060 - Dispatch a11y scroll events for all DOM scrolls. r=Jamie
Currently, only documents dispatch scroll events when in reality any
element can have scrollable overflows.

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

--HG--
extra : moz-landing-system : lando
2020-02-17 04:09:34 +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
Eitan Isaacson
0293722fcc Bug 1565728 - Introduce PDocAccessiblePlatformExt. r=Jamie
This is an extension protocol that can be used for platform specific
API (ie. AccessibleWrap methods).

I'm not thrilled with the seperate constructor for the sub-protocol.
This means that the parent won't have the actor upon DocAccessibleParent
construction, and some timing bugs can arise because of the extra round
trip. It would be cool if both actors could be co-created, but that
would require ManagedEndpoint, and for PBrowser to manage them both. I
don't want to expose this to PBrowser.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 16:55:01 +00:00
Dorel Luca
c7aad775a7 Backed out 2 changesets (bug 1565728) for License failure. CLOSED TREE
Backed out changeset 6c30dad5259b (bug 1565728)
Backed out changeset 4369b7203266 (bug 1565728)
2019-09-13 03:16:23 +03:00
Eitan Isaacson
35496390cd Bug 1565728 - Introduce PDocAccessiblePlatformExt. r=Jamie
This is an extension protocol that can be used for platform specific
API (ie. AccessibleWrap methods).

I'm not thrilled with the seperate constructor for the sub-protocol.
This means that the parent won't have the actor upon DocAccessibleParent
construction, and some timing bugs can arise because of the extra round
trip. It would be cool if both actors could be co-created, but that
would require ManagedEndpoint, and for PBrowser to manage them both. I
don't want to expose this to PBrowser.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 23:01:59 +00:00
Dorel Luca
7f5e96335e Backed out 2 changesets (bug 1565728) for License failure. CLOSED TREE
Backed out changeset 0d08e4b02c17 (bug 1565728)
Backed out changeset 4fe176e80602 (bug 1565728)
2019-09-12 23:48:50 +03:00
Eitan Isaacson
82aa8a18ca Bug 1565728 - Introduce PDocAccessiblePlatformExt. r=Jamie
This is an extension protocol that can be used for platform specific
API (ie. AccessibleWrap methods).

I'm not thrilled with the seperate constructor for the sub-protocol.
This means that the parent won't have the actor upon DocAccessibleParent
construction, and some timing bugs can arise because of the extra round
trip. It would be cool if both actors could be co-created, but that
would require ManagedEndpoint, and for PBrowser to manage them both. I
don't want to expose this to PBrowser.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 20:10:51 +00:00
Eitan Isaacson
47656aa608 Bug 1572811 - Don't fire text change events if container accessible has no frame. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D42199

--HG--
extra : moz-landing-system : lando
2019-08-22 20:28:38 +00:00
James Teh
0ce8fb85c6 Bug 1571327: Process generic notifications after relocations to fix aria-activedescendant with simultaneous insertion and relocation. r=eeejay
Previously, if a hidden, aria-owned subtree was shown and aria-activedescendant was simultaneously targeted inside it, aria-activedescendant would fail.
This occurred because when we processed insertions, the presence of aria-owns meant we didn't create the subtree.
This meant that when we processed aria-activedescendant (which occurred before relocations), the active descendant didn't exist yet.
To fix this, we now process generic notifications (including aria-activedescendant) *after* relocations.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 03:07:51 +00:00
Eitan Isaacson
6d094c687d Bug 686400 - Filter content insertions in DocAccessible. r=Jamie
It seems a bit more sensible to me that if any filtering needs to happen
from content insertions, it should happen in the doc and not the
notification controller.

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

--HG--
extra : moz-landing-system : lando
2019-08-01 16:19:15 +00:00
Eitan Isaacson
661bd00c42 Bug 1506514 - Don't create accessibles for unselected deck panel descendants. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D31656

--HG--
extra : moz-landing-system : lando
2019-05-20 15:54:56 +00:00
Emilio Cobos Álvarez
11ea945833 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

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

--HG--
extra : moz-landing-system : lando
2019-04-25 23:03:04 +00:00
Ryan Hunt
d6509bb237 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

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

--HG--
rename : dom/base/InProcessTabChildMessageManager.cpp => dom/base/InProcessBrowserChildMessageManager.cpp
rename : dom/base/InProcessTabChildMessageManager.h => dom/base/InProcessBrowserChildMessageManager.h
rename : dom/ipc/TabChild.cpp => dom/ipc/BrowserChild.cpp
rename : dom/ipc/TabChild.h => dom/ipc/BrowserChild.h
extra : rebase_source : e7fcfb845a971a2760e73d517e24da18ce2551b5
extra : histedit_source : d1991334ccb107fe56e478865f22fd97b041a317
2019-04-09 17:39:01 -05:00
Ryan Hunt
e9e7d608be Bug 1534395 - Rename nsITabChild to nsIBrowserChild. r=nika,mconley
Similarly to nsITabParent, TabChild is exposed to frontend code via nsITabChild. It's not clear what the future of this interface will be, but for now we can just rename it to nsIBrowserChild.

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

--HG--
rename : dom/interfaces/base/nsITabChild.idl => dom/interfaces/base/nsIBrowserChild.idl
extra : rebase_source : a6c42a661e35b19e46c60f6f6a6f3dab64c0a1bc
extra : histedit_source : 1eb475bd840bf37a3f86294685c9b3c250684e79
2019-04-09 18:15:02 -05:00
Masayuki Nakano
d8d0bcab65 Bug 1543013 - part 2: Make accessible use mozilla::PresShell directly rather than via nsIPresShell r=Jamie
This patch makes accessible module use `mozilla::PresShell` directly rather
than via `nsIPresShell`.  Additionally, renames `DocAccessible::PresShell()`
to `DocAccessible::PresShellPtr()` for avoiding conflict with using
`PresShell` in it and its sub classes.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:13:15 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez
ba51516ba5 Bug 1500416 - Account for display: contents in ScheduleContentInsertion. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D9338
2018-10-22 09:17:18 +02:00
Emilio Cobos Álvarez
5ebe7949ae Bug 1487312 - Fix content insertion accessibility notifications in Shadow DOM. r=Jamie,surkov
The issue was specific to content insertion directly under a shadow root, the
rest should work (see bug 1427825 for the fix for other similar occurrences).

The removal of the aContainer argument follows the same pattern as bug 1442207.

Differential Revision: https://phabricator.services.mozilla.com/D6431
2018-10-20 01:19:08 +02:00
Alexander Surkov
32562a67f0 Bug 1349223 - cut aria-hidden tree, r=yzen 2018-07-04 10:20:49 -04:00
Cosmin Sabou
aeb2ada3aa Backed out changeset b2df5de436bd (bug 1349223) for permafailling marionette harness on test_accessibility.py. CLOSED TREE 2018-06-25 22:50:58 +03:00
Alexander Surkov
3da9b86da8 Bug 1349223 - cut aria-hidden tree, r=yzen 2018-06-25 14:17:01 -04:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Daniel Holbert
3dec324930 Bug 1444964: Add needed #includes and namespaces to fix non-unified build bustage in accessible/base. r=surkov
MozReview-Commit-ID: GWz3Mwj07Wf

--HG--
extra : rebase_source : 3281fef98230010966c5759fd8b8e186aeade50c
2018-03-12 11:03:55 -07:00
Emilio Cobos Álvarez
47cf299a8b Bug 1427825: Make accessibility use the flattened tree more consistently. r=surkov
MozReview-Commit-ID: 4mFkvqheZOK

--HG--
extra : rebase_source : 34eb8dd0b20295e4f92e3bd2ec827a401b0d3f61
2018-01-03 19:59:16 +01:00
Samuel Thibault
c0761188e0 Bug 1426868 - Check that child document still exists after parent processing r=surkov 2017-12-23 08:15:00 +02:00
Samuel Thibault
dc044dd2a5 Bug 1425932 - Explicitly process chrome events before processing document events. r=surkov 2017-12-21 07:59:00 -05:00
Alexander Surkov
180fc6c813 Bug 1424768 - telemetry accessible tree update times, r=jamie, francois 2017-12-18 09:50:45 -05:00
Samuel Thibault
0b770bd497 Bug 1260598 Make document events wait for chrome content insertion events r=surkov
When switching from a tab to another, accessibility layers needs to get
events about the tab switch before events about the newly-focused
element of the document.

This changeset does it so by first making IsUpdatePending() not only
watch for the document's pending updates, but also its parent's pending
updates, so that the document doesn't process focus events immediately,
but queue them.

Then, WillRefresh for the document should not process events until its
parent chrome has finished processing its content insertion events
(corresponding to the tab switch).

Eventually, ScheduleContentInsertion can not afford leaving an empty
array of notifications and not a schedule processing any more.
(was introduced by c2aeece5eb10 'Bug 1242989 - keep content insertions
in a hash')
2017-12-14 11:07:00 +02:00
Eitan Isaacson
2fccef2647 Bug 1396478 - Don't process text changes from nodes that were removed from doc. r=surkov 2017-12-07 10:45:00 +02:00
Alexander Surkov
9644ecd994 Bug 1321960, part2 - let an interrupted reflow finish before processing a11y, r=eeejay, f=dholbert 2017-09-26 16:27:02 -04:00
Eitan Isaacson
1f0f0ebd6c Bug 1396267 - Check that owner has content before aria-owns relocation. r=surkov 2017-09-11 13:56:00 -04:00
Eitan Isaacson
5dcba0ecf8 Bug 1376754 - Remove hide event target flag from accessible when event is dropped. r=surkov 2017-08-16 07:27:31 -07:00
Nicholas Nethercote
58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Ryan VanderMeulen
926bfc8d2c Bug 1372221 - Set containerElm only if A11Y_LOG is defined. r=davidb 2017-06-12 10:13:05 -04:00
dbolter
a3cffe12d0 Bug 1368121 - Remove telemetry for a11y update time. r=eeejay 2017-05-26 14:03:57 -04:00
David Parks
cf9e5cbbc1 Bug 1330484 - Part 1: Detect and Shutdown binding accessibles that have lost their actors. r=jimm
In content processes, we want to avoid a situation where a DocAccessible has lost its IPC actor (DocAccessibleChild) but finds itself processing a delayed request to take on child documents.  In this case, we shut down the child documents as they are no longer valid.
2017-05-22 02:09:02 -07:00
Alexander Surkov
28500c691a Bug 1362063 - replace delayed ValidateARIAOwned on straightforward DOM tree traversal, r=davidb 2017-05-04 13:21:17 -04:00
Alexander Surkov
54cc70d50a Bug 1353094 - simplify the logic of accessible subtrees removal, r=davidb 2017-04-25 14:02:41 -04:00
David Parks
55dc6b7f68 Bug 1332690 - Assign Managers to DocAccessibleChilds. r=tbsaunde
The Manager is set by IPDL for remotely constructed objects but our DocAccessibleChilds are created on the child process side, so we need to assign a manager in the constructor so that we can find it when needed.

--HG--
extra : rebase_source : 8bf76534860ed73fbdc71df494130f6028400fa3
2017-03-27 10:03:43 -07:00
Alexander Surkov
1309e3f824 Bug 1330484 - crash in NotificationController::WillRefresh, r=yzen 2017-03-23 13:59:16 -04:00
Trevor Saunders
f0cd2a2c68 bug 1346439 - fixup linked list manipulation in CoalesceMutationEvents() r=davidb
Its possible to coalesce away events such that the first two events in the
  queue are reorder events where the second reorder can be coalesced with the
  first.  In that case there's no point in shuffling the list before removing
  the second reorder event.
2017-03-17 14:03:44 -04:00
Trevor Saunders
c62d07b686 bug 1322593 - don't coalesce non contiguous text changes under the same accessible r=davidb 2017-01-23 16:08:29 -05:00
Trevor Saunders
44d07a4cfc bug 1322593 - avoid merging text change events for unrelated accessibles r=davidb 2017-01-23 16:08:29 -05:00
Trevor Saunders
99e6f48f16 bug 1325258 - make some asserts diagnostic asserts to investigate crashes 2017-01-06 15:29:06 -05:00
Cameron McCormack
babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Aaron Klotz
1b06d6cc17 Bug 1321936: Check whether new child docs are defunct before doing IPC binding; r=tbsaunde
MozReview-Commit-ID: 2kX991JncyV
2016-12-02 12:33:01 -07:00