Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Aaron Klotz 84c01f8930 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 18:56:20 +00:00
.cargo Bug 1525392 - update rkv (and LMDB) to their latest stable versions r=froydnj 2019-02-11 19:53:28 +00:00
.vscode Bug 1514820 - Recommend a VSCode extension for IDL language highlighting r=jya 2018-12-18 19:43:33 +00:00
accessible 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
browser 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
build Backed out changeset fe264afc03aa (bug 1511224) for Fetch failures. CLOSED TREE 2019-02-14 20:44:38 +02:00
caps Bug 1346759 - Use URI comparison for null principals instead of pointer comparison. r=ckerschb,bholley 2019-02-11 18:03:12 +00:00
chrome Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
config Bug 1512541 - Don't force-include mozilla-config.h in rust-built C/C++ code. r=mshal 2019-02-06 21:02:20 +00:00
db Bug 1523851 - Remove system sqlite compile option tests. r=mak 2019-01-31 09:58:29 +00:00
devtools Bug 1527854 - Remove unnecessary waitForTime in browser_markup_shadowdom_open_debugger.js; r=jdescottes. 2019-02-14 13:01:43 +00:00
docshell Bug 1522637 - Part 3: Send history index when resuming redirected loads, r=qdot 2019-02-14 15:36:02 +00:00
dom 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
editor Backed out 3 changesets (bug 1525959, bug 1526002) for failing android 2019-02-12 23:53:05 +02:00
embedding Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-01-24 08:11:00 +00:00
extensions Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
gfx 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
gradle/wrapper Bug 1509572 - Part 1: Bump Gradle wrapper to 4.10.2; decouple script from Gradle version. r=snorp 2018-11-26 21:42:27 +00:00
hal Bug 1523974 - Map PROCESS_PRIORITY_BACKGROUND_PERCEIVABLE to BELOW_NORMAL_PRIORITY_CLASS on Windows. r=gsvelto 2019-02-04 22:54:05 +00:00
image Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
intl Backed out changeset f3a52e8d6861 (bug 1526875) for Browser-chrome failures. CLOSED TREE 2019-02-14 20:43:45 +02: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 18:56:20 +00:00
js Bug 1527843 - Don't take the slow path for cross-realm functions in IonBuilder::createThis. r=anba 2019-02-14 16:26:19 +00:00
layout Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
media Backed out changeset fe264afc03aa (bug 1511224) for Fetch failures. CLOSED TREE 2019-02-14 20:44:38 +02:00
memory 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
mfbt Bug 1507049 - Rename MOZ_CRASH_UNSAFE_OOL MOZ_CRASH_UNSAFE. r=froydnj 2019-02-03 00:09:37 -08:00
mobile Bug 1526322 - Ensure GeckoWebExecutor doesn't clobber the Content-Type header. r=csadilek 2019-02-14 16:35:27 +00:00
modules Bug 1527860 - Remove ENABLE_BIGINT #ifdef r=jandem,froydnj 2019-02-14 15:03:44 +00:00
mozglue 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
netwerk Bug 1522637 - Part 7: Perform process switches separtely from on-examine-response, r=valentin 2019-02-14 15:37:06 +00:00
nsprpub Bug 1526010, Upgrade Firefox 67 to use NSPR 4.21. Beta snapshot, r=me 2019-02-09 13:26:00 +01:00
other-licenses Bug 1523118 atk: Implement scrollsubstringto ATK API. r=surkov 2019-01-26 20:38:53 +01:00
parser Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
python Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
security No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM 2019-02-14 13:34:56 +00:00
services Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
servo Bug 1526736 - Rename MozLength to Size, and MaxLength to MaxSize. r=heycam 2019-02-11 10:59:49 +00:00
startupcache 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
storage Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
taskcluster Backed out changeset fe264afc03aa (bug 1511224) for Fetch failures. CLOSED TREE 2019-02-14 20:44:38 +02:00
testing Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
third_party Bug 1521360 - ensure that Prio early cleanup runs correctly r=henrycg 2019-02-08 22:52:56 +00:00
toolkit 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
tools Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
uriloader Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
view Bug 1506508 - Make PresShell::EventHandler::HandleEvent() flush any dirty region before deciding to event target of eMouseDown and eMouseUp r=smaug 2019-02-11 23:25:45 +00:00
widget 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
xpcom Bug 1526998 - Show markers for nsObserverService notifications, r=mstange. 2019-02-14 05:10:14 +00:00
xpfe/appshell Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
.arcconfig
.clang-format 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
.clang-format-ignore Bug 1527322 - Move the sourceeditor folder under devtools/client/shared; r=gl. 2019-02-13 15:37:08 +00:00
.cron.yml Bug 1514087: [taskgraph] Add an option to not optimize target tasks in cron graphs; r=dustin 2018-12-26 14:43:34 +00:00
.eslintignore Bug 1527322 - Move the sourceeditor folder under devtools/client/shared; r=gl. 2019-02-13 15:37:08 +00:00
.eslintrc.js Bug 1515942 - Enable ESLint for gfx/ (manual fixes). r=kats 2018-12-27 09:45:01 +00:00
.flake8 Bug 1515746 - [flake8] Unsupport subdir .flake8 files and use new 'per-file-ignores' config instead, r=egao 2019-02-07 20:17:02 +00:00
.gdbinit Bug 1486903 - Add "ftl" command to dump frame subtree to .gdbinit. r=Ehsan 2018-08-28 20:20:21 +00:00
.gdbinit_python
.git-blame-ignore-revs Merge mozilla-inbound to mozilla-central. a=merge 2019-01-22 05:56:10 +02:00
.gitignore Bug 1513450 - Do not ignore .rej/.orig files. r=firefox-build-system-reviewers,nalexander 2018-12-17 21:41:01 +00:00
.hg-annotate-ignore-revs Bug 1508324 - Generate list of past changesets to be skipped for blame. r=me NPOTB DONTBUILD 2018-12-27 18:08:25 -02:00
.hg-format-source Bug 1511181 - Quick fix for .hg-format-source that has an empty line. r=ehsan, a=aryx 2018-11-30 13:25:44 +02:00
.hgignore Bug 1525638 - Let hg ignore the build directories of WebRender standalone builds. r=ted 2019-02-11 13:37:44 +00:00
.hgtags No bug - Tagging mozilla-central 5d9c5aa981a5b824e6132c923c2f201b3fa49397 with FIREFOX_NIGHTLY_66_END a=release DONTBUILD CLOSED TREE 2019-01-28 04:56:31 -08:00
.lldbinit
.mailmap
.taskcluster.yml Bug 1524358 - get commit message locally, rather than from task parameters r=tomprince 2019-02-01 23:27:48 +00:00
.trackerignore Bug 1486468 - Add .trackerignore file to avoid GNOME Tracker indexing mozilla-central files. r=ahal 2018-08-27 16:45:03 +02:00
.yamllint
.ycm_extra_conf.py Bug 1522135 - Make .ycm_extra_conf.py work with python3. r=jgraham 2019-01-24 13:51:28 +01:00
aclocal.m4 Bug 1519603 - Manually inline AC_OUTPUT_SUBDIRS and MOZ_RUN_ALL_SUBCONFIGURES. r=nalexander 2019-01-14 18:37:06 +00:00
AUTHORS
build.gradle Bug 1524529 Update Play Services Cast to 16.0.0 r=VladBaicu 2019-02-04 12:44:13 +00:00
Cargo.lock Bug 1527522 - Add external hooks to WR to allow integration with the Gecko profiler. r=kvark,emilio 2019-02-13 21:46:32 +00:00
Cargo.toml Bug 1525392 - update rkv (and LMDB) to their latest stable versions r=froydnj 2019-02-11 19:53:28 +00:00
client.mk Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal 2018-10-16 22:21:36 +00:00
client.py
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-12-10 07:58:12 -08:00
configure.in
configure.py Bug 1520394 - Don't invoke js subconfigure as a separate process. r=nalexander 2019-01-16 23:42:12 +00:00
GNUmakefile
gradle.properties
gradlew
LEGAL
LICENSE
mach
Makefile.in Bug 1507334 - Remove '10' argument to profileserver.py; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers 2019-01-10 01:34:39 +00:00
moz.build Bug 1507334 - Add mozconfigs for 3-stage PGO; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers 2019-01-10 01:34:49 +00:00
moz.configure Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-05 18:59:13 +02:00
mozilla-config.h.in Bug 1504022 - Map GetExceptionCode to a nop to avoid an error r=bobowen 2018-11-02 13:28:01 -05:00
old-configure.in Bug 1524461 - Run the clock_gettime(CLOCK_MONOTONIC) configure check on OSX. r=froydnj 2019-02-04 23:26:34 +00:00
package-lock.json Bug 1517707. Update ESLint related modules to latest versions. r=mossop 2019-01-04 16:44:49 +00:00
package.json Bug 1517707. Update ESLint related modules to latest versions. r=mossop 2019-01-04 16:44:49 +00:00
README.txt Bug 1480997 - Remove "Mozilla FTP server" link in README.txt r=mossop 2018-10-23 10:06:29 +00:00
settings.gradle
test.mozbuild

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy.