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

73 Коммитов

Автор SHA1 Сообщение Дата
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
Aaron Klotz fd166cbe7a Bug 1314707: Replace PDocAccessible::SendCOMProxy with new parameter to PDocAccessibleConstructor and async RecvParentCOMProxy call in child. Sending of a11y events from child to parent is now deferred until DocAccessibleChild::RecvParentCOMProxy is called; r=tbsaunde
MozReview-Commit-ID: DjxSfLJQtTu

--HG--
extra : rebase_source : d0f1ff1d22df003bc87968e1991eb08eeb977d85
2016-12-01 16:28:54 -07:00
Trevor Saunders e4892518b5 bug 1270916 - switch to use the new mutation event queue system r=davidb
This puts events in the queue instead of the event tree, and then fires them
based on the queue.  Some tests need to be adjusted to make sure they check
constraints on event order correctly.
2016-11-16 23:47:02 -05:00
Trevor Saunders ac89878cfd bug 1270916 - add methods to maintain a queue of mutation events to coalesce or fire r=davidb
Mutation events are kept in a queue before firing.   The queue is only
coalesced when necessary, at present this is when queueing a hide event, or
just before firing all the events.  It may be possible to do without the
former, but that is left as future work.  The state of what types of events an
accessible is a target of is stored in the accessible.  Combining that with a
map from accessible and type pairs to events we can quickly remove unnecessary
events from the queue when we need to coalesce.
2016-11-16 23:46:58 -05:00
Trevor Saunders f1579f1ed3 bug 1270916 - add a map from accessible and event type to an event r=davidb 2016-11-16 23:46:57 -05:00
Wes Kocher d8a0141e5f Backed out 12 changesets (bug 1270916) for a11y crashes a=backout CLOSED TREE
Backed out changeset 916cbaf21a63 (bug 1270916)
Backed out changeset 8ee47068d1fb (bug 1270916)
Backed out changeset 60189bf08272 (bug 1270916)
Backed out changeset 5ca49b5d1c51 (bug 1270916)
Backed out changeset b8ead1b86059 (bug 1270916)
Backed out changeset 034efc9a4408 (bug 1270916)
Backed out changeset a9d6410f068e (bug 1270916)
Backed out changeset eefa622b467a (bug 1270916)
Backed out changeset 91a8f65a69fe (bug 1270916)
Backed out changeset cd68b5fd88a6 (bug 1270916)
Backed out changeset 4c58195d6bcf (bug 1270916)
Backed out changeset 8e5f19f19b7f (bug 1270916)
2016-11-16 16:16:13 -08:00
Trevor Saunders 446c2b1395 bug 1270916 - switch to use the new mutation event queue system r=davidb
This puts events in the queue instead of the event tree, and then fires them
based on the queue.  Some tests need to be adjusted to make sure they check
constraints on event order correctly.
2016-11-16 18:15:23 -05:00
Trevor Saunders 08b09942e6 bug 1270916 - add methods to maintain a queue of mutation events to coalesce or fire r=davidb
Mutation events are kept in a queue before firing.   The queue is only
coalesced when necessary, at present this is when queueing a hide event, or
just before firing all the events.  It may be possible to do without the
former, but that is left as future work.  The state of what types of events an
accessible is a target of is stored in the accessible.  Combining that with a
map from accessible and type pairs to events we can quickly remove unnecessary
events from the queue when we need to coalesce.
2016-11-16 18:15:22 -05:00
Trevor Saunders c9fb6d5adf bug 1270916 - add a map from accessible and event type to an event r=davidb 2016-11-16 18:15:22 -05:00
Iris Hsiao ed1e0e8eed Backed out changeset 074b41be0f3e (bug 1270916) for bustage
CLOSED TREE
2016-11-16 14:41:51 +08:00
Trevor Saunders bffaebfaf0 bug 1270916 - add a map from accessible and event type to an event r=davidb 2016-11-16 01:17:40 -05:00
Phil Ringnalda fdc221b30f Backed out changeset 43835f5fa2b2 (bug 1314707) for crashes @ mozilla::a11y::ProxyDestroyed
MozReview-Commit-ID: 9jIOao58gMQ
2016-11-09 19:33:25 -08:00
Aaron Klotz 37a3b973b9 Bug 1314707: Replace PDocAccessible::SendCOMProxy with new parameter to PDocAccessibleConstructor and async RecvParentCOMProxy call in child. Sending of a11y events from child to parent is now deferred until DocAccessibleChild::RecvParentCOMProxy is called; r=tbsaunde
--HG--
extra : amend_source : 59d080ee7370d62211d7c9f8ca5ef17870bfe500
2016-11-09 15:24:58 -07:00
Aaron Klotz e6b863ac53 Bug 1309236: Move setting of MSAA ID to PDocAccessibleConstructor; r=tbsaunde
MozReview-Commit-ID: D5iFud9DiEh

