Commit Graph

6349 Commits

Author SHA1 Message Date
Eitan Isaacson
94ba765cd7 Bug 1372315 - Encode data URIs to base64 in accessibility browser tests. r=surkov 2017-06-12 14:37:50 -07:00
Aaron Klotz
da19e2296f Bug 1354077: Modify a11y platform initialization to select and enable appropriate IAccessible manifest; r=eeejay
MozReview-Commit-ID: 1ODOm4Vc4UH

--HG--
extra : rebase_source : 6bac99f6e5e6318cf856f860edb373930979c92a
2017-06-06 12:19:17 -06:00
Aaron Klotz
05e5a2e310 Bug 1354077: Add manifests for IAccessible variants: 32-bit and 64-bit; r=jimm
MozReview-Commit-ID: CoHASAsg5tf

--HG--
extra : rebase_source : 84e30f4601c5f628cc731e1796601381cc012b6c
2017-06-06 12:19:12 -06:00
Sebastian Hengst
e960099899 Backed out changeset 76fcf40c564b (bug 1369890) for failing accessible/tests/browser/e10s/browser_caching_name.js on Linux and accessible/tests/browser/scroll/browser_test_zoom_text.js on Windows 7. r=backout 2017-06-12 19:47:24 +02:00
Eitan Isaacson
9646ac5454 Bug 1369890 - Port mochitest/scroll/test_zoom_text.html to browser test. r=surkov 2017-06-12 09:17:00 -07:00
Ryan VanderMeulen
926bfc8d2c Bug 1372221 - Set containerElm only if A11Y_LOG is defined. r=davidb 2017-06-12 10:13:05 -04:00
Eitan Isaacson
640e7d56aa Bug 1371698 - Don't run a11y+e10s tests on release branches of Windows. r=RyanVM 2017-06-10 11:38:00 -04:00
Aaron Klotz
230ddb60a5 Bug 1368571: Modify handler and interceptor marshaling code so that it strips out any handlers from proxies that are destined for non-Gecko processes; r=jimm
MozReview-Commit-ID: A1lCqvbQYAF

There is no clean API-based solution to this, so instead I went grovelling
through the DCOM wire protocol and was able to write a function that converts
handler OBJREFs into standard OBJREFs.

See also:
https://msdn.microsoft.com/en-us/library/cc226801

--HG--
extra : rebase_source : a650055c4adda3a1d99262e47f2b463074c6b935
2017-06-06 17:35:51 -06:00
Aaron Klotz
e4ffc15186 Bug 1367715: Check for IClientSecurity in a11y QueryInterface implementations; r=surkov
MozReview-Commit-ID: FwGEq5GLom1

--HG--
extra : rebase_source : 73e2e1e494e75cb1126583ca947208025a533690
2017-05-31 16:07:30 -06:00
Jim Mathies
10b72ec89d Bug 1309271 - Fire accessibility focus events from focused content elements when focus changes from chrome to content. r=surkov
MozReview-Commit-ID: 5Iu2TQ58kGa
2017-06-06 06:09:01 -05:00
Mark Banner
c93c2a1504 Bug 1370240 - Enable the ESLint no-control-regex rule across mozilla-central. r=mossop
MozReview-Commit-ID: IN7YMk7yhAO

--HG--
extra : rebase_source : be0a9cae6eae14d4f097eced2e231a96c89c9c47
2017-06-05 15:43:09 +01:00
Eitan Isaacson
6c98e296e9 Bug 1368182 - Port non-e10s compatible parts of states/test_visibility.html to browser test. r=surkov 2017-06-03 20:15:02 -07:00
Eitan Isaacson
b5e156f5c2 Bug 1368103 - Use DOM doc visibilityState to determine if a tab is hidden. r=surkov 2017-06-03 20:15:01 -07:00
Jan de Mooij
d2c775856a Bug 1358135 part 1 - Fix some browser tests to trigger a shrinking GC instead of a normal GC. r=jonco 2017-06-03 17:29:17 +02:00
Marco Zehe
931d366473 Bug 1349835 Part 2 - Test that an input of type checkbox or radio with -moz-appearance:none; creates correct accessibles, r=surkov
MozReview-Commit-ID: GIWH6HYoGDq

