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

872 Коммитов

Автор SHA1 Сообщение Дата
Eitan Isaacson 11ab196725 Bug 1634619 - Back out focusable state changes on overflow events. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D74487
2020-05-11 00:21:21 +00:00
James Teh 09a25365d2 Bug 1572860: Remove the ability for an outer document to override live region markup in an inner iframe document. r=MarcoZ
This is something that was implemented a long time ago, but it isn't covered in any spec, other browsers don't implement it and I don't know of any usage in the wild.
This doesn't work with OOP iframes, since what we're doing here requires the documents to be in the same process.
Given it isn't used or specified, the simplest solution is to just remove the behaviour altogether.

Differential Revision: https://phabricator.services.mozilla.com/D74628
2020-05-11 11:13:43 +00:00
James Teh b02d77311a Bug 1628415 part 2: Correct comments regarding XUL control Accessible name computation. r=MarcoZ
This is not strictly related to this bug, but I'm touching the surrounding code and I've been confused by this on several occasions.
The previous comments suggested that NameFromAssociatedXULLabel (which uses XULLabelIterator) looks at child labels.
This is incorrect: XULLabelIterator only looks at <label control="id">.
The inclusion of child labels in the name comes from GetNameFromSubtree, which is called elsewhere.

Differential Revision: https://phabricator.services.mozilla.com/D74371
2020-05-08 04:27:00 +00:00
James Teh ba3de78b7e Bug 1628415 part 1: Remove use of nsIDOMXULSelectControlItemElement::label in Accessible. r=MarcoZ
This was only used for richlistitems, but the richlistitem implementation of this property did the wrong thing in several cases.
The a11y engine's label computation code generally does a better job.
Where the label does need to be overridden in specific cases, we should use ARIA instead.

Differential Revision: https://phabricator.services.mozilla.com/D74370
2020-05-08 04:24:42 +00:00
Botond Ballo 5cffd06241 Bug 1631568 - Have nsLayoutUtils::GetFrameForPoint() and GetFramesForArea() take a RelativeTo parameter. r=tnikkel
This removes the need for FrameForPointOptions::IsRelativeToLayoutViewport,
and makes sure each call site of these functions indicates whether the
input point/rect is in visual or layout coordinates.

Several call sites were passing in layout coordinates without setting the
IsRelativeToLayoutViewport flag, which this patch corrects.

Differential Revision: https://phabricator.services.mozilla.com/D71705
2020-05-05 15:24:12 +00:00
Botond Ballo 7cf10dca6d Bug 1556556 - Remove many uses of IgnoreRootScrollFrame. r=mstange,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D68913
2020-05-05 19:23:35 +00:00
Mirko Brodesser 81a6751c80 Bug 1634663: part 1) Declare `Selection::GetRangeAt`'s callers `const` around dom/ code. r=masayuki
Only where possible, of course.

Differential Revision: https://phabricator.services.mozilla.com/D73444
2020-05-02 23:43:02 +00:00
Jonathan Watt 2d1fc3c186 Bug 1634217. Make `accessible/` buildable outside of `unified-build` environment. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D73176
2020-05-01 04:28:35 +00:00
Morgan Reschenberg b499462d93 Bug 1624954: Send state-change event when aria-haspopup value is changed to allow for caching. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D71221
2020-04-30 21:38:33 +00:00
Csoregi Natalia 5ca61e2a3c Backed out 2 changesets (bug 1624954) for eslint failure on browser_aria_haspopup.js. CLOSED TREE
Backed out changeset 2a3f592412a2 (bug 1624954)
Backed out changeset 74085e028726 (bug 1624954)
2020-04-30 23:37:28 +03:00
Morgan Reschenberg 13bb4618ce Bug 1624954: Send state-change event when aria-haspopup value is changed to allow for caching. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D71221
2020-04-30 20:12:29 +00:00
Morgan Reschenberg 707b0c1a92 Bug 1624936: Add required state caching, attribute handling for mozCheckboxAccessibles. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D70231
2020-04-28 18:19:39 +00:00
Morgan Reschenberg 5bf3cbceb9 Bug 1624936: Fire state change event when required state changes. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D71413
2020-04-28 18:19:17 +00:00
Csoregi Natalia b073baab86 Backed out 30 changesets (bug 1556556, bug 1631568) for multiple mochitest failures. CLOSED TREE
Backed out changeset edd529f7a9c5 (bug 1631568)
Backed out changeset 1cc0881e244b (bug 1631568)
Backed out changeset ed3c1e85d5e3 (bug 1556556)
Backed out changeset 38ffc6215bbf (bug 1556556)
Backed out changeset 03c2c25d8023 (bug 1556556)
Backed out changeset 9c717eb067b8 (bug 1556556)
Backed out changeset 98e26bc98b85 (bug 1556556)
Backed out changeset 05a6a581e755 (bug 1556556)
Backed out changeset 867946cf05bb (bug 1556556)
Backed out changeset 20d72a334530 (bug 1556556)
Backed out changeset 2c62e61d9054 (bug 1556556)
Backed out changeset 62a223d057d2 (bug 1556556)
Backed out changeset 2c5d55a1f0b1 (bug 1556556)
Backed out changeset 700447945b4e (bug 1556556)
Backed out changeset 93190ae4f5ff (bug 1556556)
Backed out changeset a7bd34d961bb (bug 1556556)
Backed out changeset fccd1d3c7189 (bug 1556556)
Backed out changeset 24056e47183d (bug 1556556)
Backed out changeset 204881474cc1 (bug 1556556)
Backed out changeset 387320881876 (bug 1556556)
Backed out changeset be8f5eb58460 (bug 1556556)
Backed out changeset 629c58a9166b (bug 1556556)
Backed out changeset 4312b2b5dda8 (bug 1556556)
Backed out changeset d11dbf6403a5 (bug 1556556)
Backed out changeset 95c54c023779 (bug 1556556)
Backed out changeset 80fcb7e71188 (bug 1556556)
Backed out changeset d75a4ecb0d47 (bug 1556556)
Backed out changeset 903c4de34e7a (bug 1556556)
Backed out changeset f15334a3e803 (bug 1556556)
Backed out changeset 9553e99137ea (bug 1556556)
2020-04-28 12:43:11 +03:00
Botond Ballo 2cb46cfa4b Bug 1631568 - Have nsLayoutUtils::GetFrameForPoint() and GetFramesForArea() take a RelativeTo parameter. r=tnikkel
This removes the need for FrameForPointOptions::IsRelativeToLayoutViewport,
and makes sure each call site of these functions indicates whether the
input point/rect is in visual or layout coordinates.

