Aaron Klotz
9db0de2b03
Bug 1354077: Add manifests for IAccessible variants: 32-bit and 64-bit; r=jimm
...
MozReview-Commit-ID: CoHASAsg5tf
2017-06-06 12:19:12 -06:00
Wes Kocher
3ee39c3f47
Backed out 3 changesets (bug 1354077) for assertions in AccessibleWrap.cpp a=backout CLOSED TREE
...
Backed out changeset 1380fe0f701b (bug 1354077)
Backed out changeset 2b5602bd352a (bug 1354077)
Backed out changeset a0fc3a1a9122 (bug 1354077)
MozReview-Commit-ID: ABHV3evXKrG
2017-06-12 16:54:10 -07: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
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
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
Chris Manchester
61aedfd2ef
Bug 1303533 - Don't traverse accessible/ipc/win/typelib during Artifact builds. r=mshal
...
MozReview-Commit-ID: Clxfj8h8ZRT
--HG--
extra : rebase_source : 4d197e629b942d749e9d47fc0bf186d666140f9e
2016-11-01 22:45:35 -07:00
Ryan VanderMeulen
30d948fc12
Bug 1297171 - Unconditionally export COMPtrTypes.h rather than depending on accessibility enabled/disabled status. r=aklotz
...
--HG--
extra : rebase_source : 7d55dba2cdf73defe9ed199f8734e227bac3a67c
2016-08-22 14:33:00 -04:00
Aaron Klotz
05bd3da901
Bug 1288841: Add a typelib containing info for IServiceProvider and IEnumVARIANT; r=tbsaunde, mshal
...
MozReview-Commit-ID: 4xe2T8pQ44f
2016-07-22 13:27:10 -06:00
Aaron Klotz
7debf7c239
Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
...
MozReview-Commit-ID: ctPgegQ83a
2016-08-18 09:49:13 -06:00
Aaron Klotz
6691c8cfa8
Bug 1268544: Refactor ProxyAccessible and dependencies; r=tbsaunde
...
MozReview-Commit-ID: EHV0JR6NmKf
--HG--
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/ProxyAccessibleBase.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/ProxyAccessibleBase.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/other/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/other/ProxyAccessible.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/win/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/win/ProxyAccessible.h
2016-08-19 13:16:42 -06:00
Aaron Klotz
1ee837c40c
Bug 1268544: Refactor PDocAccessible and its dependencies, and add code to integrate remote COM objects; r=tbsaunde
...
MozReview-Commit-ID: Fr4q3dq1ZQU
--HG--
rename : accessible/ipc/DocAccessibleChild.cpp => accessible/ipc/other/DocAccessibleChild.cpp
rename : accessible/ipc/DocAccessibleChild.h => accessible/ipc/other/DocAccessibleChild.h
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/other/PDocAccessible.ipdl
rename : accessible/ipc/moz.build => accessible/ipc/other/moz.build
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/win/PDocAccessible.ipdl
2016-08-15 17:14:53 -06:00
Sebastian Hengst
87b8b23d92
Backed out changeset a2b189275d7a (bug 1268544) for asserting in Windows M(oth) jobs. r=backout on a CLOSED TREE
...
--HG--
rename : accessible/ipc/other/DocAccessibleChild.cpp => accessible/ipc/DocAccessibleChild.cpp
rename : accessible/ipc/other/DocAccessibleChild.h => accessible/ipc/DocAccessibleChild.h
rename : accessible/ipc/win/PDocAccessible.ipdl => accessible/ipc/PDocAccessible.ipdl
2016-08-19 10:04:23 +02:00
Sebastian Hengst
8e027d975c
Backed out changeset 2b4c3a792b14 (bug 1268544)
...
--HG--
rename : accessible/ipc/win/ProxyAccessible.cpp => accessible/ipc/ProxyAccessible.cpp
rename : accessible/ipc/win/ProxyAccessible.h => accessible/ipc/ProxyAccessible.h
2016-08-19 10:02:32 +02:00
Sebastian Hengst
5842832f4e
Backed out changeset ff58e1a5f483 (bug 1268544)
2016-08-19 10:02:19 +02:00
Sebastian Hengst
2f058326f7
Backed out changeset ce6e2c41d939 (bug 1288841)
2016-08-19 10:02:15 +02:00
Aaron Klotz
8224d60f6f
Bug 1288841: Add a typelib containing info for IServiceProvider and IEnumVARIANT; r=tbsaunde, mshal
...
MozReview-Commit-ID: 4xe2T8pQ44f
2016-07-22 13:27:10 -06:00
Aaron Klotz
92899f5101
Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
...
MozReview-Commit-ID: ctPgegQ83a
2016-08-18 09:49:13 -06:00
Aaron Klotz
1597663492
Bug 1268544: Refactor ProxyAccessible and dependencies; r=tbsaunde
...
MozReview-Commit-ID: EHV0JR6NmKf
--HG--
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/ProxyAccessibleBase.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/ProxyAccessibleBase.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/other/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/other/ProxyAccessible.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/win/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/win/ProxyAccessible.h
2016-08-18 10:45:55 -06:00
Aaron Klotz
1d9ba42f65
Bug 1268544: Refactor PDocAccessible and its dependencies, and add code to integrate remote COM objects; r=tbsaunde
...
MozReview-Commit-ID: Fr4q3dq1ZQU
--HG--
rename : accessible/ipc/DocAccessibleChild.cpp => accessible/ipc/other/DocAccessibleChild.cpp
rename : accessible/ipc/DocAccessibleChild.h => accessible/ipc/other/DocAccessibleChild.h
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/other/PDocAccessible.ipdl
rename : accessible/ipc/moz.build => accessible/ipc/other/moz.build
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/win/PDocAccessible.ipdl
2016-08-15 17:14:53 -06:00
Phil Ringnalda
0d69896d44
Backed out 6 changesets (bug 1288841, bug 1268544) for causing Win7 e10s Marionette to fail in test_import_script.py TestImportScriptContent.test_imports_apply_globally
...
Backed out changeset c9f49a119255 (bug 1288841)
Backed out changeset a9d43e83e070 (bug 1268544)
Backed out changeset d898178a0809 (bug 1268544)
Backed out changeset 4887b4164dd9 (bug 1268544)
Backed out changeset 7c3a5a770cae (bug 1268544)
Backed out changeset 12aa15cf5879 (bug 1268544)
--HG--
rename : accessible/ipc/other/DocAccessibleChild.cpp => accessible/ipc/DocAccessibleChild.cpp
rename : accessible/ipc/other/DocAccessibleChild.h => accessible/ipc/DocAccessibleChild.h
rename : accessible/ipc/win/PDocAccessible.ipdl => accessible/ipc/PDocAccessible.ipdl
rename : accessible/ipc/win/ProxyAccessible.cpp => accessible/ipc/ProxyAccessible.cpp
rename : accessible/ipc/win/ProxyAccessible.h => accessible/ipc/ProxyAccessible.h
2016-08-18 00:30:21 -07:00
Aaron Klotz
d53414c75a
Bug 1288841: Add a typelib containing info for IServiceProvider and IEnumVARIANT; r=tbsaunde, mshal
...
MozReview-Commit-ID: 4xe2T8pQ44f
2016-07-22 13:27:10 -06:00
Aaron Klotz
01e4a55f10
Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
...
MozReview-Commit-ID: ctPgegQ83a
2016-08-15 14:24:12 -06:00
Aaron Klotz
494a0e9e53
Bug 1268544: Refactor ProxyAccessible and dependencies; r=tbsaunde
...
MozReview-Commit-ID: EHV0JR6NmKf
--HG--
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/ProxyAccessibleBase.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/ProxyAccessibleBase.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/other/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/other/ProxyAccessible.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/win/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/win/ProxyAccessible.h
2016-08-16 12:21:41 -06:00
Aaron Klotz
c3a25c1ddc
Bug 1268544: Refactor PDocAccessible and its dependencies, and add code to integrate remote COM objects; r=tbsaunde
...
MozReview-Commit-ID: Fr4q3dq1ZQU
--HG--
rename : accessible/ipc/DocAccessibleChild.cpp => accessible/ipc/other/DocAccessibleChild.cpp
rename : accessible/ipc/DocAccessibleChild.h => accessible/ipc/other/DocAccessibleChild.h
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/other/PDocAccessible.ipdl
rename : accessible/ipc/moz.build => accessible/ipc/other/moz.build
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/win/PDocAccessible.ipdl
2016-08-15 17:14:53 -06:00
Wes Kocher
021a12c86f
Backed out changesets e4a39e456f89 (bug 1268544) for mass build bustage a=backout CLOSED TREE
...
***
Backed out changeset 119a4b187938 (bug 1268544)
***
Backed out changeset d83cba382cfe (bug 1268544)
***
Backed out changeset a0085eb5ffe7 (bug 1268544)
***
Backed out changeset eefa457c3680 (bug 1288843)
***
Backed out changeset 17dc46beb1a5 (bug 1288841)
***
Backed out changeset e76f58f328d4 (bug 1268544)
***
Backed out changeset ffc8ee715fdb (bug 1268544)
***
Backed out changeset 99f0ea19b8f5 (bug 1268544)
***
Backed out changeset 2bdfb9514317 (bug 1268544)
***
Backed out changeset e4b3a5e1756d (bug 1268544)
--HG--
rename : accessible/ipc/other/DocAccessibleChild.cpp => accessible/ipc/DocAccessibleChild.cpp
rename : accessible/ipc/other/DocAccessibleChild.h => accessible/ipc/DocAccessibleChild.h
rename : accessible/ipc/win/PDocAccessible.ipdl => accessible/ipc/PDocAccessible.ipdl
rename : accessible/ipc/win/ProxyAccessible.cpp => accessible/ipc/ProxyAccessible.cpp
rename : accessible/ipc/win/ProxyAccessible.h => accessible/ipc/ProxyAccessible.h
extra : amend_source : dc73ec117c7279539cab36af821637bb1b0236bd
extra : histedit_source : 438ce81f07a53af61b1cabf7620f30b090e7d5e2%2Ccb6472913fe0d7d2ec66bf0cedc18f2e4d00678e
2016-08-15 15:58:45 -07:00
Aaron Klotz
5dc67fdd18
Bug 1288841: Add a typelib containing info for IServiceProvider and IEnumVARIANT; r=tbsaunde, mshal
...
MozReview-Commit-ID: 4xe2T8pQ44f
2016-07-22 13:27:10 -06:00
Aaron Klotz
9c133fb86d
Bug 1268544: Integrate remote COM objects into a11y code; r=tbsaunde
...
MozReview-Commit-ID: ctPgegQ83a
2016-08-15 14:24:12 -06:00
Aaron Klotz
53a0a1af6b
Bug 1268544: Refactor ProxyAccessible and dependencies; r=tbsaunde
...
MozReview-Commit-ID: EHV0JR6NmKf
--HG--
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/ProxyAccessibleBase.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/ProxyAccessibleBase.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/other/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/other/ProxyAccessible.h
rename : accessible/ipc/ProxyAccessible.cpp => accessible/ipc/win/ProxyAccessible.cpp
rename : accessible/ipc/ProxyAccessible.h => accessible/ipc/win/ProxyAccessible.h
2016-08-04 18:28:08 -06:00
Aaron Klotz
55b28e20c7
Bug 1268544: Refactor PDocAccessible and its dependencies, and add code to integrate remote COM objects; r=tbsaunde
...
MozReview-Commit-ID: Fr4q3dq1ZQU
--HG--
rename : accessible/ipc/DocAccessibleChild.cpp => accessible/ipc/other/DocAccessibleChild.cpp
rename : accessible/ipc/DocAccessibleChild.h => accessible/ipc/other/DocAccessibleChild.h
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/other/PDocAccessible.ipdl
rename : accessible/ipc/moz.build => accessible/ipc/other/moz.build
rename : accessible/ipc/PDocAccessible.ipdl => accessible/ipc/win/PDocAccessible.ipdl
2016-08-15 14:24:04 -06:00