--HG--
extra : rebase_source : d77cda68fc24fcb02c845b4e3b079e1d2bf6240e
2017-06-02 14:05:44 +02:00
Jim Mathies
d99ea037ac Bug 1309271 - Patch to cleanup nesting and updated comments per review nits. r=surkov
MozReview-Commit-ID: CKwg9xsXl7G
2017-06-13 06:44:55 -05:00
Joanmarie Diggs
493e3be69d Bug 1376107 - Fix macOS AXRoleDescription for DPub ARIA AXLandmarkRegion. r=marcoz
DPub ARIA AXLandmarkRegion-maped roles should have an AXRoleDescription
value of "region"; not "group." This requires an explicit mapping, which
was not done during the initial implementation. No new test cases because
we currently have no means to test platform-accessibility-API mappngs via
mochitest.
2017-06-24 07:15:00 +02:00
Joanmarie Diggs
7fb0a768f2 Bug 1376037 - Expose element id via NSAccessibility. r=marcoz
Use the attribute name "AXDOMIdentifier" to be consistent with what
is done in WebKit and Blink.
2017-06-23 16:19:00 +02:00
Joanmarie Diggs
a03e7d2680 Bug 1376108 - Fix macOS mapping for ARIA separator role. r=marcoz
According to the Core Accessibility API Mappings 1.1 spec, on macOS,
the separator role should have AXRoleDescription "splitter" and no
subrole. The incorrect AXRoleDescription is due to the subrole mapping
to AXContentSeparator. Thus removing the latter fixes the former.
2017-06-24 08:18:00 +02:00
Rajesh Kathiriya
fafb858b26 Bug 1370225 - Enabled the ESLint comma-style rule across mozilla-central. r=standard8
MozReview-Commit-ID: 9OhLgBpYS4L

--HG--
extra : rebase_source : 5155e715934e7acd2ffadb4856eb91f481cbf56c
2017-06-15 18:24:17 +01:00
Mats Palmgren
a1f37b1e8f Bug 1349835 - Create accessibles for <input type=checkbox/radio> with -moz-appearance:none. r=surkov
MozReview-Commit-ID: Cot3jyZBdpU
2017-05-31 21:29:49 +02:00
Christoph Kerschbaumer
7c190eb1cc Bug 1363975 - Have loadOneTab() tests provide the correct triggeringPrincipal. r=gijs 2017-05-31 20:36:43 +02:00
Ryan VanderMeulen
2fbcb8b3bb Merge m-c to inbound. a=merge 2017-05-30 16:09:45 -04:00
Ryan VanderMeulen
bd262b8cd1 Merge inbound to m-c. a=merge 2017-05-30 16:09:14 -04:00
Ryan VanderMeulen
af691573d4 Merge m-c to autoland. a=merge 2017-05-30 12:59:41 -04:00
Eitan Isaacson
f1d5ed7c8b Bug 1367486 - Fix eslint errors on a CLOSED TREE 2017-05-30 11:34:06 -07:00
Eitan Isaacson
cbc10fc587 Bug 1367486 - Move failing part of states/test_link.html to browser test. r=surkov 2017-05-30 10:57:01 -07:00
Eitan Isaacson
8dc2d56240 Bug 1367486 - Move common js stuff down in a11y broswer tests. r=surkov
MozReview-Commit-ID: GDDP0BpjRAv


--HG--
rename : accessible/tests/browser/e10s/events.js => accessible/tests/browser/events.js
2017-05-30 10:57:01 -07:00
dbolter
a3cffe12d0 Bug 1368121 - Remove telemetry for a11y update time. r=eeejay 2017-05-26 14:03:57 -04:00
Christoph Kerschbaumer
7c3421e842 Bug 1363977 - Have loadTabs() tests provide the correct triggeringPrincipal. r=gijs,kit 2017-05-29 17:57:08 +02:00
Carsten "Tomcat" Book
96eb17dd36 Backed out changeset 59567c6c1e71 (bug 1357386) for landing with wrong bugnumber 2017-05-30 08:51:40 +02:00
Christoph Kerschbaumer
c1c050e55c Bug 1357386: Have loadTabs() tests provide the correct triggeringPrincipal. r=gijs,kit 2017-05-30 08:30:50 +02:00
Dan Banner
ea09f270ab Bug 1368041 - Enable no-array-constructor across mozilla-central r=standard8
MozReview-Commit-ID: EXJNufdKKhJ

--HG--
extra : rebase_source : 66d17c7981c4b0987c482ce092b25990b42c07fb
2017-05-27 15:17:29 +01:00
tiago
95d9608ba4 Bug 1367198 - Remove duplicate ESLint rule definitions from various .eslintrc.js files. r=standard8
MozReview-Commit-ID: AUz5l7XPfwY

