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

6877 Коммитов

Автор SHA1 Сообщение Дата
James Teh 83a22d7047 Bug 1448091 part 2: AccessibleHandler: Don't repeatedly and unnecessarily refresh the cache after the first change. r=MarcoZ
The singleton AccessibleHandlerControl maintains a global cache generation counter which is incremented whenever any node is changed.
The handler for each node tracks the cache generation at the time its cache was initialized.
To check whether the cache needs to be updated, the handler compares its generation against the global generation from AccessibleHandlerControl.
If they differ, it refreshes the cache.
Previously, the handler didn't update its cache generation after refreshing.
This meant that every single query after the first change would refresh the whole cache, even if there wasn't a second change.
This resulted in a huge number of wasted cache updates for clients such as JAWS which hold onto accessibles, rather than releasing them and fetching them again for each update.

MozReview-Commit-ID: 80d4n1cIjzQ

--HG--
extra : rebase_source : a0903ddb33eba5381a232a661deaa3754b92406f
2018-03-23 11:53:01 -04:00
James Teh 46dc3c27be Bug 1448091 part 1: Accessible HandlerProvider: Return an error if refreshing the cache fails. r=MarcoZ
BuildDynamicIA2Data can't return an HRESULT; failure is communicated by the fact that the unique id in the data is set to 0.
However, IGeckoBackChannel::Refresh returned S_OK even if BuildDynamicIA2Data failed.
We now check the unique id and return an appropriate error code if it's 0.
Among other things, this means that the handler will return an error when querying dead objects instead of returning stale cache data.

MozReview-Commit-ID: IorDRHCItD8

--HG--
extra : rebase_source : 1b3b8393309ccefac27d0228aa528cd6fa55ad35
2018-03-23 11:44:05 -04:00
James Teh ab44d98e0d Bug 1431256 correction: AccessibleHandler: Really return E_NOINTERFACE for IEnumVARIANT if there are no children. r=MarcoZ
A typo meant we were checking the address of mChildCount, not the value.

MozReview-Commit-ID: 7Hit3FBy9pr

--HG--
extra : amend_source : edb85b8e73184e47cd9ff42c0442f89d5f3c5152
2018-03-22 17:57:34 -04:00
Noemi Erli 1270a21724 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-23 01:00:18 +02:00
Emilio Cobos Álvarez e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez 5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
James Teh 25c5e06a69 Bug 1431256 part 4: Remove IEnumVARIANT from the AccessibleHandler payload. r=MarcoZ
Now that the handler implements IEnumVARIANT itself (and uses our own internal method to retrieve the children), caching this remote interface is pointless.

MozReview-Commit-ID: FyagiEcHMP2

--HG--
extra : rebase_source : 267568164fb46d98c8cde22dfbb4f36f2afceb8c
2018-01-19 11:40:42 +10:00
James Teh 4ce4f0dab8 Bug 1431256 part 3: AccessibleHandler: When a client requests children, fetch them optimally using a single cross-process call. r=MarcoZ
This implements IEnumVARIANT locally using the new method provided by HandlerProvider.
This avoids marshaling full objects for text leaf accessibles (instead using HandlerTextLeaf), which is much faster.
It also avoids a pointless cross-process call to IEnumVARIANT::Reset (and possibly IEnumVARIANT::Clone).
Finally, it caches children after the first query so that clients (such as UI Automation) which walk children one by one don't incur separate cross-process calls for every child.

MozReview-Commit-ID: KUIXQoXxInQ

--HG--
extra : rebase_source : a6c0a56c2bb65e227f7c45eb1b767e7df19efa49
2018-03-21 11:03:45 -04:00
James Teh 7603de4f18 Bug 1431256 part 2: AccessibleHandler: Implementation of IAccessible2 for text leaf accessibles using data provided in AccChildData. r=MarcoZ
For text leaf accessibles, the HandlerProvider::AllChildren property provides text and other necessary information in an AccChildData struct, rather than providing the full accessible object.
Therefore, we must provide a specific local implementation of IAccessible2 which answers queries based on the data provided in this struct.

