gecko-dev/ipc/mscom
Aaron Klotz 0a1730e26a Bug 1675118: Add a variant of mscom::AsyncInvoker that supports posting completion runnables; r=Jamie
I need this for some changes I want to make to Win32 file pickers.

* We add an event-driven variant to `mscom::AsyncInvoker`. When the async call
  invokes `ISynchronize::Signal`, we post an event to the specified event
  target (or implicitly to the main thread).
* For this to work, the async call needs to temporarily retain a reference to
  itself, otherwise the async call object is destroyed and the in-flight call
  is cancelled. This reference is stored in an "outer runnable" which is
  responsible for executing the inner completion runnable, and then dropping
  the self-reference.
* We only run the completion runnable upon *successful* initiation of the async
  call. If there was a failure, we return that code immediately to the caller.
  Failures also clear the reference to the completion runnable.
* If we could not obtain an async interface and must run synchronously, then
  we run the completion runnable immediately after a successful synchronous
  invocation.

Differential Revision: https://phabricator.services.mozilla.com/D95808
2020-11-05 18:59:12 +00:00
..
mozglue Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
oop Bug 1674904: Part 3 - Replace dll reg code in mscom/oop/Handler with calls to mscom/oop/Module; r=Jamie 2020-11-04 22:11:23 +00:00
ActivationContext.cpp
ActivationContext.h Bug 1674902: Part 5 - mscom::ActivationContext cleanup; r=Jamie 2020-11-03 16:55:07 +00:00
Aggregation.h
AgileReference.cpp
AgileReference.h
ApartmentRegion.h Bug 1674902: Part 4 - Some mscom::ApartmentRegion cleanup; r=Jamie 2020-11-03 16:55:21 +00:00
AsyncInvoker.h Bug 1675118: Add a variant of mscom::AsyncInvoker that supports posting completion runnables; r=Jamie 2020-11-05 18:59:12 +00:00
COMPtrHolder.h Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
DispatchForwarder.cpp
DispatchForwarder.h
EnsureMTA.cpp Bug 1620594 - Part 2: Use SchedulerGroup::Dispatch instead of SystemGroup::Dispatch. r=nika 2020-04-07 15:16:33 +00:00
EnsureMTA.h
FastMarshaler.cpp Bug 1654969: Always disable COM pings for mscom::FastMarshaler (and thus mscom::Interceptor). r=aklotz 2020-07-29 21:11:14 +00:00
FastMarshaler.h Bug 1654969: Always disable COM pings for mscom::FastMarshaler (and thus mscom::Interceptor). r=aklotz 2020-07-29 21:11:14 +00:00
IHandlerProvider.h
Interceptor.cpp Bug 1633650: mscom::Interceptor: Don't call HandlerProvider::GetPayloadSize for external process callers. r=aklotz 2020-04-28 16:21:58 +00:00
Interceptor.h Bug 1654969: Always disable COM pings for mscom::FastMarshaler (and thus mscom::Interceptor). r=aklotz 2020-07-29 21:11:14 +00:00
InterceptorLog.cpp Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj 2020-08-04 11:27:07 +00:00
InterceptorLog.h
MainThreadHandoff.cpp Bug 1627084 part 2: mscom: Provide access to the HandlerProvider from the Interceptor. r=aklotz 2020-04-24 20:25:21 +00:00
MainThreadHandoff.h Bug 1627084 part 2: mscom: Provide access to the HandlerProvider from the Interceptor. r=aklotz 2020-04-24 20:25:21 +00:00
MainThreadInvoker.cpp Bug 1620594 - Part 2: Use SchedulerGroup::Dispatch instead of SystemGroup::Dispatch. r=nika 2020-04-07 15:16:33 +00:00
MainThreadInvoker.h
Objref.cpp Bug 1674902: Part 2 - Use CLSID_NULL instead of a distinct null CLSID; r=Jamie 2020-11-03 16:54:50 +00:00
Objref.h
PassthruProxy.cpp
PassthruProxy.h
ProcessRuntime.cpp
ProcessRuntime.h
ProfilerMarkers.cpp Bug 1659404 - Fix non-MOZ_GECKO_PROFILER build - r=canaltinova 2020-08-27 14:41:46 +00:00
ProfilerMarkers.h Bug 1646453: Add MSCOM channel hook to enable profiler markers for COM IPC; r=Jamie,gerald 2020-06-19 00:40:18 +00:00
ProxyStream.cpp Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
ProxyStream.h
Ptr.h Backed out 6 changesets (bug 1674902) for build bustage on a CLOSED TREE 2020-11-03 17:47:35 +02:00
Registration.cpp Bug 1674904: Part 1 - Change mscom registration to dynamically link to GetProxyDllInfo when built outside of xul; r=Jamie 2020-11-04 21:49:28 +00:00
Registration.h
RegistrationAnnotator.cpp Bug 1657033 - Use Span<const char> in JSONWriter - r=froydnj 2020-09-14 02:33:20 +00:00
RegistrationAnnotator.h
SpinEvent.cpp
SpinEvent.h
StructStream.cpp
StructStream.h
Utils.cpp Bug 1674904: Part 2 - New dll registration code in mscom/oop/module; r=Jamie 2020-11-04 21:49:46 +00:00
Utils.h Bug 1674904: Part 2 - New dll registration code in mscom/oop/module; r=Jamie 2020-11-04 21:49:46 +00:00
VTableBuilder.c
VTableBuilder.h
WeakRef.cpp
WeakRef.h
moz.build Bug 1675370: Mark /ipc/mscom as exclusive to Windows; r=firefox-build-system-reviewers,dmajor 2020-11-04 21:40:04 +00:00