--HG--
extra : rebase_source : 2cb4758cdf51765fc61fbc6795fcd7bc85ef67bf
2017-05-24 13:55:24 -03:00
Eitan Isaacson
f0c56bf2da Bug 1367255 - Switch a11y browser tests to async/await. r=surkov
MozReview-Commit-ID: 4ptIIDckcqg
2017-05-24 12:20:45 -07:00
Aaron Klotz
5bed0344a5 Bug 1365073: Modify sdnAccessible to always generate unique IDs using AccessibleWrap's scheme even when it is not associated with an accessible; r=tbsaunde
MozReview-Commit-ID: 8uhDATEKfQ

--HG--
extra : rebase_source : 45545f98fa4c8c73039695adabeefa9c61b5e96c
extra : histedit_source : a31956c56f86336dc70789dd5ae09d637f14166d
2017-05-15 17:28:57 -06:00
Aaron Klotz
6d37fc005d Bug 1361879: Ensure that sdnAccessible holds a strong reference to its creating AccessibleWrap if it was instantiated as a tearoff; r=tbsaunde
MozReview-Commit-ID: CCgwa7BHUBK

--HG--
extra : rebase_source : 974cadff7b42e3b38ba547b85792b00ebb12aecf
extra : histedit_source : 56a8ed517994bafc02594ba2d9fbf014b47b89da%2C9c63efae8b6a3e056b76c788b6a3f21ddbd27972
2017-05-23 14:40:04 -06:00
Aaron Klotz
570cbae5c4 Bug 1364544: Ensure that proxied CARET_MOVED and FOCUS events update the Win32 system caret before firing their WinEvents; r=eeejay
MozReview-Commit-ID: LVML7EZaSYD

In non-e10s AccessibleWrap::HandleAccEvent, we special case our handling of
CARET_MOVED and FOCUS events with a call to UpdateSystemCaretFor. In e10s mode
we were not doing the same thing for proxied events sent from content. This
threw JAWS for a loop and presumably messes up other ATs as well.

This patch modifies the IPDL messages for these two events so that we may
send the caret rect along with the event, thus allowing us to update the
system caret for proxied events as well.

--HG--
extra : rebase_source : e1502c12b038739520afd5c7078d011e25ea669e
2017-05-15 14:11:46 -06:00
David Parks
cff8d258a2 Bug 1330484 - Part 2: Remove invalid assert that checked that removed a11y child documents have no children. r=jimm
Here is a scenario under which the assert is invalid:

RecvHideEvent is received on a DocAccessibleParent DAP1 that has a child document DAP2... that in turn has a child document DAP3.  DAP1::RecvHideEvent calls Shutdown on its root ProxyAccessible.  This recursively calls Shutdown on child ProxyAccessibles until it reaches the one that is the parent of the child document DAP2.  ProxyAccessibleBase::Shutdown then attempts to Unbind DAP2, which calls DAP1::RemoveChildDoc, which trips the assert because DAP2 has child document DAP3.
2017-05-22 02:39:11 -07: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
Mark Banner
0ce286101c Bug 1359011 - Make the mozilla/recommended eslint configuration the default for the whole tree. r=mossop
MozReview-Commit-ID: HtUW43tCli1

--HG--
extra : rebase_source : 6496bc47860d9c1ab522a78e73b41550700021cb
2017-04-25 20:12:21 +01:00
Alexander Surkov
5abc773740 Bug 1363027 - keep removing accessible alive during event coalescence, r=davidb 2017-05-12 14:02:15 -04:00
Wes Kocher
3b736de62a Merge m-c to inbound, a=merge
MozReview-Commit-ID: ADbja7mAY4s
2017-05-11 17:41:11 -07:00
Aaron Klotz
0c505ba983 Bug 1363887: Use nsAutoHandle for CreateBitmap call in AccessibleWrap::UpdateSystemCaretFor; r=tbsaunde
MozReview-Commit-ID: CbLqtqMEw32

--HG--
extra : rebase_source : 44a96fef761917b09f96f5a46be94327df504e67
2017-05-10 16:04:05 -06:00
Mark Banner
2bf9485071 Bug 1362947 - Upgrade eslint-plugin-html to 2.0.3 to pick up --fix support. r=jaws
MozReview-Commit-ID: 5fVG7akPnGM