Several call sites were passing in layout coordinates without setting the
IsRelativeToLayoutViewport flag, which this patch corrects.

Differential Revision: https://phabricator.services.mozilla.com/D71705
2020-04-28 01:44:43 +00:00
Botond Ballo b11a399d42 Bug 1556556 - Remove many uses of IgnoreRootScrollFrame. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D68913
2020-04-28 02:25:51 +00:00
Simon Giesecke 191a830575 Bug 1628715 - Part 7: Add MOZ_NONNULL_RETURN to infallible nsTArray::AppendElements. r=xpcom-reviewers,necko-reviewers,nika,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70831
2020-04-24 13:31:14 +00:00
Simon Giesecke 9cc891f41f Bug 1628715 - Part 5: Add MOZ_NONNULL_RETURN to infallible nsTArray::InsertElementsAt. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D70403
2020-04-24 13:26:13 +00:00
Eitan Isaacson 9db905efb4 Bug 1625864 - Fire state change event on LINKED change. r=Jamie,morgan
Also stop recreating any accessible that has href modified.

Differential Revision: https://phabricator.services.mozilla.com/D71258
2020-04-24 14:34:09 +00:00
James Teh 99f2b37464 Bug 1632467: Clear eGroupInfoDirty flag when creating AccGroupInfo. r=MarcoZ
When the tree is mutated, we set eGroupInfoDirty regardless of whether there is GroupInfo.
Previously, we cleared eGroupInfoDirty when updating GroupInfo, but not when creating it.
This meant that the flag was often still set, causing the cache to not be used a lot of the time.

Differential Revision: https://phabricator.services.mozilla.com/D72139
2020-04-23 13:21:32 +00:00
Noemi Erli 6cf19c2464 Backed out 3 changesets (bug 1625864) for causing mochitest failures in test_update.html
Backed out changeset cf3caf6f708c (bug 1625864)
Backed out changeset 0a4a66240a9f (bug 1625864)
Backed out changeset 20bcd150f92c (bug 1625864)
2020-04-20 22:31:26 +03:00
Eitan Isaacson 7fac737410 Bug 1625864 - Fire state change event on LINKED change. r=Jamie,morgan
Also stop recreating any accessible that has href modified.

Differential Revision: https://phabricator.services.mozilla.com/D71258
2020-04-20 17:59:09 +00:00
Eitan Isaacson 14c42949a0 Bug 1629162 - Scrollability changed should fire accessible FOCUSABLE changes. r=morgan,Jamie
When an element with overflow:auto becomes scrollable, either by a style change or growing children, it should become focusable and fire a state change. Same in the inverse.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 22:33:55 +00:00
Eitan Isaacson d5a790643e Bug 1629162 - Attribute changes should cause FOCUSABLE state change events. r=morgan,Jamie
Changes to attributes such as disabled, contenteditable, and tabindex should cause FOCUSABLE
state changes to be fired when indeed the accessible gains or loses focusability.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 22:33:48 +00:00
James Teh 47aa8b6b4d Bug 1619506 part 2: Don't expose NODE_CHILD_OF relation for OOP iframe documents. r=yzen
For OOP iframe documents, we can't support NODE_CHILD_OF in the usual way, since the iframe resides in a different process.
Previously, we incorrectly returned the application accessible.
This was breaking focus ancestry walking for JAWS.
Instead, don't expose NODE_CHILD_OF at all in this case.
This is fine because the client will then request the parent instead, which will be correctly handled by platform/AccessibleOrProxy code.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 18:30:01 +00:00
Eric Rahm 357069ff58 Bug 1626455 - Remove nsAutoPtr usage from accessible/. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D69126

--HG--
extra : moz-landing-system : lando
2020-04-03 21:05:35 +00:00
Botond Ballo 672a7de4ff Bug 1626021 - Remove non-ASCII characters from comments in Accessible.cpp. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D68847

--HG--
extra : moz-landing-system : lando
2020-03-30 17:33:19 +00:00
Mirko Brodesser d5bfd89436 Bug 1623858: part 13) Declare some methods in `HyperTextAccessible` `const`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D68039

--HG--
extra : moz-landing-system : lando
2020-03-25 15:39:37 +00:00
Eitan Isaacson 98a33541fd Bug 1622731 - In TableAccessible::IsProbablyLayoutTable, check if accessible is defunct. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D67672

--HG--
extra : moz-landing-system : lando
2020-03-24 19:03:39 +00:00
Marco Zehe 2c553e7cf6 Bug 1371712 - Fall through to ARIA landmark role determination if native landmark roles fail, r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D65946

--HG--
extra : moz-landing-system : lando
2020-03-11 16:23:38 +00:00
Eitan Isaacson 7fa8b37f6d Bug 1620508 - Revert change where opacity:0 makes subtrees invisible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D66296

--HG--
extra : moz-landing-system : lando
2020-03-10 22:35:51 +00:00
Mirko Brodesser 4be580237d Bug 1619617: part 1) Annotate `RemoveRangeAndUnselectFramesAndNotifyListeners` with `MOZ_CAN_RUN_SCRIPT`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65511

--HG--
extra : moz-landing-system : lando
2020-03-06 12:03:23 +00:00
Marco Zehe 912a8ce3e9 Bug 1619383 - Calculate group position information correctly for ARIA grids, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D65160

--HG--
extra : moz-landing-system : lando
2020-03-04 06:44:22 +00:00
Eitan Isaacson 3ea5342b3a Bug 1619458 - Add Accessible::IsXULTooltip. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D65038

--HG--
extra : moz-landing-system : lando
2020-03-03 01:42:46 +00:00
Emilio Cobos Álvarez 6b4b7ae72c Bug 1617084 - Add some simple DOM ancestor iterators. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63594