MozReview-Commit-ID: 8BYMF59EoTe

--HG--
extra : rebase_source : 0cdc01158f7fd1a04b0751a0a1703f9aa03cbe4c
2018-03-21 10:56:11 -04:00
James Teh 39c71764d7 Bug 1431256 part 1: Accessible HandlerProvider: Implement a method to optimally retrieve all children in a single call. r=MarcoZ
When considering a large document, a huge number of the children we return are text leaf nodes.
Marshaling full objects is expensive, but for text leaf nodes, the client is only interested in the text and a few other pieces of information.
Therefore, rather than returning the full object for text leaf accessibles, we just return the text and other necessary information.
For other non-text children, we return the full object as usual.

In addition, clients normally use the IEnumVARIANT interface to retrieve children in a single call.
However, it doesn't allow you to specify a starting index.
Therefore, you must first call the Reset method to reset the starting point to 0.
Practically, this means an extra cross-process call whenever the caller fetches children.
When dealing with a large document, this can be a significant number of wasted calls.
This new method retrieves all children always starting at the first using a single call.

MozReview-Commit-ID: A9lc7BBTWdb

--HG--
extra : rebase_source : d50507c182ab7760c17c5e7bb9956f46a3dc188c
2018-03-21 10:08:53 -04:00
Boris Zbarsky bf1ef0641d Bug 1444143 part 10. Remove unnecessary QIs to Ci.nsIFrameLoader in JS. r=mystor
nsFrameLoader is on WebIDL bindings, so those QIs are no-ops anyway, unless the given object is no a frameloader to start with.

MozReview-Commit-ID: IPiW70H5NPc
2018-03-21 22:43:17 -04:00
Boris Zbarsky 29d232e53f Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor
MozReview-Commit-ID: 202nkbmkwfR
2018-03-21 17:39:04 -04:00
Samuel Thibault 127ee40c95 Bug 1445954 - atk: Fix getTextAfter/Before/AtOffset in character boundary case. r=surkov 2018-03-16 05:52:00 -04:00
arthur.iakab abcb47d8cc Merge inbound to mozilla-central. a=merge 2018-03-21 21:13:11 +02:00
Miko Mynttinen 65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
Adrian Wielgosik af8740d569 Bug 1447392 - Remove all members from nsIDOMNodeList. r=bz
MozReview-Commit-ID: 68xF7CTMpKB

--HG--
extra : rebase_source : 28b9c5e31d1c93b5c56743e12909eb749e8688f9
2018-03-20 19:02:08 +01:00
Sylvestre Ledru 67f287235a Bug 1446809 - Ride along: also remove some mobile/xul/ legacy declaration r=florian
MozReview-Commit-ID: 102syxweBN3

--HG--
extra : rebase_source : e742121c5d2090dcbd87eda3e0e0eaff0cdab0e3
extra : source : e6b888d19add6d0c60605e685f6263a86af97a9e
2018-03-19 10:43:17 +01:00
Csoregi Natalia fc0283f66c Backed out 10 changesets (bug 1446809) for failing on jsat/test_content_integration.html . CLOSED TREE
Backed out changeset 42146f3856d0 (bug 1446809)
Backed out changeset e6b888d19add (bug 1446809)
Backed out changeset 2293192557ef (bug 1446809)
Backed out changeset 643d30faeef8 (bug 1446809)
Backed out changeset 73639fbb3a61 (bug 1446809)
Backed out changeset df179cf0797d (bug 1446809)
Backed out changeset 04c46f107d24 (bug 1446809)
Backed out changeset 9b98c5aad44c (bug 1446809)
Backed out changeset 347d7259df0f (bug 1446809)
Backed out changeset 2a350e323713 (bug 1446809)
2018-03-21 11:17:38 +02:00
Sylvestre Ledru a9678b1e63 Bug 1446809 - Ride along: also remove some mobile/xul/ legacy declaration r=florian
MozReview-Commit-ID: 102syxweBN3

