gecko-dev/dom
Aaron Klotz 0cb12a123a Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

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

--HG--
rename : ipc/mscom/COMApartmentRegion.h => ipc/mscom/ApartmentRegion.h
rename : ipc/mscom/MainThreadRuntime.cpp => ipc/mscom/ProcessRuntime.cpp
rename : ipc/mscom/MainThreadRuntime.h => ipc/mscom/ProcessRuntime.h
extra : moz-landing-system : lando
2019-02-14 16:40:58 +00:00
..
abort
animation Backed out 3 changesets (bug 1525959, bug 1526002) for failing android 2019-02-12 23:53:05 +02:00
asmjscache Bug 1520931 - Remove asm.js cache hooks JS API (r=bbouvier) 2019-02-11 11:41:57 -06:00
audiochannel
base Bug 1518121 - Part 2: Update ExplicitChildIterator correctly when we are at the end of child list of a slot parent; r=smaug 2019-02-14 10:14:33 +00:00
battery
bindings Bug 1527860 - Remove ENABLE_BIGINT #ifdef r=jandem,froydnj 2019-02-14 15:03:44 +00:00
broadcastchannel 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
browser-element Bug 1527350 - Fix the path of files used by chrome browser-element tests; r=qdot 2019-02-12 19:51:50 +00:00
cache Bug 1525006 - Add a new internal ContentPolicyType for ES6 modules. r=ckerschb 2019-02-12 13:16:32 +00:00
canvas Bug 1518774 - Disable test_invalid_mime_type_blob.html on android. r=smaug 2019-02-13 17:59:40 +00:00
chrome-webidl Bug 1513877 - Implement send and receive methods for base WindowActor class. r=nika 2019-02-08 13:02:08 +00:00
clients Bug 1517703 - Part 1 - Implement ReferrerInfo class r=smaug 2019-02-12 19:35:32 +00:00
commandhandler 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
console Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
credentialmanagement Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
crypto Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
encoding Bug 1514594: Part 3 - Change ChromeUtils.import API. 2019-01-17 10:18:31 -08:00
events Bug 1527369 - re-enable many tests on windows 1803 due to invalid screen resolution whilst testing. r=gbrown 2019-02-12 17:47:39 +00:00
fetch Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
file Bug 1526382 - Part 2: Make nsIClassInfo use Array<nsIIDRef> for 'interfaces', r=mccr8 2019-02-13 21:42:08 +00:00
filehandle Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
filesystem Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj 2019-02-06 15:57:37 +00:00
flex Bug 1521604 Part 3: Add a test of parentFlexElement. r=dholbert 2019-02-01 22:30:45 +00:00
gamepad Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
geolocation Bug 1525054 - Make ContentPermissionRequestBase calculate the isHandlingUserInput flag itself instead of relying on callers who may or may not pass in the correct information; r=baku 2019-02-04 19:56:48 +00:00
grid
html Bug 1525145, remove harmless assertions by using IgnoredErrorResult, r=peterv 2019-02-13 22:51:10 +02:00
imptests
indexedDB Bug 1519538 - Disable idle-daily notifications in tests through user.js files. r=Standard8 2019-02-09 13:29:21 +00:00
interfaces Bug 1509738: CSP snapshot nonce at load start time. r=baku 2019-02-13 20:45:29 +01:00
ipc Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie 2019-02-14 16:40:58 +00:00
jsurl Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
locales Bug 1525006 - Block ES6 modules with wrong MIME type r=ckerschb 2019-02-12 13:16:52 +00:00
localstorage Bug 1517089 - Part 6: Use BackgroundParent::GetChildID (which doesn't need releasing content parent on the main thread) for getting content parent id; r=asuth 2019-02-07 19:51:27 +01:00
manifest Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
mathml
media Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie 2019-02-14 16:40:58 +00:00
messagechannel Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
midi Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
network Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
notification Backed out changeset a2e4d687840d (bug 1429016) for build bustages at Notification.cpp on a CLOSED TREE 2019-02-13 03:33:48 +02:00
offline Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE 2019-01-29 10:03:06 +02:00
payments Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
performance Backed out 3 changesets (bug 1525959, bug 1526002) for failing android 2019-02-12 23:53:05 +02:00
permission
plugins Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie 2019-02-14 16:40:58 +00:00
power 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
presentation Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
prio Bug 1518728 - pass key length to libprio public key export function and use long long for output r=hsivonen 2019-01-11 08:25:42 +00:00
promise Bug 1521907 part 4. Start using CheckedUnwrapStatic/Dynamic in non-binding DOM code. r=peterv 2019-02-02 03:24:22 +00:00
push Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
quota Bug 1517089 - Part 5: Move storage service initialization to InitializeLocalStorage; r=asuth 2019-02-07 19:51:22 +01:00
reporting Bug 1518661 - Part 3: Adjust call-expression positions. r=jimb,jorendorff 2019-02-13 02:55:21 +00:00
res
script Bug 1515209 - Add a text marker for <script> evaluation. r=gerald 2019-02-14 05:25:13 +00:00
security Bug 1509738: CSP snapshot nonce at load start time. r=baku 2019-02-13 20:45:29 +01:00
serviceworkers Backed out 3 changesets (bug 1525959, bug 1526002) for failing android 2019-02-12 23:53:05 +02:00
simpledb 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
smil Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-02-04 19:10:18 +00:00
storage Bug 1525291 - LSNG: Chrome observer notifications for session storage are not distributed to content processes; r=asuth,froydnj 2019-02-06 06:09:57 +01:00
svg Bug 1519185: Remove AttributeWillChange aNewValue parameter r=emilio,bzbarsky 2019-01-29 17:59:38 +01:00
system Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
tests Backed out 3 changesets (bug 1525959, bug 1526002) for failing android 2019-02-12 23:53:05 +02:00
u2f Bug 1527600 - Update moz.build files to use new bugzilla component 'Core :: DOM: Web Authentication' r=jcj 2019-02-13 14:22:06 +00:00
url Bug 1514594: Part 3 - Change ChromeUtils.import API. 2019-01-17 10:18:31 -08:00
vr Bug 1520526 - Add categories to all profiler markers; r=mstange 2019-01-18 15:40:15 +00:00
webauthn Bug 1527600 - Update moz.build files to use new bugzilla component 'Core :: DOM: Web Authentication' r=jcj 2019-02-13 14:22:06 +00:00
webbrowserpersist Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
webgpu
webidl Bug 1526512 - remote-inbound-rtp stat roundTripTime should be expressed in seconds r=jib,smaug 2019-02-12 23:39:49 +00:00
websocket Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
workers Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
worklet Bug 1520931 - Remove asm.js cache hooks JS API (r=bbouvier) 2019-02-11 11:41:57 -06:00
xbl Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
xhr Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
xml Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
xslt Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
xul Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
jar.mn
moz.build