--HG--
extra : moz-landing-system : lando
2020-03-02 11:36:42 +00:00
Marco Zehe 6d5bea032c Bug 1608961 - Support ARIA 1.3 aria-description property, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D64283

--HG--
extra : moz-landing-system : lando
2020-03-02 10:59:22 +00:00
Marco Zehe df16c0598f Bug 1608969 - Add new ARIA 1.3 comment role, r=Jamie
This adds both the role as well as calculation of the posinset, setsize, and level calculation if not provided by the author.

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

--HG--
extra : moz-landing-system : lando
2020-03-01 19:35:06 +00:00
Eitan Isaacson aa33282e2d Bug 925209 - Accessibles in opacity:0 subtrees should be invisible. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D64479

--HG--
extra : moz-landing-system : lando
2020-02-26 23:22:48 +00:00
Andrew McCreight 4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei 00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Kris Maglione c31aa68fb4 Bug 1535617: Part 2 - Clear weak references for most cycle collected objects on unlink. r=mccr8
This covers most cycle collected objects which support weak references, but
not the ones which inherit from a cycle collected class and don't do any cycle
collection on their own.

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

--HG--
extra : moz-landing-system : lando
2020-02-25 19:44:39 +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 777e8fba2d Bug 1616797 - Check that accessible's frame still exists in scroll dispatcher r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D63546

--HG--
extra : moz-landing-system : lando
2020-02-20 21:12:43 +00:00
Simon Giesecke 9350e6b741 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 11:40:14 +00:00
Dorel Luca d5f9df8ee1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke 59b23375c0 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 18:05:38 +00:00
James Teh ac0a51e32c Bug 1596007: Fire an a11y state change event when an image's size becomes available. r=eeejay,emilio
Differential Revision: https://phabricator.services.mozilla.com/D62871

--HG--
extra : moz-landing-system : lando
2020-02-18 17:22:35 +00:00
James Teh 5fef6bfb48 Bug 1118086: When a menupopup is shown, if aria-activedescendant is set, redirect focus appropriately. r=eeejay
Normally, XUL menupopups contain XUL menuitems, and XUL menuitems fire DOMMenuitemActive events from layout to manage a11y focus.
However, the new parent process select dropdown implementation uses a menulist containing div elements instead of XUL menuitems.
DOMMenuItemActive doesn't work for div elements because we check Accessible::ContainerWidget(), and that doesn't know to return the menupopup for div elements.
Since aria-activedescendant is the more web standard way to handle this, the new select dropdown implementation uses aria-activedescendant.

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

--HG--
extra : moz-landing-system : lando
2020-02-17 04:06:00 +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
Mirko Brodesser 36437a9d2d Bug 1613378: part 9) Clarify dependency to `mFrameSelection` in `Selection` when adding/removing ranges. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62198

--HG--
extra : moz-landing-system : lando
2020-02-12 12:27:32 +00:00
Eitan Isaacson fa1647cd96 Bug 1590216 - Reset selection manager to focused element if its frame is recreated. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D61371

--HG--
extra : moz-landing-system : lando
2020-02-05 00:31:57 +00:00
Masayuki Nakano 450b71f763 Bug 1612085 - part 1: Hide constructor of `nsRange` r=smaug
`nsRange` instances are allocated a lot in the heap especially by editor and
spellchecker.  The allocation cost is too bad for benchmarks.  Therefore,
we should reuse released instances as far as possible.  For managing it in
static factory methods of `nsRange`, we need to hide `nsRange` constructor.

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

--HG--
extra : moz-landing-system : lando
2020-01-30 13:23:35 +00:00
James Teh 28c14667c7 Bug 1610596: Ignore ARIA roles other than application or dialog on body elements. r=MarcoZ
This means that for any other ARIA role, we will expose the DOCUMENT role on the DocAccessible.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 04:34:22 +00:00
James Teh c659d71564 Bug 1606743: Defer calling BrowserBridgeChild::SendSetEmbedderAccessible if a DocAccessibleChild hasn't sent its constructor to the parent process yet. r=eeejay
On Windows, if the top level document hasn't received its parent COM proxy yet, sending constructors for child documents will be deferred.
If an OuterDocAccessible for an OOP iframe is created inside a child document before its constructor is sent, we must also defer the call to BrowserBridgeChild::SendSetEmbedderAccessible.
previously, we tried to send the embedder before the document constructor was sent, causing a crash.

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

--HG--
extra : moz-landing-system : lando
2020-01-17 05:46:25 +00:00
Colomban Wendling 6ec7f65366 Bug 1597742 a11y: Make ScrollSubstringToPoint always scroll, not only when invisible r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D60164

--HG--
extra : moz-landing-system : lando
2020-01-17 02:10:31 +00:00
James Teh 1968353c48 Bug 1609589: Fire a value change event when the text of a spin button changes. r=MarcoZ
After bug 981248, <input type="number"> no longer has an anonymous text input.
Instead, the <input type="number"> itself manages the text.
Previously, the a11y code which fired value change events for text changes only did this for combo boxes and role ENTRY.
This meant a value change event was no longer fired for <input type="number">.
This condition has now been extended to include role SPINBUTTON.
This fixes reporting of <input type="number"> changes for JAWS.

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

--HG--
extra : moz-landing-system : lando
2020-01-16 04:57:24 +00:00
Emilio Cobos Álvarez 547c9db8cd Bug 1606130 - Make display: -moz-box more similar to other display types for block layout. r=jfkthame,surkov
It is unexpected (see bug) that a -moz-box is affected by baseline alignment.
Make -moz-box be block-outside, and -moz-inline-box be inline-outside, instead
of the bespoke thing we have now.

This is more similar to everything else, and fixes the bug.

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

--HG--
extra : moz-landing-system : lando
2020-01-07 21:00:42 +00:00
Bogdan Tara 6571a2a6fb Backed out changeset 23d862866f3a (bug 1606130) for android crashtest complaining about 1547420-1.html 2020-01-07 22:53:10 +02:00
Emilio Cobos Álvarez ff938720a8 Bug 1606130 - Make display: -moz-box more similar to other display types for block layout. r=jfkthame,surkov
It is unexpected (see bug) that a -moz-box is affected by baseline alignment.
Make -moz-box be block-outside, and -moz-inline-box be inline-outside, instead
of the bespoke thing we have now.