--HG--
extra : rebase_source : e462e84bf8f2ffd893d1fd6b5ea14bbc093168dd
2017-05-08 10:29:47 +01:00
Carsten "Tomcat" Book
d66b9f27d5 merge mozilla-inbound to mozilla-central a=merge 2017-05-10 15:07:28 +02:00
Alexander Surkov
6737b53749 Bug 1363027 - diagnostic asserts for Accessible::RemoveChild, r=davidb 2017-05-09 15:56:41 -04:00
Tom Tromey
c24d78e194 Bug 1334304 - use MOZ_FORMAT_PRINTF in accessible/base/Logging.h; r=surkov
MozReview-Commit-ID: 5cpxhepA7br

--HG--
extra : rebase_source : f865188eaf0a40fd5cddec4a61e117e0014cbcb9
2017-05-03 14:47:35 -06:00
Mark Banner
23f885d2be Bug 1360166 - Clean up global handling for accessible/tests/. r=surkov
Now that we inherit the recommended configurations, many definitions are handled semi-automatically.

MozReview-Commit-ID: 1H2MXzk6VdQ

--HG--
extra : rebase_source : 25e9e8b9a9f62d4e22873998ff4532fbcbe2e367
2017-04-27 12:07:04 +01:00
Mark Banner
f682c34d06 Bug 1360166 - Remove duplicated rules in accessible/tests/browser/.eslintrc.js (already in recommended.js). r=surkov
MozReview-Commit-ID: Vcacy2HEwj

--HG--
extra : rebase_source : defe73462a8fae3ec5fd9b2ccc6b00ad70ceca6e
2017-04-27 11:57:13 +01:00
Mark Banner
3e354c3b34 Bug 1360166 - Make accessible/ ESLint rules inherit from the mozilla/recommended configuration. r=surkov
MozReview-Commit-ID: GJs25x7vNgZ

--HG--
extra : rebase_source : 6f1c650a50f638dddf8b774931931d226ebbe26d
2017-04-27 11:53:38 +01:00
Alexander Surkov
0e96856c5e Bug 1361770 - todo mochitest for aria-owns element removed from DOM, r=davidb, marcoz 2017-05-08 09:17:48 -04: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
1eef9e9b1e Bug 1355488 - fix aria-owns on a document, r=davidb 2017-05-03 10:50:33 -04:00
Wes Kocher
5b73758a65 Merge m-c to inbound, a=merge
MozReview-Commit-ID: ILz91Vj4gT5
2017-05-02 17:39:58 -07:00
Trevor Saunders
dcced28484 bug 1348148 - try and avoid firing load events on unloaded documents r=davidb
It is awkward to need to have a DocAccessibleChild to send events with before
DocAccessible::DoInitialUpdate() is called because we might not have a
TabParent for the document until then.  However we could try to fire reload
events on documents before DoInitialUpdate() was called which would require
having a DocAccessibleChild there to send the load event to the parent process.

However before DocAccessible::DoInitialUpdate() is called the document already
has a pending load event.  If a document hasn't yet been the subject of a load
event it doesn't make a lot of sense to fire a reload event for that document,
      and then the initial load event.  So it should be safe to skip firing
      reload events for documents where mLoadEvent specifies a load event to
      fire in the future.
2017-05-02 13:34:40 -04:00
David Parks
1810e88c32 Bug 1359129 - Use the most recent RootDocAccessible when delaying DocAccessibleChild messages. r=aklotz
We sometimes briefly have more than one root DocAccessible associated with a TabChild, for example, while navigating links in a page.  This patch makes sure that we use the correct accessible when delaying messages that we forward to the parent process.
2017-05-01 14:04:55 -07:00
Emilio Cobos Álvarez
e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Carsten "Tomcat" Book
2a74ba4261 Merge mozilla-central to autoland 2017-05-02 11:23:38 +02:00
Emilio Cobos Álvarez
23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Wes Kocher
2c32bb6724 Backed out changeset 5c2e089e2163 (bug 1332444) for causing bug 1360402 a=backout
MozReview-Commit-ID: 6JCqiMZePxX
2017-04-27 17:37:00 -07:00
Aaron Klotz
775a8cfe8d Bug 1310056: Compatibility hack for mitigating RPC_E_CANTCALLOUT_ININPUTSYNCCALL; r=davidb
MozReview-Commit-ID: MralbBmln2
2017-04-20 15:30:28 -06:00
Aaron Klotz
9486c543ca Bug 1332444: Backed out changesets 87ee57647e0b and f04c1c83233c for causing bug 1354077; r=backout
MozReview-Commit-ID: Dxu4Oo8sAfc

