gecko-dev/ipc/mscom
James Teh 132a49a8a1 Bug 1626802 part 1: mscom: Provide a way for Interceptors to avoid unnecessary cross-thread QueryInterface calls. r=aklotz
When marshaling a11y calls from the content process, there are quite a lot of cross-thread QueryInterface calls (ipc::mscom::Interceptor::QueryInterfaceTarget).
Some of these are for special COM interfaces like IAgileObject and IFastRundown, which we could just special case in Interceptor::QueryInterface like we do for INoMarshal.
However, it seems there are a lot of other interfaces being queried and it's not clear why.
This patch adds a new HandlerProvider method: IsInterfaceMaybeSupported.
This allows implementations to indicate when there are interfaces which they definitely don't support, allowing the call to be answered without a cross-thread call.

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

--HG--
extra : moz-landing-system : lando
2020-04-01 23:30:21 +00:00
..
mozglue
oop Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
ActivationContext.cpp
ActivationContext.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
Aggregation.h
AgileReference.cpp Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
AgileReference.h
ApartmentRegion.h
AsyncInvoker.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
COMPtrHolder.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
DispatchForwarder.cpp Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
DispatchForwarder.h
EnsureMTA.cpp
EnsureMTA.h
FastMarshaler.cpp
FastMarshaler.h
IHandlerProvider.h Bug 1626802 part 1: mscom: Provide a way for Interceptors to avoid unnecessary cross-thread QueryInterface calls. r=aklotz 2020-04-01 23:30:21 +00:00
Interceptor.cpp Bug 1626802 part 1: mscom: Provide a way for Interceptors to avoid unnecessary cross-thread QueryInterface calls. r=aklotz 2020-04-01 23:30:21 +00:00
Interceptor.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
InterceptorLog.cpp Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
InterceptorLog.h
MainThreadHandoff.cpp Bug 1626802 part 1: mscom: Provide a way for Interceptors to avoid unnecessary cross-thread QueryInterface calls. r=aklotz 2020-04-01 23:30:21 +00:00
MainThreadHandoff.h Bug 1626802 part 1: mscom: Provide a way for Interceptors to avoid unnecessary cross-thread QueryInterface calls. r=aklotz 2020-04-01 23:30:21 +00:00
MainThreadInvoker.cpp
MainThreadInvoker.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
Objref.cpp
Objref.h
PassthruProxy.cpp
PassthruProxy.h
ProcessRuntime.cpp
ProcessRuntime.h
ProxyStream.cpp
ProxyStream.h
Ptr.h
Registration.cpp Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj 2020-03-17 12:42:12 +00:00
Registration.h
RegistrationAnnotator.cpp
RegistrationAnnotator.h
SpinEvent.cpp
SpinEvent.h
StructStream.cpp
StructStream.h
Utils.cpp Bug 1621030: Make string comparisons in IsClassThreadAwareInprocServer case-insensitive; r=Jamie 2020-03-09 21:46:19 +00:00
Utils.h
VTableBuilder.c
VTableBuilder.h
WeakRef.cpp Bug 1618165 - Provide BaseAutoLock and BaseAutoUnlock deduction guides for Mutex references. r=froydnj 2020-02-28 07:59:30 +00:00
WeakRef.h
moz.build