This is more similar to everything else, and fixes the bug.

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

--HG--
extra : moz-landing-system : lando
2020-01-07 18:02:05 +00:00
Mirko Brodesser e31ae0461a Bug 1600267: part 5) Call `ComparePoints` instead of `ComparePoints_Deprecated` in HyperTextAccessible. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55299

--HG--
extra : moz-landing-system : lando
2019-12-19 13:27:42 +00:00
Mirko Brodesser b8bb35cc69 Bug 1600267: part 1) Rename `nsContentUtils::ComparePoints` to `ComparePoints_Deprecated`. r=smaug
In a follow-up commit a new `ComparePoints` method with cleaner
arguments and return value will be added.

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

--HG--
extra : moz-landing-system : lando
2019-12-19 13:27:08 +00:00
Kirk Steuber b8ab278230 Bug 1585482 - Remove C++ special-casing of top-level <dialog> elements r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D53721

--HG--
extra : moz-landing-system : lando
2019-12-10 18:10:45 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
Emilio Cobos Álvarez 3c12d374bc Bug 1600362 - Cleanup IntersectionObserver. r=smaug
Initially this was going to be a simple cleanup: Remove some useless namespaces
here and there and so on, remove `using` statements from the header and so on.

But unfortunately, DOMIntersectionObserver.h (which is included in Element.h,
unnecessarily) ended up exposing `Element` unnamespaced to a lot of code, so I
had to fix that.

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

--HG--
extra : moz-landing-system : lando
2019-11-29 20:39:36 +00:00
James Teh 8d5f485ca6 Bug 1572677: Correct a11y exposure for HTML elements with associated XUL labels. r=MarcoZ
A XUL <label control="id"> can refer to an HTML element.
Keyboard and mouse support for this already works, but previously, this wasn't being exposed via accessibility APIs.

1. Split the code to get the name from an associated XUL label out of Accessible::XULElmName into a new function Accessible::NameFromAssociatedXULLabel.
2. Use NameFromAssociatedXULLabel for HTMl elements.
3. Update AccessKey and RelationByType to support HTML elements with associated XUL labels.
4. Rename accessible/tests/mochitest/actions/test_keys_menu.xhtml to test_keys.xhtml so it can cover accessKey outside of menus.
5. Add tests.

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

--HG--
rename : accessible/tests/mochitest/actions/test_keys_menu.xhtml => accessible/tests/mochitest/actions/test_keys.xhtml
extra : moz-landing-system : lando
2019-11-28 06:36:04 +00:00
Sylvestre Ledru 8d2f0d1b1f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-11-26 14:35:02 +00:00
Masayuki Nakano 20699e2189 Bug 1597679 - part 2: Make `nsITextControlElement` inherit `nsGenericHTMLFormElementWithState` r=smaug
Sub classes of `nsITextControlElement` are only `HTMLInputElement` and
`HTMLTextAreaElement`. And both base class is
`nsGenericHTMLFormElementWithState`.  Therefore, we can make
`nsITextControlElement` inherit `nsGenericHTMLFormElementWithState` and
make `HTMLInputElement` and `HTMLTextAreaElement` inherit
`nsITextControlElement`.  Then, we can get rid of a lot of QI between
`nsINode`/`nsIContent`/`Element` and `nsITextControlElement` (and note that
some of them in a hot path).

Additionally, this patch renames `nsITextControlElement` to
`mozilla::TextControlElement`.

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

--HG--
rename : dom/html/nsITextControlElement.h => dom/html/TextControlElement.h
extra : moz-landing-system : lando
2019-11-25 06:35:15 +00:00
Coroiu Cristina 84bf2b6d25 Backed out 3 changesets (bug 1597679) for Android debug build bustage at build/src/dom/base/nsContentAreaDragDrop.cpp
Backed out changeset 6a73b58e0db4 (bug 1597679)
Backed out changeset 90a172eff2de (bug 1597679)
Backed out changeset d4a156cf28ff (bug 1597679)

--HG--
rename : dom/html/TextControlElement.h => dom/html/nsITextControlElement.h
2019-11-24 09:02:53 +02:00
Masayuki Nakano eea1784f2d Bug 1597679 - part 2: Make `nsITextControlElement` inherit `nsGenericHTMLFormElementWithState` r=smaug
Sub classes of `nsITextControlElement` are only `HTMLInputElement` and
`HTMLTextAreaElement`. And both base class is
`nsGenericHTMLFormElementWithState`.  Therefore, we can make
`nsITextControlElement` inherit `nsGenericHTMLFormElementWithState` and
make `HTMLInputElement` and `HTMLTextAreaElement` inherit
`nsITextControlElement`.  Then, we can get rid of a lot of QI between
`nsINode`/`nsIContent`/`Element` and `nsITextControlElement` (and note that
some of them in a hot path).

Additionally, this patch renames `nsITextControlElement` to
`mozilla::TextControlElement`.

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

--HG--
rename : dom/html/nsITextControlElement.h => dom/html/TextControlElement.h
extra : moz-landing-system : lando
2019-11-24 05:38:02 +00:00
James Teh 135e99b607 Bug 1597043: RootAccessible::ProcessDOMEvent: Return early if AsXULMultiSelectControl() on a XUL tree element fails. r=MarcoZ
This really shouldn't be possible.
All XUL trees should have nsIDOMXULMultiSelectControlElement, and the tree is focused at this point, so it shouldn't be dying.
Nevertheless, this sometimes happens in the wild and was causing crashes.

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

--HG--
extra : moz-landing-system : lando
2019-11-18 05:42:28 +00:00
James Teh 2a10f4812f Bug 1593396: If the content of an embed or object element changes to be web content, recreate as an OuterDocAccessible. r=MarcoZ
If an embed or object doesn't specify a URL (or specifies a URL which isn't web content), it won't be created as an OuterDocAccessible.
For example, an embed with no src will be created as a generic HyperTextAccessible.
If the URL later changes to refer to web content, we must recreate as an OuterDocAccessible.
Previously, we didn't recreate, which was causing an assertion and may have caused other strange issues as well.

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