--HG--
extra : rebase_source : d8e808199f776ef97ce93dd961adb5cef6eb64bc
extra : amend_source : d186cec81e82b2cb35a3da2f1e3ef1b61c51cff3
extra : histedit_source : 7b2f8c4d14fd46f969c67ee4bbf3137f5f09c541%2C67ced226f779fa554a7aa8bbd052d2e372d08005
2017-04-27 16:05:23 -06:00
Carsten "Tomcat" Book
e1e203f1f5 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Masatoshi Kimura
a4c9e326d4 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa

--HG--
extra : rebase_source : 263b18d1736b09bb62d914f066481281966b288c
2017-04-25 07:33:13 +09:00
Alexander Surkov
54cc70d50a Bug 1353094 - simplify the logic of accessible subtrees removal, r=davidb 2017-04-25 14:02:41 -04:00
Chris Peterson
7b85322694 Bug 1358949 - Lower eslint cyclomatic complexity threshold in some directories. r=standard8
We can lower the eslint cyclomatic complexity threshold in some directories without adding eslint suppression comments in any .js source files. We need to specify the complexity rule in accessible/.eslintrc because it doesn't inherit the mozilla/recommended rules. eslint's default complexity threshold is 20.

Also bump the eslint-plugin-mozilla version because we modified the mozilla/recommended rules.

MozReview-Commit-ID: 57T4gAjPH7z

--HG--
extra : rebase_source : 4565abfa722b9459cfb4e006e843da13ed7cffd4
extra : intermediate-source : 658588564c08c9fd5e60633d1457f24087de8570
extra : source : 7e0526e3b943419a80c0cd2fa462cabbf8925eb1
2017-04-23 19:23:18 -07:00
Chris Peterson
893e00d283 Bug 1358947 - Make eslint "max-nested-callbacks" rule an error. r=standard8
eslint's default max-nested-callbacks threshold is 10, but now we make it an error. We could further lower the max-nested-callbacks threshold globally to 8, like browser/.eslintrc.js, but that would require adding suppression comments in (two) more .js test files. 10 seems good enough for now since it's the eslint default.

We need to specify max-nested-callbacks in accessible/.eslintrc because it doesn't inherit the mozilla/recommended rules.

Also bump the eslint-plugin-mozilla version because we modified the mozilla/recommended rules.

MozReview-Commit-ID: JA41vsi4U7j

--HG--
extra : rebase_source : 2dd211ebd3b8cf83f67f26cac5244bec8978f0e2
extra : intermediate-source : 6f5e75502be394038543029e3cfd474c5b1c2e98
extra : source : a13437d73c97fabd073ab8a6f93e85a5084b7405
2017-04-21 23:00:26 -07:00
Chris Peterson
a490701ed6 Bug 1358948 - Remove redundant eslint "no-spaced-func" rules and standardize on new "func-call-spacing" name. r=standard8
The "no-spaced-func" name was deprecated in ESLint v3.3.0 and replaced by "func-call-spacing", which is already specified in the mozilla/recommended rules and some other .eslintrc.js files. We need to specify func-call-spacing in accessible/tests/browser/.eslintrc.js because it doesn't inherit the mozilla/recommended rules.

MozReview-Commit-ID: 7L8fuVtTu0X

--HG--
extra : rebase_source : 9cbd3717e6360d47b1a4589e8d5658ccf4bcba59
extra : intermediate-source : 61d723ca5f9b4dd9a22f2956c2f49d998e9db6c9
extra : source : e589244b9db5a744166ed151ff3e2e77432fdb04
2017-04-23 19:40:28 -07:00
Florian Queze
4b1556a5f2 Bug 1355056 - replace (function(args) { /* do stuff using this */ }).bind(this) with arrow functions, r=jaws. 2017-04-27 00:25:45 +02:00
Aaron Klotz
369e5eb9f0 Bug 1357967: Include mozilla-config.h in HandlerData.idl so that we have access to configured preprocessor defines; r=jimm
MozReview-Commit-ID: LWaxhDzq2ge

--HG--
extra : rebase_source : de6e88530e8c4ff6a8b43120a0fa9a944c643d84
2017-04-19 19:06:53 -06:00
Aaron Klotz
92ce20591b Bug 1357194: Use MOZ_UPDATE_CHANNEL to distinguish between local/nightly and beta/release builds for AccessibleHandler CLSIDs; r=mhowell,mshal
MozReview-Commit-ID: Kp8x5o66nrY