--HG--
extra : rebase_source : d1a1ec17258e9be8023dd730593745d32a96cc0f
2016-10-27 13:16:24 -06:00
Aaron Klotz a90989b900 Bug 1304449: Part 4 - Change Windows a11y MSAA id generation to partition based on content process id; r=tbsaunde
MozReview-Commit-ID: 1IBkP20uc1f

--HG--
extra : rebase_source : d0861da3419534f04f2e9de66157b8cde57c1ccd
2016-10-05 15:56:20 -06:00
Alexander Surkov e124c53ded Bug 1294853 part1 - hide should preceed its related show on a move, r=yzen 2016-09-29 15:44:18 -04:00
Aaron Klotz 7debf7c239 Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
MozReview-Commit-ID: ctPgegQ83a
2016-08-18 09:49:13 -06:00
Sebastian Hengst 5842832f4e Backed out changeset ff58e1a5f483 (bug 1268544) 2016-08-19 10:02:19 +02:00
Aaron Klotz 92899f5101 Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
MozReview-Commit-ID: ctPgegQ83a
2016-08-18 09:49:13 -06:00
Phil Ringnalda 0d69896d44 Backed out 6 changesets (bug 1288841, bug 1268544) for causing Win7 e10s Marionette to fail in test_import_script.py TestImportScriptContent.test_imports_apply_globally
Backed out changeset c9f49a119255 (bug 1288841)
Backed out changeset a9d43e83e070 (bug 1268544)
Backed out changeset d898178a0809 (bug 1268544)
Backed out changeset 4887b4164dd9 (bug 1268544)
Backed out changeset 7c3a5a770cae (bug 1268544)
Backed out changeset 12aa15cf5879 (bug 1268544)

--HG--
rename : accessible/ipc/other/DocAccessibleChild.cpp => accessible/ipc/DocAccessibleChild.cpp
rename : accessible/ipc/other/DocAccessibleChild.h => accessible/ipc/DocAccessibleChild.h
rename : accessible/ipc/win/PDocAccessible.ipdl => accessible/ipc/PDocAccessible.ipdl
rename : accessible/ipc/win/ProxyAccessible.cpp => accessible/ipc/ProxyAccessible.cpp
rename : accessible/ipc/win/ProxyAccessible.h => accessible/ipc/ProxyAccessible.h
2016-08-18 00:30:21 -07:00
Aaron Klotz 01e4a55f10 Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
MozReview-Commit-ID: ctPgegQ83a
2016-08-15 14:24:12 -06:00
Wes Kocher 021a12c86f Backed out changesets e4a39e456f89 (bug 1268544) for mass build bustage a=backout CLOSED TREE
***
Backed out changeset 119a4b187938 (bug 1268544)
***
Backed out changeset d83cba382cfe (bug 1268544)
***
Backed out changeset a0085eb5ffe7 (bug 1268544)
***
Backed out changeset eefa457c3680 (bug 1288843)
***
Backed out changeset 17dc46beb1a5 (bug 1288841)
***
Backed out changeset e76f58f328d4 (bug 1268544)
***
Backed out changeset ffc8ee715fdb (bug 1268544)
***
Backed out changeset 99f0ea19b8f5 (bug 1268544)
***
Backed out changeset 2bdfb9514317 (bug 1268544)
***
Backed out changeset e4b3a5e1756d (bug 1268544)

--HG--
rename : accessible/ipc/other/DocAccessibleChild.cpp => accessible/ipc/DocAccessibleChild.cpp
rename : accessible/ipc/other/DocAccessibleChild.h => accessible/ipc/DocAccessibleChild.h
rename : accessible/ipc/win/PDocAccessible.ipdl => accessible/ipc/PDocAccessible.ipdl
rename : accessible/ipc/win/ProxyAccessible.cpp => accessible/ipc/ProxyAccessible.cpp
rename : accessible/ipc/win/ProxyAccessible.h => accessible/ipc/ProxyAccessible.h
extra : amend_source : dc73ec117c7279539cab36af821637bb1b0236bd
extra : histedit_source : 438ce81f07a53af61b1cabf7620f30b090e7d5e2%2Ccb6472913fe0d7d2ec66bf0cedc18f2e4d00678e
2016-08-15 15:58:45 -07:00
Aaron Klotz 9c133fb86d Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
MozReview-Commit-ID: ctPgegQ83a
2016-08-15 14:24:12 -06:00
Alexander Surkov 727cb49410 Bug 1292627 - group text leaf insertions by parent before processing, r=yzen 2016-08-08 13:02:26 -04:00
Alexander Surkov fab3d8aff2 Bug 1278294 - text logging should log document address, part3, r=yzen 2016-06-08 11:39:28 -04:00
Alexander Surkov db7566fedf Bug 1268320 - stop event tree processing if the document goes shutdown, r=yzen 2016-05-19 14:35:20 -04:00
Alexander Surkov 7679e64fd6 Bug 1264852 - destroy an event tree as it gets processed, r=n.nethercote 2016-04-28 13:12:46 -04:00
Alexander Surkov 79ec4018bb Bug 1264526 - process ARIA owns relocations for in-the-document accessibles only, r=yzen 2016-04-14 13:45:16 -04:00