--HG--
extra : moz-landing-system : lando
2019-11-08 05:49:46 +00:00
Brendan Dahl eafc9e3293 Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug
nsXULWindow is no longer XUL specific and is somewhat confusing name.

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

--HG--
rename : xpfe/appshell/nsXULWindow.cpp => xpfe/appshell/AppWindow.cpp
rename : xpfe/appshell/nsXULWindow.h => xpfe/appshell/AppWindow.h
rename : xpfe/appshell/nsIXULWindow.idl => xpfe/appshell/nsIAppWindow.idl
extra : moz-landing-system : lando
2019-11-05 17:56:28 +00:00
Mihai Alexandru Michis b819bd25aa Backed out 2 changesets (bug 1470510) for causing bustages in widget/cocoa/nsChildView.mm CLOSED TREE
Backed out changeset a343f30c34a3 (bug 1470510)
Backed out changeset 4da64790094d (bug 1470510)

--HG--
rename : xpfe/appshell/nsIAppWindow.idl => xpfe/appshell/nsIXULWindow.idl
rename : xpfe/appshell/AppWindow.cpp => xpfe/appshell/nsXULWindow.cpp
rename : xpfe/appshell/AppWindow.h => xpfe/appshell/nsXULWindow.h
2019-11-05 09:24:26 +02:00
Brendan Dahl 0c0da7791e Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug
nsXULWindow is no longer XUL specific and is somewhat confusing name.

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

--HG--
rename : xpfe/appshell/nsXULWindow.cpp => xpfe/appshell/AppWindow.cpp
rename : xpfe/appshell/nsXULWindow.h => xpfe/appshell/AppWindow.h
rename : xpfe/appshell/nsIXULWindow.idl => xpfe/appshell/nsIAppWindow.idl
extra : moz-landing-system : lando
2019-11-04 23:37:31 +00:00
Dorel Luca 0207ce5451 Backed out 2 changesets (bug 1470510) for build bustage on /build/src/widget/cocoa/nsChildView.mm. CLOSED TREE
Backed out changeset 5967bf633574 (bug 1470510)
Backed out changeset 067a556bb614 (bug 1470510)

--HG--
rename : xpfe/appshell/nsIAppWindow.idl => xpfe/appshell/nsIXULWindow.idl
rename : xpfe/appshell/AppWindow.cpp => xpfe/appshell/nsXULWindow.cpp
rename : xpfe/appshell/AppWindow.h => xpfe/appshell/nsXULWindow.h
extra : amend_source : 752d828c6a0726c3f2df57a25741e38b36b75d6b
2019-11-04 19:18:56 +02:00
Brendan Dahl 247b257cfa Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug
nsXULWindow is no longer XUL specific and is somewhat confusing name.

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

--HG--
rename : xpfe/appshell/nsXULWindow.cpp => xpfe/appshell/AppWindow.cpp
rename : xpfe/appshell/nsXULWindow.h => xpfe/appshell/AppWindow.h
rename : xpfe/appshell/nsIXULWindow.idl => xpfe/appshell/nsIAppWindow.idl
extra : moz-landing-system : lando
2019-11-04 16:52:35 +00:00
Edgar Chen acd2114113 Bug 1580491 - Use Element::HasNonEmptyAttr in various places; r=bzbarsky
This was done by reviewing the results of
https://searchfox.org/mozilla-central/search?q=%2F*GetAttr%5C(.%2B(%26%26%7C%5C%7C%5C%7C)&case=true&regexp=true
one by one and replacing them with Element::HasNonEmptyAttr if possible.

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

--HG--
extra : moz-landing-system : lando
2019-11-01 15:24:25 +00:00
James Teh 7d0494adc2 Bug 1585851: When processing a11y insertions, don't try to move an accessible if its new previous sibling hasn't been moved into its new container yet. r=MarcoZ
Sometimes, depending on how children were changed, children might be in the insertion list out of order; e.g. [child2, child1].
It's also possible that an earlier child (child1 in the above example) is being moved out of another container.
When processing the earlier insertion (child2), we'll determine we need to move it within its parent and will fetch its new previous sibling so we can move it into the right place.
However, in this case, the new previous sibling (child1) will be in the wrong container.
We can't move in that case; the new previous sibling's index in parent will obviously be wrong, since it's relative to the wrong container.
Therefore, we just skip the move.
Since the previous sibling (child1) is later in the insertion list, the ordering will be corrected when we process that insertion.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 06:32:50 +00:00
Kirk Steuber 047d40ee73 Bug 1584283 - Stop using xul:wizard as a root element and migrate consumers to xul:window[role=dialog] with the wizard as the only child r=surkov. On a CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D48922

--HG--
extra : source : 01007f3333ea182c83bced4ff750c96b22925e80
extra : amend_source : 3b06af7be6009d6bd94798e14f30a2550f1c4c4f
extra : histedit_source : be50ba403a84dda5af1c902438c918c17a971578
2019-10-17 21:25:53 +00:00
Dorel Luca 659e2d2335 Backed out changeset 01007f3333ea (bug 1584283) for Browser-chrome failures in widget/tests/browser/browser_test_procinfo.js 2019-10-23 03:23:24 +03:00
Kirk Steuber e937081418 Bug 1584283 - Stop using xul:wizard as a root element and migrate consumers to xul:window[role=dialog] with the wizard as the only child r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D48922

--HG--
extra : moz-landing-system : lando
2019-10-17 21:25:53 +00:00
Emilio Cobos Álvarez 5ffa02e5a8 Bug 998590 - Factor out heading accessibility level into HTMLHeadingElement. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D49407

--HG--
extra : moz-landing-system : lando
2019-10-16 12:32:10 +00:00
Morgan Reschenberg 83d56de89c Bug 1579750: Consider aria role before landmark role for xlm-roles attribute. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D49178

--HG--
extra : moz-landing-system : lando
2019-10-14 21:54:35 +00:00
Alexander Surkov 5459de4426 Bug 1587512 - remove XBL dialog support bits; remove XBL support from TreeWalker; update XBL related comments and remove XBL mutation test r=MarcoZ,Jamie
Depends on D48964

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