I want AccessibleHandler.dll to use different UUIDs based on release channel.
The way I was doing it before wasn't working correctly because I also wanted
local builds to have their own set of UUIDs vs our regular Nightly/Beta/Release
builds.

I also want the beta channel to have its own set of UUIDs that are distinct
from release.

I'm using MOZ_UPDATE_CHANNEL to distinguish between the channels when
NIGHTLY_BUILD and BETA_OR_RELEASE are insufficient.

--HG--
extra : rebase_source : 8cb28a22a3cac16fb743a8fe81db5e120c1fdf6d
2017-04-17 14:47:41 -06:00
David Parks
6a3359a108 Bug 1326084 - Unbind accessible child doc before replacing with new one. r=trevor
We need to update mChildDocs on child document removal.  This also cleans up some code related to setting a new child doc when one is already set -- we now assert that this cannot happen.
2017-04-07 13:26:45 -07:00
Aaron Klotz
4978c3cc95 Bug 1322532: Platform a11y changes to enable handler-based live regions; r=tbsaunde
MozReview-Commit-ID: nNPvBy3ZGO

--HG--
extra : rebase_source : 8c9f9e7a07e1e2268d922574273a3d65919513a7
2017-04-13 20:35:32 -06:00
Aaron Klotz
6302f1af4a Bug 1322532: Add sync text event to PDocAccessible; r=tbsaunde, r=billm
MozReview-Commit-ID: AFZMYghoOHe

--HG--
extra : rebase_source : 2364cf4a5ecaaceda151e16df170aebb77ae55e9
2017-04-13 17:08:42 -06:00
Aaron Klotz
c06b376e9a Bug 1322532: Move a11y retrieval of native window handle to DocAccessibleChild; r=yzen
MozReview-Commit-ID: DwLBfAQJkRJ

--HG--
extra : rebase_source : 8ca53e9c4882ce9053e9a36428fed503ebe8919c
2017-02-21 11:27:33 -07:00
Aaron Klotz
ba24d548f9 Bug 1322532: Add support for live regions to the com handler dll; r=tbsaunde
MozReview-Commit-ID: 1JPaUw5PrxU

--HG--
extra : rebase_source : e74cf6b3a2e9d78a3e939231ea06e0e3088fd538
2017-04-13 16:57:33 -06:00
Florian Queze
37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Florian Queze
95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Wes Kocher
5c3c7eb8db Backed out 4 changesets (bug 1322532) for windows static build failures a=backout
Backed out changeset df4e3ee037d6 (bug 1322532)
Backed out changeset 0acfde7a7a45 (bug 1322532)
Backed out changeset 34bf061d8e29 (bug 1322532)
Backed out changeset 954ea82470ed (bug 1322532)
2017-04-14 00:02:40 -07:00
Aaron Klotz
0ee7073299 Bug 1322532: Platform a11y changes to enable handler-based live regions; r=tbsaunde
MozReview-Commit-ID: nNPvBy3ZGO

--HG--
extra : rebase_source : d8a797c9ddfb3d8ab4f13c9f2f261fba04320beb
extra : histedit_source : cc4f0bd8ba26cc88bcf9907f684e5d6c240d354f
2017-04-13 20:35:32 -06:00
Aaron Klotz
1de2299a3a Bug 1322532: Add sync text event to PDocAccessible; r=tbsaunde, r=billm
MozReview-Commit-ID: AFZMYghoOHe

--HG--
extra : rebase_source : 22939e1a1208501fa646c02ee8199b72a16e14b5
extra : histedit_source : fd408d3d96578bc23c8d6627248c0578563e9b7e
2017-04-13 17:08:42 -06:00
Aaron Klotz
68616ae61e Bug 1322532: Move a11y retrieval of native window handle to DocAccessibleChild; r=yzen
MozReview-Commit-ID: DwLBfAQJkRJ

--HG--
extra : rebase_source : b206229f4167979d79c71e7cad11d01d7d60f9ed
2017-02-21 11:27:33 -07:00
Aaron Klotz
c9721c0a3b Bug 1322532: Add support for live regions to the com handler dll; r=tbsaunde
MozReview-Commit-ID: 1JPaUw5PrxU

