gecko-dev/ipc/mscom
James Teh 752cda7b26 Bug 1433046: mscom::Interceptor: Don't destroy an aggregated interceptor before releasing its interface. r=aklotz
When an object is aggregated, doing a QI to anything other than IUnknown on the inner object AddRefs the outer object.
Thus, before releasing our reference to the inner IUnknown (and thus destroying it), we *must* release any references to interfaces queried from it.
Otherwise, any pointers to interfaces of the inner object would be invalidated.

MozReview-Commit-ID: KXsA8Sagx6G

--HG--
extra : rebase_source : f1dca4ee71f2ed49c8ba19c12862f2b4f9881fca
2018-02-08 15:53:20 +10:00
..
oop Bug 1416986 part 1: Allow an mscom Handler to signal that it knows an interface is definitely not available. r=aklotz 2017-11-15 09:59:44 +10:00
ActivationContext.cpp Bug 1399557: Add Environment to mscom::ProxyStream and define it for IAccessible; r=jimm 2017-09-29 15:41:28 -06:00
ActivationContext.h Bug 1399557: Add Environment to mscom::ProxyStream and define it for IAccessible; r=jimm 2017-09-29 15:41:28 -06:00
Aggregation.h
AgileReference.cpp Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj 2017-10-23 20:59:55 +02:00
AgileReference.h Bug 1381618: Make mscom::AgileReference::mIid be an IID instead of REFIID; r=jimm 2017-07-17 14:35:58 -06:00
AsyncInvoker.h
COMApartmentRegion.h
COMPtrHolder.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00
DispatchForwarder.cpp
DispatchForwarder.h
DynamicallyLinkedFunctionPtr.h
EnsureMTA.cpp Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj 2017-10-23 20:59:55 +02:00
EnsureMTA.h Bug 1379643: When running under sandbox level >= 3, parent should retain IStream of marshaled interface to be destroyed later; r=jimm 2017-07-19 12:07:45 -06:00
FastMarshaler.cpp Bug 1393589: Refactor NOPING marshaling into its own class, mscom::FastMarshaler, and use it with IGeckoBackChannel; r=jimm 2017-08-17 15:54:28 -06:00
FastMarshaler.h Bug 1393589: Refactor NOPING marshaling into its own class, mscom::FastMarshaler, and use it with IGeckoBackChannel; r=jimm 2017-08-17 15:54:28 -06:00
IHandlerProvider.h Bug 1411439: Pass reference to owning interceptor into HandlerProvider for payload creation; r=Jamie 2017-10-24 17:48:51 -06:00
Interceptor.cpp Bug 1433046: mscom::Interceptor: Don't destroy an aggregated interceptor before releasing its interface. r=aklotz 2018-02-08 15:53:20 +10:00
Interceptor.h Bug 1428759: Remove mutual exclusion from WeakReferenceSupport interface queries; r=Jamie 2018-01-12 14:17:18 -07:00
InterceptorLog.cpp Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
InterceptorLog.h Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
MainThreadClientInfo.cpp
MainThreadClientInfo.h
MainThreadHandoff.cpp Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
MainThreadHandoff.h Bug 1411439: Pass reference to owning interceptor into HandlerProvider for payload creation; r=Jamie 2017-10-24 17:48:51 -06:00
MainThreadInvoker.cpp Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
MainThreadInvoker.h Bug 1409538: Add durations to MSCOM log; r=jimm 2017-07-25 15:57:18 -06:00
MainThreadRuntime.cpp Bug 1404482: Remove crash report annotation that was being made before the crash reporter initialized; r=Jamie 2018-01-23 12:06:58 -07:00
MainThreadRuntime.h
Objref.cpp Bug 1403180: Fix StripHandlerFromOBJREF for VT_DISPATCH on Windows 7. r=aklotz 2017-10-23 15:37:24 +10:00
Objref.h Bug 1393600: Ensure that the handler sends a known interface to external clients; r=jimm 2017-09-24 14:32:36 -06:00
PassthruProxy.cpp Bug 1399557: Add Environment to mscom::ProxyStream and define it for IAccessible; r=jimm 2017-09-29 15:41:28 -06:00
PassthruProxy.h Bug 1406827: Do not wrap an interface with a passthru proxy unless sandboxing is enabled and >= level 3; r=jimm 2017-11-03 16:50:17 -06:00
ProxyStream.cpp Bug 1414421: Change some diagnostic asserts in mscom to stop firing on dev edition; r=Jamie 2017-11-29 14:50:17 -07:00
ProxyStream.h Bug 1399557: Add Environment to mscom::ProxyStream and define it for IAccessible; r=jimm 2017-09-29 15:41:28 -06:00
Ptr.h Bug 1390652: Part 2 - Add support for TABLESTRONG marshaling to mscom::ProxyStream; r=jimm 2017-08-16 16:31:07 -06:00
Registration.cpp Bug 1390652: Part 3 - Add proxy wrapper that passes its inner proxy through content as a blob; r=jimm 2017-08-21 15:47:44 -06:00
Registration.h
RegistrationAnnotator.cpp merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-08-31 14:36:51 +02:00
RegistrationAnnotator.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00
SpinEvent.cpp
SpinEvent.h
StructStream.cpp
StructStream.h
Utils.cpp Bug 1394395 - Fix mscom build when ACCESSIBILITY is disabled. r=jimm 2017-08-28 12:27:28 -06:00
Utils.h Bug 1394395 - Fix mscom build when ACCESSIBILITY is disabled. r=jimm 2017-08-28 12:27:28 -06:00
VTableBuilder.c Bug 1390652: Part 3 - Add proxy wrapper that passes its inner proxy through content as a blob; r=jimm 2017-08-21 15:47:44 -06:00
VTableBuilder.h Bug 1394868 Fix include casing in VTableBuilder.h to fix MinGW build r=aklotz 2017-08-29 11:34:58 -05:00
WeakRef.cpp Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie 2018-01-25 13:45:21 -07:00
WeakRef.h Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie 2018-01-25 13:45:21 -07:00
moz.build Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00