--HG--
extra : moz-landing-system : lando
2019-10-14 05:36:10 +00:00
Alexander Surkov 350c642a46 Bug 1587512 - remove nsIXBLAccessible interface r=MarcoZ,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D48964

--HG--
extra : moz-landing-system : lando
2019-10-14 05:40:05 +00:00
Alexander Surkov 9dc56a5bf5 Bug 1587104 - do not pick up accessible name from containing XUL toolbaritem r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D48581

--HG--
extra : moz-landing-system : lando
2019-10-09 00:09:47 +00:00
Sylvestre Ledru f12b9fa5c3 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-06 18:29:55 +00:00
Eitan Isaacson cc288d94bb Bug 1582619 - Return DocAccessible if doc root element is passed to GetAccessibleOrDescendant. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D47365

--HG--
extra : moz-landing-system : lando
2019-10-03 00:31:13 +00:00
Eitan Isaacson 18deeb8110 Bug 1582561 - Don't access lazily created descendants in GetAccessibleOrDescendant. r=Jamie
Lazily creating children might cause us to make layout calls at unsafe times.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 00:30:06 +00:00
Morgan Reschenberg a20612a878 Bug 1584465: Null check parent accessible before attribute check to cover root case. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D47488

--HG--
extra : moz-landing-system : lando
2019-09-30 16:23:30 +00:00
Eitan Isaacson b591abf5e0 Bug 1581589 - Return null in GetAccessibleOrContainer for text leafs of unrendered maps. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D47185

--HG--
extra : moz-landing-system : lando
2019-09-26 01:51:45 +00:00
Morgan Reschenberg 33381f2280 Bug 1177014: Modify TransformOffset to correctly report bullet offsets, despite incorrect return from PeekOffset. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D46490

--HG--
extra : moz-landing-system : lando
2019-09-25 02:10:08 +00:00
Edgar Chen 5bc0854d2b Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 20:51:25 +00:00
Daniel Varga bc19cdb06d Backed out 3 changesets (bug 1578355) for build bustage at build/src/dom/base/nsSyncLoadService.h:48:21. On a CLOSED TREE
Backed out changeset d50ad759f129 (bug 1578355)
Backed out changeset 339ab54ca471 (bug 1578355)
Backed out changeset 284299dac42c (bug 1578355)
2019-09-20 14:05:12 +03:00
Edgar Chen 5b6fe53148 Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 10:31:55 +00:00
Eitan Isaacson db60a948f1 Bug 1580292 - Check for pruned descendants of reframed body. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D45423

--HG--
extra : moz-landing-system : lando
2019-09-11 18:32:07 +00:00
Eitan Isaacson 4b3b42e7be Bug 1578416 - Don't allow children of list item to move before bullet. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D45578

--HG--
extra : moz-landing-system : lando
2019-09-12 01:00:15 +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
Masayuki Nakano f521a40385 Bug 1574852 - part 104: Move `TextEditRules::WillInsertText()` to `TextEditor` and make `HTMLEditor::WillInsertText()` override it r=m_kato
And also this patch moves `TextEditRules::HandleNewLines()` and
`TextEditRules::DontEchoPassword()` to `TextEditor`.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 02:40:09 +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
Hiroyuki Ikezoe 6f114d0542 Bug 1541705 - Try to see whether the target frame is scrolled out of view in out-of-process iframe if we couldn't walk up the frame tree. r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D44423

--HG--
extra : moz-landing-system : lando
2019-09-12 08:12:49 +00:00
Morgan Reschenberg 107633cba4 Bug 1277201: Fire a STATE_CHANGE event when a details element is opened or closed. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D44872

--HG--
extra : moz-landing-system : lando
2019-09-10 16:16:53 +00:00
Eitan Isaacson 0bf1f3d15c Bug 1578282 - Use flattened tree parent when getting inserted node container. r=Jamie
This assures that a node that has already been inserted in a shadow root
subtree does not get erroneously reinserted into the top container.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 00:24:21 +00:00
James Teh 43953a25a3 Bug 1578311: Don't prune a trailing HTML br child from the accessibility tree. r=eeejay
Pruning these meant that `<span><br></span>` wasn't represented in the tree or rendered text at all.
This meant that lines were merged together in NVDA browse mode; e.g. in CI build logs on Gitlab.

The reason we started pruning these is that they were causing invalid line offsets to be returned for affected lines (bug 899433).
This patch also fixes this problem in HyperTextAccessible::FindOffset.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 23:41:36 +00:00
Gerald Squelart 95f77c2409 Bug 1576819 - Use PROFILER_ADD_MARKER{,_WITH_PAYLOAD} everywhere - r=gregtatum
All calls to `profiler_add_marker()` (outside of the profilers code) are
now replaced by either:
- `PROFILER_ADD_MARKER(name, categoryPair)`
- `PROFILER_ADD_MARKER_WITH_PAYLOAD(name, categoryPair, TypeOfMarkerPayload,
                                    (payload, ..., arguments))`

This makes all calls consistent, and they won't need to prefix the category pair
with `JS::ProfilingCategoryPair::`.

Also it will make it easier to add (and later remove) internal-profiling
instrumentation (bug 1576550), and to replace heap-allocated payloads with
stack-allocated ones (bug 1576555).

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

--HG--
extra : moz-landing-system : lando
2019-09-04 07:56:51 +00:00
Eitan Isaacson c7e39034b6 Bug 1576690 - Prune de-slotted accessibles, or relocate them to new slot. r=Jamie,emilio
This patch does several things:
 1. If there is a change to a host or a slot, check the slottable
    elements to see if they are rendered in the tree. Remove them if not.
 2. Check slot elements' fallback content if it is rendered and remove if
    not.
 3. Allow accessibles to be reinserted into a different parent or index.

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

--HG--
extra : moz-landing-system : lando
2019-08-29 16:14:48 +00:00
Maliha Islam f35ba542fb Bug 1357071 - Implement support for implicit values for aria-value* attributes for scrollbar and slider roles, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D43293

--HG--
extra : moz-landing-system : lando
2019-08-29 06:39:28 +00:00
Maliha Islam 829cc15e27 Bug 1522383 - Assign gridcell role to cells inside a table with grid role, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D43858

