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 a66f824994 Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell
* Significant cleanup to `ModuleEvaluator`
* `UntrustedModuleData` holds all of the accumulated untrusted module info for
  a single process.
* `ProcessedModuleLoadEvent` holds information about an individual untrusted
  module load in a Gecko-friendly, sanitized, format.
* Since multiple `ProcessModuleLoadEvent` objects may reference the same
  module, we store module metadata in a shared `ModuleInfo` structure.
* The `UntrustedModulesProcessor` receives the events from `mozglue` and
  processes them on a background thread:
** It does not start background processing until the main thread has gone idle.
   The idea here is that we do not want to add any more background work until
   we are reasonably confident that Gecko is no longer starting up or doing
   other intense activity.
** Background processing runs at a background priority level, *except* when
   results are requested by telemetry itself.
** Telemetry requests the data via `UntrustedModulesProcessor::GetProcessedData`
   which runs at normal priority and returns a promise to the caller.

Depends on D43159

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

--HG--
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/ModuleEvaluator.cpp
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/ModuleEvaluator.h
rename : toolkit/xre/ModuleVersionInfo_windows.cpp => toolkit/xre/ModuleVersionInfo.cpp
rename : toolkit/xre/ModuleVersionInfo_windows.h => toolkit/xre/ModuleVersionInfo.h
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/UntrustedModulesData.cpp
rename : toolkit/xre/ModuleEvaluator_windows.h => toolkit/xre/UntrustedModulesData.h
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/UntrustedModulesProcessor.cpp
rename : toolkit/xre/ModuleEvaluator_windows.h => toolkit/xre/UntrustedModulesProcessor.h
extra : moz-landing-system : lando
2019-09-23 20:19:17 +00:00
.cargo Bug 1579471 - Remove the in-tree .cargo/config. r=mshal 2019-09-20 00:47:22 +00:00
.vscode
accessible Merge inbound to mozilla-central. a=merge 2019-09-21 13:00:40 +03:00
browser Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
build Bug 1581315 part 1. Adjust MOZ_MUST_RETURN_FROM_CALLER to only apply to method calls on arguments. r=nika 2019-09-20 02:17:01 +00:00
caps Bug 1570681 - Enforce eval restrictions in system contexts and the parent process r=ckerschb 2019-09-19 02:32:41 +00:00
chrome Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj 2019-08-21 12:25:42 +00:00
config Bug 1581158 - Add fuzzing target for rkv r=froydnj 2019-09-20 21:27:35 +00:00
devtools Bug 1583278 - Upgrade CodeMirror to 5.49.0. r=bgrins 2019-09-23 18:47:42 +00:00
docshell Bug 1583203 - Annotate nsINode::OwnerDoc() as MOZ_NONNULL_RETURN. r=smaug 2019-09-23 18:12:19 +00:00
dom Bug 1582196 part 4. Get rid of NS_ERROR_RANGE_ERR. r=peterv 2019-09-23 19:14:33 +00:00
editor Bug 1581523: part 4) Don't set mWrapColumn depending on <body>'s style. r=jorgk 2019-09-23 11:43:59 +00:00
extensions Bug 1560570- FeaturePolicy should be considered when permissions.query() is called r=baku,johannh 2019-09-21 08:38:26 +00:00
gfx Bug 1578075 - Increase stack size of paint threads on macOS Catalina to 1MB. r=jrmuizel 2019-09-23 20:02:17 +00:00
gradle/wrapper
hal
image Backed out 8 changesets (bug 1551088) for causing build bustages. CLOSED TREE 2019-09-21 14:52:41 +03:00
intl Bug 1581509 - Update encoding_rs to 0.8.20. r=m_kato 2019-09-18 08:28:04 +00:00
ipc Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
js Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
layout Bug 1574137. Re-enable layout/svg/tests/test_filter_crossorigin.html for Fission. r=gbrown 2019-09-23 18:15:58 +00:00
media Bug 1582646: Cancel proxy lookup when socket closes. r=mjf 2019-09-20 15:13:44 +00:00
memory Bug 1411613 - mark certain allocation functions as non-throwing; r=glandium 2019-09-04 23:40:15 +00:00
mfbt Bug 1581315 part 1. Adjust MOZ_MUST_RETURN_FROM_CALLER to only apply to method calls on arguments. r=nika 2019-09-20 02:17:01 +00:00
mobile Bug 1564920 - Add browser.safebrowsing.debug to test environment prefs. r=geckoview-reviewers,agi 2019-09-20 22:09:37 +00:00
modules Backed out changeset 5ed078313a10 (bug 1563063)for causing browser-chrome failures on browser_test_feature_preferencereads.js a=backout 2019-09-21 16:36:09 +03:00
mozglue Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
netwerk Bug 833723 - Make test_bug455311.js pass locally on Linux by resolving symlinks; r=bzbarsky 2019-09-23 19:08:39 +00:00
nsprpub Bug 1562330 - Upgrade Firefox 70 to use NSPR 4.22. 2019-08-19 14:23:11 +00:00
other-licenses
parser Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden 2019-09-18 08:26:34 +00:00
python Bug 1542830: Part 3 - Add ntdll_freestanding.lib to freestanding; r=mhowell,froydnj 2019-09-23 20:18:37 +00:00
remote Backed out changeset 918818623794 (bug 1582230) as requested by kashav. a=backout 2019-09-19 21:41:17 +03:00
security bug 1581986 - fix undefined shift behavior in md4 implementation r=kjacobs 2019-09-23 19:17:52 +00:00
services No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM 2019-09-23 13:09:04 +00:00
servo Bug 1579585 - Use fallible allocation for stylesheet invalidation. r=jwatt 2019-09-23 19:08:22 +00:00
startupcache Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan 2019-08-07 19:49:40 +00:00
storage Bug 1582379 - Include more context in Rust mozStorage errors. r=tcsc 2019-09-19 21:16:59 +00:00
taskcluster Bug 1577037 - Stop running all Fennec performance tests; r=perftest-reviewers,stephendonner,sparky,Bebe 2019-09-23 16:49:29 +00:00
testing Bug 1582196 part 1. Stop using NS_ERROR_RANGE_ERR in createImageBitmap. r=baku 2019-09-19 15:35:07 +00:00
third_party Bug 1581816 - Part 2: Revendor dependencies. r=froydnj 2019-09-21 16:38:59 +00:00
toolkit Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
tools Bug 1554657 - Add a verbose mode to |mach lint| to display log output r=ahal 2019-09-23 13:19:25 +00:00
uriloader Bug 1559841. Make the 'load' event wait for OOP-iframes to load. r=kmag 2019-09-19 00:00:44 +00:00
view Bug 1308587 Part 2 - Remove -moz prefix for all multi-column properties in testing and css files. r=dholbert 2019-09-05 21:37:32 +00:00
widget Bug 1542830: Part 5 - Make ModuleVersion copyable and movable; r=mhowell 2019-09-23 20:18:54 +00:00
xpcom Bug 1582196 part 4. Get rid of NS_ERROR_RANGE_ERR. r=peterv 2019-09-23 19:14:33 +00:00
xpfe/appshell Bug 1550721 - Fix GTK title bar for tiled windows. r=stransky,dao 2019-09-17 12:05:00 +00:00
.arcconfig
.clang-format
.clang-format-ignore Bug 1579506 - Remove OpenAES source code and references r=bryce,mhoye 2019-09-12 23:27:08 +00:00
.cron.yml Bug 1577037 - Stop running all Fennec performance tests; r=perftest-reviewers,stephendonner,sparky,Bebe 2019-09-23 16:49:29 +00:00
.eslintignore Bug 1582557 - Fix some stepping issues, r=jlast. 2019-09-19 21:18:57 +00:00
.eslintrc.js Bug 1579452 - Enable ESLint rule no-async-promise-executor on disabled locations for devtools. r=jlast 2019-09-17 17:50:23 +00:00
.flake8 Bug 1581818 - Make sure client.py stays Python 2 compatible r=stephendonner 2019-09-18 15:16:57 +00:00
.gdbinit
.gdbinit_python
.git-blame-ignore-revs Bug 1572125 - Update .hg-annotate-ignore-revs and .git-blame-ignore-revs to ignore devtools/client/responsive reformatting using Prettier (Bug 1569574) in blame/annotate. r=vporof 2019-08-12 17:27:22 +00:00
.gitattributes
.gitignore
.hg-annotate-ignore-revs Bug 1572125 - Update .hg-annotate-ignore-revs and .git-blame-ignore-revs to ignore devtools/client/responsive reformatting using Prettier (Bug 1569574) in blame/annotate. r=vporof 2019-08-12 17:27:22 +00:00
.hg-format-source
.hgignore Bug 1575089 - Add a new Talos test that measures warm startup time with a number of real-world WebExtensions installed. r=rwood 2019-08-31 06:58:00 +00:00
.hgtags No bug - Tagging mozilla-central b338d55d5007ce5a7d4cdce3aaa8e9f63c5555f7 with FIREFOX_NIGHTLY_70_END a=release DONTBUILD CLOSED TREE 2019-09-02 08:59:36 +00:00
.lldbinit
.mailmap
.prettierignore Bug 1572332 - Move non-debugger devtools prefs into all.js and firefox.js. r=jdescottes 2019-08-26 01:44:59 +00:00
.prettierrc Bug 1578564 - Workaround a prettier warning so that we can run it on html/xhtml files. r=vporof 2019-09-04 06:59:03 +00:00
.taskcluster.yml Bug 1459355: Don't pass parameters as part of actions; r=dustin 2019-08-09 17:02:15 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle Bug 1572859 - Package more aggressively when building GeckoView (and Fennec) within Gradle. r=agi 2019-08-14 20:38:42 +00:00
Cargo.lock Bug 1581816 - Part 1: Update adler32 to 1.0.4. r=froydnj 2019-09-21 16:38:52 +00:00
Cargo.toml Bug 1581158 - Add fuzzing target for rkv r=froydnj 2019-09-20 21:27:35 +00:00
client.mk
client.py Bug 1559975 - fix python2 and python3 linter errors for client.py r=ahal 2019-09-11 21:06:34 +00:00
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-09-02 09:00:31 +00:00
configure.in
configure.py Bug 844509 - Always encode config.status as utf-8. r=nalexander 2019-08-21 21:26:32 +00:00
GNUmakefile
gradle.properties Bug 1577814 - Increase Gradle heap size. r=nalexander 2019-08-30 17:13:46 +00:00
gradlew
gradlew.bat
LEGAL
LICENSE
mach Bug 1580492 - Run mach 'core' commands with Python 3. r=ahal 2019-09-12 20:26:45 +00:00
Makefile.in Bug 1550146 - Part 2: Make mach "build" run "stage-package && android assemble-app" for mobile/android. r=glandium 2019-08-21 03:07:16 +00:00
moz.build Bug 1580028 - Always merge PGO profile data in the run task; r=firefox-build-system-reviewers,chmanchester 2019-09-10 21:56:15 +00:00
moz.configure Bug 1580670 - Disable Visual Studio backend when building GeckoView on Windows. r=froydnj 2019-09-17 13:47:50 +00:00
mozilla-config.h.in
old-configure.in Bug 1577822 - land NSS a3ee4f26b4c1 UPGRADE_NSS_RELEASE, r=kjacobs 2019-09-18 03:27:20 +00:00
package-lock.json Bug 1540982 - Upgrade to ESLint 6.2.2 and switch to ECMA version 11 (BigInt support, Dynamic imports). r=mossop 2019-08-27 14:51:29 +00:00
package.json Bug 1540982 - Upgrade to ESLint 6.2.2 and switch to ECMA version 11 (BigInt support, Dynamic imports). r=mossop 2019-08-27 14:51:29 +00:00
README.txt
settings.gradle
substitute-local-geckoview.gradle Bug 1533465 - Add Gradle script for substituting local GeckoView into downstream consumers. r=sebastian 2019-08-15 21:18:24 +00:00
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.