--HG--
extra : rebase_source : c0d2f05dd5fca7a1d67001847042ded93016fd26
extra : histedit_source : dbce0cd3244708fb3ab09254dcfd07ec69dbdd67
2018-03-19 10:43:17 +01:00
Sylvestre Ledru 0cdbcfd5ac Bug 1446809 - Remove some b2g leftover in accessible/ r=surkov
MozReview-Commit-ID: KXg0kOCHbwQ

--HG--
extra : rebase_source : 546208b106970d36692cf8f3c7edcc08ff2fa649
extra : histedit_source : a97d2ab4fb4b6a4b47fb856cb9edd1edb970c59b
2018-03-18 19:26:28 +01:00
Samuel Thibault 6f09cb80ba Bug 1445968 Accessible: factorize and optimize testing for password role r=surkov
--HG--
extra : rebase_source : 5f945bab6c2c86d059893082f9f04d6ac4492f73
2018-03-16 13:02:00 +02:00
Emilio Cobos Álvarez 48957d62c0 Bug 1446954: Cleanup !stylo and styloVsGecko test expectations. r=xidorn
MozReview-Commit-ID: J2glxiCWBVn
2018-03-20 11:29:51 +01:00
Boris Zbarsky 89ea512161 Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot
We can't include MouseEventBinding.h in MouseEvents.h because that produces
this include loop:

MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> MouseEventBinding.h

MozReview-Commit-ID: 6FNksGil7uD
2018-03-20 00:16:06 -04:00
Boris Zbarsky 2f66e620e3 Bug 1446533 part 12. Remove nsIDOMCharacterData. r=mystor
MozReview-Commit-ID: KXex3Rjcire
2018-03-19 15:47:42 -04:00
Samuel Thibault 39ed413777 Bug 1346535 - atk: Introduce U+FEFF characters to match AT-SPI offsets with DOM offsets. r=surkov, r=dbaron 2018-03-16 15:57:00 -04:00
James Teh 7e1997102b Bug 1444851 - a11y::HandlerProvider: Clear the interceptor target reference when disconnecting remotes. r=aklotz
If a handlerProvider call is pending on another thread, CoDisconnectObject won't release this HandlerProvider immediately.
However, the interceptor and its target might be destroyed.

MozReview-Commit-ID: 75SyPMIpit0

--HG--
extra : amend_source : a80f50f754c9be171e9262b13136e95005bc62af
2018-03-19 11:03:18 +02:00
Tooru Fujisawa 1adba8c1fc Bug 1442465 - Part 4.2: Stop unnecessarily awaiting on BrowserTestUtils.removeTab (simple part). r=dao 2018-03-19 11:16:45 +09:00
Aaron Klotz 0db58e8c1e Bug 1446280: Ensure a11y::SetInstantiator only runs once; r=eeejay
--HG--
extra : rebase_source : 384dc706b72ff9a9f73da261bc441e60083ed266
2018-03-16 12:23:46 -06:00
Dorel Luca 17320c327a Backed out changeset a66043ecf949 (bug 1346535) for build bustages 2018-03-17 00:08:00 +02:00
Samuel Thibault 57a8fb9615 Bug 1346535 atk: Introduce U+FEFF characters to match AT-SPI offsets with DOM offsets r=surkov 2018-03-16 05:11:00 +02:00
Kris Maglione de97dac4da Bug 1443964: Follow-up: Remove no-cpows-in-test rule from files listed in .hgignore. r=bustage
MozReview-Commit-ID: GctiWN0Y9XO

--HG--
extra : rebase_source : 62958563eddf970f8be917032dda8cdaa969157f
2018-03-16 12:40:59 -07:00
Sylvestre Ledru fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Dão Gottwald b408bbc765 Bug 1445572 - Rename mCurrentTab / mCurrentBrowser to _selectedTab / _selectedBrowser. r=jaws
MozReview-Commit-ID: IjH4bFnf5FA

--HG--
extra : rebase_source : 4e5e2d3bab9f9555ccf9265131516dd4bfb22d2e
2018-03-14 09:59:06 +01:00
Nicholas Nethercote d41188c796 Bug 1445117 - Remove duplicates from nsGkAtoms. r=froydnj
In each case, the atom had an obvious name and a weird name. Where possible, I
kept the obvious name and commented out the weird name, viz:

- `mixed` over `_mixed` for "mixed"
- `el` over `el_` for "el"
- `other` over `other_` for "other"
- `remote` over `Remote` for "remote"

But for several of them I didn't do that, because the weird name is used
within the HTML5 parser -- which is a huge pain to modify because it involves
code generated by code from another repo -- so I kept the weird name and
commented out the obvious name, viz:

- `list_` over `list` for "list"
- `svgSwitch` over `_switch` for "switch"
- `set_` over `set` for "set"

MozReview-Commit-ID: Jp3CpdWXNDm

--HG--
extra : rebase_source : 421ce5316772f1951488307e81f2ceee696d363d
2018-03-14 10:27:25 +11:00
Trisha d8d2ae0cd5 Bug 1442280 - Replaced aAccessible->Role() with Accessible::IsTable()method. r=surkov 2018-03-13 15:56:03 +08:00
Tokio Kajitsuka de03ee873d Bug 865615 - Remove Accessible::DOMNode. r=surkov
Replace Accessible::DOMNode with Accessible::GetNode version

--HG--
extra : rebase_source : c8b2480e3ec521afbc3979d6932b6876c85796b5
2018-03-23 00:52:14 +09:00
David Major 524a6c226d Bug 1324110: Add braces to initialization in ProxyAccessible.cpp to appease clang-cl. r=Jamie 2018-03-22 14:20:56 -04:00
Narcis Beleuzu 298d1d55b5 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-13 12:36:54 +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
Noemi Erli ac0a30f58c Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-13 01:16:04 +02:00
Dão Gottwald 3a59da2e31 Bug 1444891 - Remove the statuspanel binding. r=jaws
MozReview-Commit-ID: KcpOYuObiNG

--HG--
extra : rebase_source : 6784b6b8ae7d9615fedfc6e4bb7ac2d27c297f72
2018-03-12 20:47:31 +01:00
Nabeel Ahsen c8354affda Bug 1436961 - Remove obsolete XPCOMUtils.jsm imports in accessible/jsat/. r=dao
MozReview-Commit-ID: 4NBiYQkz5wb
2018-03-11 14:08:55 -05:00
L. David Baron 6ecac72ef7 Bug 1444633: Include nsString.h in TextAttrs.h. r=dholbert 2018-03-11 21:34:13 -07:00
Tom Ritter f572733682 Bug 1444169 Fix capitalization for a few Windows files r=aklotz
MozReview-Commit-ID: BlWgIVobOBK

--HG--
extra : rebase_source : 71a8052c562aa7be510e3a4c13a0ca698a04a5ac
2018-03-08 14:49:59 -06:00
Dorel Luca 30edeead7c Merge mozilla-central to mozilla-inbound. a=merge 2018-03-09 12:01:54 +02:00
Yura Zenevich 5a5a814950 Bug 1443871 - ensure eXPCOM consumer flag is always set if the service still exists. r=surkov
MozReview-Commit-ID: 8BYRPqH7jvq
2018-03-09 00:50:28 -05:00
Yura Zenevich 7f105867c2 Bug 1443150 - unset doc accessible's document node at the very end of its shutdown. r=surkov
MozReview-Commit-ID: FoSaZ7lkk6G
2018-03-09 00:47:08 -05:00
Yura Zenevich f1493ab792 Bug 1444003 - remove shutdown timer when xpcAccessibleService's refcount grows over 1. r=surkov
MozReview-Commit-ID: 8qQWdRkE1tb
2018-03-09 00:45:15 -05:00
Timothy Guan-tin Chien 686d0472da Bug 1442800 - Let New_Accessible take Element instead of nsIContent r=surkov
The passed nsIContent is always an Element.

MozReview-Commit-ID: IMvWuK6MIra

--HG--
extra : rebase_source : 520c6ea9d3bd90e480224315e0fc0ce7e5b7db27
2018-03-06 13:47:43 -08:00