--HG--
extra : moz-landing-system : lando
2019-08-29 10:09:48 +00:00
Dorel Luca efca664ecd Backed out changeset 7f1703036acf (bug 1357071) for Browser-chrome failures on accessible/tests/browser/e10s/browser_caching_value.js 2019-08-29 05:49:07 +03:00
Maliha Islam ea886244a0 Bug 1357071 - Implement support for implicit values for aria-value* attributes for scrollbar and slider roles, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D43293

--HG--
extra : moz-landing-system : lando
2019-08-29 00:18:08 +00:00
Eitan Isaacson df40116d6f Bug 1572829 - Remove explicit children too when node has a shadow root. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D43488

--HG--
extra : moz-landing-system : lando
2019-08-28 23:02:19 +00:00
kriswright be316b6bf9 Bug 1573992 - Convert 3 ui.key.* prefs to static prefs. r=njn
Converts ui.key.generalAccessKey, ui.key.chromeAccess, and ui.key.contentAccess to static prefs. Updates usages.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:42 +00:00
Gautham Velchuru 0b2b2ab7b2 Bug 1357100 - change implicit val for aria-level on a heading to 2 r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D35616

--HG--
extra : moz-landing-system : lando
2019-08-23 01:28:13 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Noemi Erli 6b80a780ed Backed out changeset 067d47e20a94 (bug 1572811) for causing failures in CharacterData.cpp CLOSED TREE 2019-08-15 20:30:45 +03:00
Eitan Isaacson 212dd05514 Bug 1572811 - Explicitly check for removed anonymous children in reframe. r=Jamie
The DOM mutation observer method is called during frame destruction
which is not a good state to be in when constructing and dispatching events.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:06:33 +00:00
Alexander Surkov cfb8c8aef7 Bug 1573337 - remove XBL anon content filtering support from accessible tree traversal r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D42022

--HG--
extra : moz-landing-system : lando
2019-08-15 00:58:28 +00:00
Brendan Dahl b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
James Teh 76dff37c45 Bug 1572317: When removing an Accessible because it lost its frame, remove Accessibles for DOM descendants as well. r=eeejay
Removing an Accessible removes descendants in the a11y tree.
However, there may be DOM descendants which have been relocated elsewhere in the a11y tree.
Their DOM nodes are now hidden as well, so we need to remove those Accessibles too.
In addition to Accessibles remaining in the tree when they shouldn't, failing to remove relocated Accessibles caused problems later on when a relocated Accessible was shown with new descendants.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 01:21:54 +00:00
Eitan Isaacson 09554268a2 Bug 1571616 - Prune or reinsert accessibles in non-accessible container. r=Jamie
We need to visit the descendants of a container that has no accessible,
but has accessible children.

Also added a test for delayed removal where we can put all these nasty
cases.

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

--HG--
extra : moz-landing-system : lando
2019-08-08 16:47:14 +00:00
Kannan Vijayan e53a880b1c Bug 1569262 - Rename nsIDocShellTreeItem::GetRootTreeItem to GetInProcessRootTreeItem for Fission marking. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D41064

--HG--
extra : moz-landing-system : lando
2019-08-07 19:24:00 +00:00
Eitan Isaacson 67c11960cc Bug 686400 - Delay accessible removal on frame reconstruction. r=Jamie,emilio
We naively remove and then recreate accessibles when their content's
frame is reconstructed. By delaying the removal until we are certain the
content does not have a new layout frame, we can cut down on redundant
recreations.

When reconstructed content is re-inserted we can check it and its
subtree for missing frames and prune those accessibles from the tree.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 22:13:28 +00:00
Kris Maglione 22592538f5 Bug 1561015: Part 1 - Use BrowsingContext in window provider APIs. r=bzbarsky,mossop
This is the first step in making it possible to return remote WindowProxy
objects from window.open() and related APIs.

This patch also incidentally fixes a bug where getContentWindowOrOpenURI
returned the top-level browser window rather than the new content window when
passed OPEN_NEWWINDOW for the `aWhere` parameter. This was not the expected
behavior, and was a potentially major footgun for any new users who expected
to always get the content window for the URL they were loading, rather than
sometimes getting a chrome browser window instead.

For now, that case just returns null, which is only a minor footgun, rather
than the major one we had before.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:48:33 +00:00
Masayuki Nakano 765e91b497 Bug 1569902 - part 1: Stop using attribute to consider whether a `<br>` element is an editor bogus node or not r=m_kato,smaug
Editor creates a `<br>` element when it's root element is empty.
Then, it's stored by `TextEditRules::mBogusNode` and used for checking
whether the editor is empty quickly.  However, this `<br>` element has
`mozeditorbogusnode` attribute whose value is `true`.  However, adding or
removing the attribute is not cheap and web apps can refer such illegal
attribute.

Therefore, this patch makes `HTMLBRElement` take a specific flag whether
it's a bogus node or not.  However, this means that this hacky thing will be
exposed outside editor module.  For making what is the bogus node clearer,
this patch calls the such `<br>` elements as "padding `<br>` element for
empty editor".  So, this patch also includes a lot of renaming methods and
variables, and modifying related comments.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:44:40 +00:00
James Teh e7f4ed385b Bug 1570848: When an OuterDocAccessible is constructed, send it as the parent COM proxy for its remote document (if any). r=MarcoZ
Normally, the OuterDocAccessible is created first and the DocAccessibleParent for a remote document is created after that.
So, we get the OuterDocAccessible and call DocAccessibleParent::SendParentCOMProxy when the DocAccessibleParent is constructed (BrowserParent::RecvPDocAccessibleConstructor).
However, sometimes, the OuterDocAccessible is created *after* the DocAccessibleParent.
This sometimes happens for extension popups, for example.
In that case, we previously never sent the parent COM proxy.
Aside from leaving the remote document with a null parent, this also meant we never sent any events for the document, since events are buffered for remote documents until the parent COM proxy is received.
This effectively left the remote document (e.g. extension popup) inaccessible.

Now, we also call SendParentCOMProxy in the OuterDocAccessible constructor.
Note that this doesn't result in duplicates because if the OuterDocAccessible was created first, there won't be a DocAccessibleParent for the remote document yet, so this code won't run.

