зеркало из https://github.com/mozilla/gecko-dev.git
0a1730e26a
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 |
||
---|---|---|
.. | ||
mozglue | ||
oop | ||
ActivationContext.cpp | ||
ActivationContext.h | ||
Aggregation.h | ||
AgileReference.cpp | ||
AgileReference.h | ||
ApartmentRegion.h | ||
AsyncInvoker.h | ||
COMPtrHolder.h | ||
DispatchForwarder.cpp | ||
DispatchForwarder.h | ||
EnsureMTA.cpp | ||
EnsureMTA.h | ||
FastMarshaler.cpp | ||
FastMarshaler.h | ||
IHandlerProvider.h | ||
Interceptor.cpp | ||
Interceptor.h | ||
InterceptorLog.cpp | ||
InterceptorLog.h | ||
MainThreadHandoff.cpp | ||
MainThreadHandoff.h | ||
MainThreadInvoker.cpp | ||
MainThreadInvoker.h | ||
Objref.cpp | ||
Objref.h | ||
PassthruProxy.cpp | ||
PassthruProxy.h | ||
ProcessRuntime.cpp | ||
ProcessRuntime.h | ||
ProfilerMarkers.cpp | ||
ProfilerMarkers.h | ||
ProxyStream.cpp | ||
ProxyStream.h | ||
Ptr.h | ||
Registration.cpp | ||
Registration.h | ||
RegistrationAnnotator.cpp | ||
RegistrationAnnotator.h | ||
SpinEvent.cpp | ||
SpinEvent.h | ||
StructStream.cpp | ||
StructStream.h | ||
Utils.cpp | ||
Utils.h | ||
VTableBuilder.c | ||
VTableBuilder.h | ||
WeakRef.cpp | ||
WeakRef.h | ||
moz.build |