gecko-dev/ipc/mscom
James Teh d0f0f73d64 Bug 1581441: mscom::GetObjRefSize: Correctly handle proxies marshaled by the aggregated standard marshaler. r=aklotz
For Fission, the parent process needs to take an Accessible sent up from one content process and send it down to another content process, where it will eventually be returned to the client.
If sandboxing is enabled, we must use a PassthruProxy, and if the handler is enabled, the handler will marshal the interface.
Even though we strip out the handler, the handler still marshals using the aggregated standard marshaler, which uses a different clsid (CLSID_AggStdMarshal).
When unmarshaling to return to the client, we call GetObjRefSize.
This previously didn't know about the aggregated standard marshaler, so it failed, causing E_INVALIDARG to be returned to the client.
Now, we just handle these clsids in the same way.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 21:45:17 +00:00
..
mozglue Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
oop Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-21 14:13:44 +00:00
ActivationContext.cpp
ActivationContext.h Bug 1586436: Ensure that mscom methods that accept variadic arguments use rvalue references in their arguments; r=Jamie 2019-10-08 20:43:38 +00:00
Aggregation.h
AgileReference.cpp Bug 1576925: Make AgileReference copyable; r=Jamie 2019-08-28 15:05:32 +00:00
AgileReference.h Bug 1576925: Make AgileReference copyable; r=Jamie 2019-08-28 15:05:32 +00:00
ApartmentRegion.h
AsyncInvoker.h Bug 1586436: Ensure that mscom methods that accept variadic arguments use rvalue references in their arguments; r=Jamie 2019-10-08 20:43:38 +00:00
COMPtrHolder.h
DispatchForwarder.cpp
DispatchForwarder.h
EnsureMTA.cpp Bug 1570701: Part 2 - Add asynchronous CreateInstance method to mscom::EnsureMTA; r=Jamie 2019-09-04 15:36:42 +00:00
EnsureMTA.h Bug 1570701: Part 2 - Add asynchronous CreateInstance method to mscom::EnsureMTA; r=Jamie 2019-09-04 15:36:42 +00:00
FastMarshaler.cpp
FastMarshaler.h
IHandlerProvider.h
Interceptor.cpp
Interceptor.h
InterceptorLog.cpp
InterceptorLog.h
MainThreadHandoff.cpp
MainThreadHandoff.h
MainThreadInvoker.cpp
MainThreadInvoker.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-21 14:13:44 +00:00
moz.build
Objref.cpp Bug 1581441: mscom::GetObjRefSize: Correctly handle proxies marshaled by the aggregated standard marshaler. r=aklotz 2019-10-31 21:45:17 +00:00
Objref.h
PassthruProxy.cpp
PassthruProxy.h
ProcessRuntime.cpp Bug 1574298: Convert mscom::ProcessRuntime to use ProcessCategory enum and matching constructor; r=Jamie 2019-08-16 16:06:45 +00:00
ProcessRuntime.h Bug 1574298: Convert mscom::ProcessRuntime to use ProcessCategory enum and matching constructor; r=Jamie 2019-08-16 16:06:45 +00:00
ProxyStream.cpp
ProxyStream.h
Ptr.h
Registration.cpp
Registration.h
RegistrationAnnotator.cpp
RegistrationAnnotator.h
SpinEvent.cpp
SpinEvent.h
StructStream.cpp
StructStream.h
Utils.cpp Bug 1570701: Part 1 - Add IsClassThreadAwareInprocServer utility function to MSCOM; r=Jamie 2019-09-03 23:58:39 +00:00
Utils.h Bug 1570701: Part 1 - Add IsClassThreadAwareInprocServer utility function to MSCOM; r=Jamie 2019-09-03 23:58:39 +00:00
VTableBuilder.c
VTableBuilder.h
WeakRef.cpp
WeakRef.h