--HG--
extra : rebase_source : eef53f27be2d431c8b86c90e0681af9fb29c7d90
2017-04-13 16:57:33 -06:00
Wes Kocher
c8a2033f35 Merge m-c to inbound, a=merge 2017-04-13 17:33:39 -07:00
Wes Kocher
514e230373 Merge inbound to central, a=merge 2017-04-13 17:24:01 -07:00
Eugen Sawin
0b1bae9e19 Bug 1355542 - [2.0] Remove unused web progress callbacks and add missing progress filters. r=felipe 2017-04-13 23:20:17 +02:00
Aaron Klotz
ea028675c9 Bug 1354333: Use call_as to produce a non-null vtable entry for ISimpleDOMNode::get_localInterface; r=tbsaunde
MozReview-Commit-ID: vglI4a6vNJ

--HG--
extra : rebase_source : 70dc83b0670319b1fc021c94c1c2ddec44819abd
2017-04-06 15:56:42 -06:00
Ryan VanderMeulen
cae23d0f9a Bug 1354293 - Don't try to build a11y IPC code that depends on accessibility being enabled. r=aklotz 2017-04-06 18:51:02 -04:00
Brian Birtles
33041d1214 Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F

--HG--
extra : rebase_source : 3ba51f3b00d1ec7bc91102629d9c0abb88992fef
2017-04-05 14:39:23 +09:00
Aaron Klotz
0a1611cdcd Bug 1303060: Build system changes for implementation of the caching COM handler for a11y; r=mshal
MozReview-Commit-ID: KBe1bw6xnhD

--HG--
extra : rebase_source : ea5f60be13f5ff6c0d295b4704646ceb44eb5794
2017-03-27 19:13:40 -06:00
Aaron Klotz
54c8ab6c9e Bug 1303060: Implementation of the caching COM handler for a11y; r=tbsaunde
MozReview-Commit-ID: HkiIgDQURtK

The a11y COM handler consists of two classes. AccessibleHandler is the one that
is actually interposed by COM between the client and the proxy. It implements
IAccessible2_3, IServiceProvider, and IProvideClassInfo. It is derived from
mscom::Handler which takes care of most of the COM boilerplate for handler
instantiation. AccessibleHandler must override a few virtual functions from
mscom::Handler:

* QueryHandlerInterface - mscom::Handler must implement the "real" QI. This is
  the method that mscom::Handler uses to delegate to the implementer.
* ReadHandlerPayload - deserializing the payload. This uses
  mscom::StructFromStream and the IA2Data_Decode function that was generated by
  midl. It should essentially be the inverse of the serialization code in the
  IHandlerProvider implementation inside Gecko.
* MarshalAs - identical to IHandlerProvider::MarshalAs
* GetHandlerPayloadSize and WriteHandlerPayload - it sucks that we have to
  include these, but they are neccessary for the scenario when COM wants to
  make a proxy of a proxy. When that happens, we need to get COM to serialize
  the payload again; it isn't smart enough to recognize payloads in existing
  proxies and copy them itself.

In order to reduce round trips, AccessibleHandler implements the most
sophisticated IA2 interface. This way the client has access to any of those
interfaces from IDispatch all the way down to IAccessible2_3 without needing to
incur additional round-trips to obtain them.

We also implement IServiceProvider so that a client may QueryService for an IA2
interface without needing to incur more round trips. In addition, we maintain
a list of service IDs that we definitely do not support, and handle those
locally instead of incurring an IPC round-trip.

We also implement IProvideClassInfo because NVDA's python code (and presumably
other ATs that use interpreted languages) supports using that interface to
assist its FFI library with resolution of our COM objects.

COM wraps each instance of an IAccessible* proxy with an AccessibleHandler
object. Proxies whose interfaces are not part of the IDispatch ... IAccessible2_3
hierarchy are not wrapped with handlers (though this might change in the future
if we need to expand coverage). AccessibleHandler implements IAccessible2_3 such
that, if we have cached data available for a particular IA2 method, we provide
that cached data to the client. Otherwise we pass on the request to the COM
proxy for retrieval via IPC.

The other class in the handler dll is AccessibleHandlerControl. This class
implements the IHandlerControl interface that is provided to IGeckoBackChannel.
Gecko dispatches cache invalidation events using this interface. This class
is a singleton within the handler dll and manages shared, handler-wide resources.

--HG--
extra : rebase_source : 4fc3910f789b0ed92c90655344ffb89f576ca5bd
2017-03-27 19:13:34 -06:00
Aaron Klotz
d8b6197f8b Bug 1303060: Build system changes for a11y to enable the serving of a COM handler; r=mshal
MozReview-Commit-ID: 51r9ezFwDGE

