gecko-dev/ipc/mscom
Aaron Klotz 557ff156f6 Bug 1546158: Add option to mscom::EnsureMTA to forcibly dispatch events to its thread; r=Jamie
In sandboxed processes with Win32k lockdown, when we initialize COM using an MTA
on a background thread, the main thread is automatically initialized by the COM
runtime as having an implicit MTA.

This is fine, except for the fact that if we want to enqueue any work that needs
to operate specifically on the EnsureMTA thread, it won't happen.

This patch adds a flag to EnsureMTA's constructor that ensures that, even if the
current thread is in an MTA (implicit or otherwise), we still forcibly enqueue
the closure specifically to the EnsureMTA thread.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 02:17:17 +00:00
..
mozglue Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-02-16 20:20:37 +01:00
oop Bug 1528651 - Fix warnings and re-enable warnings-as-errors in ipc/mscom/. r=aklotz 2019-02-20 20:57:00 +09:00
ActivationContext.cpp Bug 1528651 - Another follow-up to fix warnings on beta/release builds. r=aklotz 2019-03-05 20:18:48 +00:00
ActivationContext.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
Aggregation.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
AgileReference.cpp Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan 2019-04-05 21:41:42 +00:00
AgileReference.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ApartmentRegion.h Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie 2019-02-14 18:56:20 +00:00
AsyncInvoker.h Bug 1430149 - Fix AsyncInvoker.h compilation on mingw. r=aklotz 2019-01-07 21:52:57 +00:00
COMPtrHolder.h Bug 1375863 - fold MOZ_CONTENT_SANDBOX and MOZ_GMP_SANDBOX into MOZ_SANDBOX; r=jld,firefox-build-system-reviewers 2019-03-18 22:31:59 +00:00
DispatchForwarder.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
DispatchForwarder.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
EnsureMTA.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
EnsureMTA.h Bug 1546158: Add option to mscom::EnsureMTA to forcibly dispatch events to its thread; r=Jamie 2019-04-23 02:17:17 +00:00
FastMarshaler.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FastMarshaler.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
IHandlerProvider.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Interceptor.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
Interceptor.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
InterceptorLog.cpp Bug 1375863 - fold MOZ_CONTENT_SANDBOX and MOZ_GMP_SANDBOX into MOZ_SANDBOX; r=jld,firefox-build-system-reviewers 2019-03-18 22:31:59 +00:00
InterceptorLog.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MainThreadHandoff.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
MainThreadHandoff.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MainThreadInvoker.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
MainThreadInvoker.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
moz.build Bug 1528651 - Fix warnings and re-enable warnings-as-errors in ipc/mscom/. r=aklotz 2019-02-20 20:57:00 +09:00
Objref.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Objref.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
PassthruProxy.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
PassthruProxy.h Bug 1375863 - fold MOZ_CONTENT_SANDBOX and MOZ_GMP_SANDBOX into MOZ_SANDBOX; r=jld,firefox-build-system-reviewers 2019-03-18 22:31:59 +00:00
ProcessRuntime.cpp Bug 1535704: Part 1 - Move IsWin32kLockedDown into mozglue; r=bobowen 2019-04-22 19:13:23 +00:00
ProcessRuntime.h Bug 1535704: Part 1 - Move IsWin32kLockedDown into mozglue; r=bobowen 2019-04-22 19:13:23 +00:00
ProxyStream.cpp Bug 1528651 - Another follow-up to fix warnings on beta/release builds. r=aklotz 2019-03-05 20:18:48 +00:00
ProxyStream.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Ptr.h Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie 2019-02-14 18:56:20 +00:00
Registration.cpp Bug 1536642: Ensure that mscom::RegisteredProxy move assignment correctly releases its references; r=Jamie 2019-03-20 00:29:27 +00:00
Registration.h Bug 1536642: Ensure that mscom::RegisteredProxy move assignment correctly releases its references; r=Jamie 2019-03-20 00:29:27 +00:00
RegistrationAnnotator.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
RegistrationAnnotator.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
SpinEvent.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
SpinEvent.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
StructStream.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
StructStream.h Bug 1514592: Don't call RpcExceptionCode if we don't HAVE_SEH_EXCEPTIONS. r=aklotz 2019-01-07 17:58:45 -05:00
Utils.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
Utils.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
VTableBuilder.c Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
VTableBuilder.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
WeakRef.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
WeakRef.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00