That said, if the OuterDocAccessible is recreated (e.g. due to frame reconstruction), we may call SendParentCOMProxy again.
This should be okay, but it required an assertion in DocAccessibleChild::RecvParentCOMProxy to be tweaked.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 04:24:54 +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 aeb736599d Bug 686400 - Add function to nsCoreUtils for display: contents. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D40131

--HG--
extra : moz-landing-system : lando
2019-08-01 16:19:06 +00:00
Kannan Vijayan 3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
Marco Zehe b999f08200 Bug 1568360 - Don't calculate the accessible names for table or grid rows unless they have an explicit ARIA role, r=Jamie
Previously, we would always calculate the name for tr elements from their descendants unconditionally. Assistive technologies aren't using this information, moreover, it causes problems if the name gets too long, for example in layout tables.

We now only calculate the name if the tr element has an explicit ARIA role.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 09:14:55 +00:00
James Teh dc0f1ef531 Bug 1566324 part 2: Respect shadow DOM for aria-activedescendant. r=eeejay
Previously, the target element for aria-activedescendant was retrieved by calling GetElementById on the owner document.
This meant that aria-activedescendant inside shadow DOM looked for ids in the owner document instead of the shadow DOM.
To fix this, use IDRefsIterator::GetElem instead.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 20:44:18 +00:00
James Teh 1ace808723 Bug 1568163: Don't return proxy wrappers from OuterDocAccessible::ChildAtPoint with eDeepestChild to prevent crashes when hit testing via XPCOM. r=yzen
On Windows, OuterDocAccessible::GetChildAt can return a proxy wrapper for a remote document.
These aren't real Accessibles and shouldn't be returned except to the Windows a11y code (which doesn't use eDeepestChild).
Calling ChildAtPoint on these will crash!
Therefore, just return null in this case.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:32:22 +00:00
Noemi Erli 2f99f5d875 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-16 00:48:17 +03:00
Mirko Brodesser 2f40f072ab Bug 1565584: move `nsIContentUtils::ContentIsDescendantOf` to `nsINode::IsInclusiveDescendantOf`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37880
2019-07-15 10:02:21 +02:00
Boris Zbarsky 374137e8d8 Bug 1565767 part 5. Remove some unnecesary refcounting at nsIContent::GetBaseURI callsites. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D37973

--HG--
extra : moz-landing-system : lando
2019-07-15 18:29:05 +00:00
Mirko Brodesser 6b67de025f Bug 1562876: rename `Selection::RemoveRange` to `Selection::RemoveRangeAndUnselectFramesAndNotifyListeners`. r=smaug
The name of the corresponding webidl interface of course remains unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D36607
2019-07-03 13:26:14 +02:00
Mirko Brodesser 63b4627d28 Bug 1562876: rename `Selection::AddRange` to `Selection::AddRangeAndSelectFramesAndNotifyListeners`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36602
2019-07-03 13:26:13 +02:00
Cameron McCormack 0a6fb940c5 Bug 1553705 - Use a cheaper to compute state key for parser inserted form controls. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32259

--HG--
extra : moz-landing-system : lando
2019-07-01 10:06:16 +00:00
Narcis Beleuzu cc10ed7ce5 Backed out 2 changesets (bug 1553705) for causing Bug1562142 . CLOSED TREE
Backed out changeset fbb26a04ec1f (bug 1553705)
Backed out changeset dd6e7c0970d5 (bug 1553705)
2019-06-29 02:39:01 +03:00
Cameron McCormack 4d1517b69f Bug 1553705 - Use a cheaper to compute state key for parser inserted form controls. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32259

--HG--
extra : moz-landing-system : lando
2019-06-26 21:44:11 +00:00
James Teh 788fa105b8 Bug 1558390: For OOP iframes, also send the embedder accessible when the BrowserBridgeChild is created. r=yzen,nika
Previously, BrowserBridgeChild::SendSetEmbedderAccessible was only called when an OuterDocAccessible was constructed.
However, it's also possible that the BrowserBridgeChild is created *after* the OuterDocAccessible.
Therefore, we must also do this when a BrowserBridgeChild is created if the OuterDocAccessible already exists.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 02:19:42 +00:00
Andreea Pavel ab94a895b6 Backed out changeset b5df002db72c (bug 1558390) for build bustages on a CLOSED TREE 2019-06-13 03:33:45 +03:00
James Teh 98c9b833d0 Bug 1558390: For OOP iframes, also send the embedder accessible when the BrowserBridgeChild is created. r=yzen,nika
Previously, BrowserBridgeChild::SendSetEmbedderAccessible was only called when an OuterDocAccessible was constructed.
However, it's also possible that the BrowserBridgeChild is created *after* the OuterDocAccessible.
Therefore, we must also do this when a BrowserBridgeChild is created if the OuterDocAccessible already exists.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 14:57:40 +00:00
Brendan Dahl da359a0016 Bug 1558686 - Enable XUL default button behavior for any doc that allows XUL. r=Jamie
Fixes test 'accessible/tests/mochitest/relations/test_general.xul' when
loaded as XHTML.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 03:16:33 +00:00
James Teh c0a638e74c Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay,yzen
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

As part of this, we no longer try to send the parent COM proxy during construction of an OuterDocAccessible in the parent process.
This was previously a no-op anyway, as DocAccessibleParent::SendParentCOMProxy called DocAccessible::GetAccessible for the frame element, which would have returned null because the accessible isn't bound to the document until *after* it is constructed.
Changing this to directly pass the OuterDocAccessible was causing assertions in content processes, since it sometimes meant the parent COM proxy was sent twice, which is precisely what the assertion is protecting against.
Instead, the parent proxy is sent in Browserparent::RecvPDocAccessibleConstructor as it always was.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 14:29:37 +00:00
Noemi Erli d831a07840 Backed out 4 changesets (bug 1553706, bug 1543313) for failures in DocAccessibleChild.cpp
Backed out changeset 1a8bea02205d (bug 1553706)
Backed out changeset 15f3e6bb3ba9 (bug 1543313)
Backed out changeset 30b106088985 (bug 1543313)
Backed out changeset 85d11dab6b63 (bug 1543313)
2019-05-31 06:24:44 +03:00
James Teh 381c2b2f93 Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 06:14:24 +00:00