--HG--
extra : rebase_source : cdc96a1c5f2c021c407d7c634036dd8cae7c04c6
2017-03-27 19:13:07 -06:00
Aaron Klotz
b836337e81 Bug 1303060: Changes to a11y to enable the serving of a COM handler; r=tbsaunde
MozReview-Commit-ID: GTQF3x1pBtX

A general outline of the COM handler (a.k.a. the "smart proxy"):

COM handlers are pieces of code that are loaded by the COM runtime along with
a proxy and are layered above that proxy. This enables the COM handler to
interpose itself between the caller and the proxy, thus providing the
opportunity for the handler to manipulate an interface's method calls before
those calls reach the proxy.

Handlers are regular COM components that live in DLLs and are declared in the
Windows registry. In order to allow for the specifying of a handler (and an
optional payload to be sent with the proxy), the mscom library allows its
clients to specify an implementation of the IHandlerProvider interface.

IHandlerProvider consists of 5 functions:

* GetHandler returns the CLSID of the component that should be loaded into
  the COM client's process. If GetHandler returns a failure code, then no
  handler is loaded.
* GetHandlerPayloadSize and WriteHandlerPayload are for obtaining the payload
  data. These calls are made on a background thread but need to do their work
  on the main thread. We declare the payload struct in IDL. MIDL generates two
  functions, IA2Payload_Encode and IA2Payload_Decode, which are used by
  mscom::StructToStream to read and write that struct to and from buffers.
* The a11y payload struct also includes an interface, IGeckoBackChannel, that
  allows the handler to communicate directly with Gecko. IGeckoBackChannel
  currently provides two methods: one to allow the handler to request fresh
  cache information, and the other to provide Gecko with its IHandlerControl
  interface.
* MarshalAs accepts an IID that specifies the interface that is about to be
  proxied. We may want to send a more sophisticated proxy than the one that
  is requested. The desired IID is returned by this function. In the case of
  a11y interfaces, we should always return IAccessible2_3 if we are asked for
  one of its parent interfaces. This allows us to eliminate round trips to
  resolve more sophisticated interfaces later on.
* NewInstance, which is needed to ensure that all descendent proxies are also
  imbued with the same handler code.

The main focus of this patch is as follows:

1. Provide an implementation of the IHandlerProvider interface;
2. Populate the handler payload (ie, the cache) with data;
3. Modify CreateHolderFromAccessible to specify the HandlerPayload object;
4. Receive the IHandlerControl interface from the handler DLL and move it
   into the chrome process.

Some more information about IHandlerControl:

There is one IHandlerControl per handler DLL instance. It is the interface that
we call in Gecko when we need to dispatch an event to the handler. In order to
ensure that events are dispatched in the correct order, we need to dispatch
those events from the chrome main thread so that they occur in sequential order
with calls to NotifyWinEvent.

--HG--
extra : rebase_source : acb44dead7cc5488424720e1bf58862b7b30374f
2017-04-04 15:23:55 -06:00
Dan Banner
cdf987089d Bug 1107904 - Remove packed.js and references to it as it is unused. r=standard8
MozReview-Commit-ID: K5TLF92pHq4

--HG--
extra : rebase_source : 295bf325a07fa8ec4c55a8babf5418588308dca6
2017-04-12 11:10:00 +01:00
Paul Bignier
ff2e59d1cd Bug 1352802 - Typo fixes around 'accessible'. r=MattN
MozReview-Commit-ID: 27CyNOMXkRq

--HG--
extra : rebase_source : 30e8891fa40cb497ab695e72b179c850a3a5c8d9
2017-04-03 09:47:00 -07:00
Alexander Surkov
c528975ed0 Bug 1349160 - Dismissing Print dialogue crashes Firefox, r=yzen 2017-04-03 15:21:05 -04:00
Alexander Surkov
696f8370cf Bug 1351414 - shutdown a moving accessible if it has no insertion point, r=yzen 2017-03-30 15:56:22 -04:00
Trevor Saunders
772b2cc2a5 bug 1351475 - allow the windows ProxyDestroyed() function to called with a proxy with no wrapper.
unfortunately because creating a DocAccessibleParent is not atomic one can be
created by AllocPDocAccessible(), but then RecvPDocAccessibleConstructor() can
fail.  If that happens we will call actor destroyed on the new
DocAccessibleParent, however because the constructor messaged failed it will
not have a wrapper.  That means this assert does not necessarily hold.
2017-03-29 15:32:28 -04:00