gecko-dev/toolkit/xre
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
..
test Bug 1578683 Turn on ESLint rule prefer-boolean-length-check for toolkit and browser r=Standard8 2019-09-14 09:39:26 +00:00
AutoSQLiteLifetime.cpp
AutoSQLiteLifetime.h
Bootstrap.cpp
Bootstrap.h
CmdLineAndEnvUtils.cpp
CmdLineAndEnvUtils.h Bug 1577706 - move checks for -url from toolkit into browser code, and make osint sanitizer app-agnostic, r=mossop 2019-09-03 17:01:33 +00:00
CreateAppData.cpp
EventTracer.cpp
EventTracer.h
LauncherRegistryInfo.cpp Bug 1418624 - Allow mozilla::Result to be moved, make unwrap{,Err}() move, and add inspect() APIs that return references. r=froydnj 2019-08-13 08:26:18 +00:00
LauncherRegistryInfo.h Bug 1576697 - Use LauncherResult in WinHeaderOnlyUtils.h instead of WindowsErrorResult. r=aklotz 2019-09-07 18:17:45 +00:00
MacApplicationDelegate.h Bug 1551990 - Firefox hangs on wake up from OS X Power Nap r=spohl 2019-06-04 20:04:24 +00:00
MacApplicationDelegate.mm Bug 1564298: Make it possible to build with macOS 10.14 SDK. r=mstange 2019-07-18 19:23:04 +00:00
MacAutoreleasePool.h
MacAutoreleasePool.mm
MacLaunchHelper.h
MacLaunchHelper.mm
ModuleEvaluator.cpp Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
ModuleEvaluator.h Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
ModuleVersionInfo.cpp Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
ModuleVersionInfo.h Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
PolicyChecks.h
ProfileReset.cpp Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike 2019-06-11 15:51:51 +00:00
ProfileReset.h
SafeMode.h Bug 1572838 - ensure osint commandline args are passed appropriately, r=mhowell,mossop 2019-08-20 19:51:34 +00:00
UIKitDirProvider.h
UIKitDirProvider.mm
UntrustedModulesData.cpp Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
UntrustedModulesData.h Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
UntrustedModulesProcessor.cpp Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
UntrustedModulesProcessor.h Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
WinDllServices.cpp Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
WinDllServices.h Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
WinTokenUtils.cpp Bug 1567219 - Add a metric to collect how many users launch a process with Admin but without UAC. r=aklotz 2019-08-28 02:17:49 +00:00
WinTokenUtils.h Bug 1576697 - Use LauncherResult in WinHeaderOnlyUtils.h instead of WindowsErrorResult. r=aklotz 2019-09-07 18:17:45 +00:00
components.conf
glxtest.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-06-08 08:26:37 +00:00
moz.build Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell 2019-09-23 20:19:17 +00:00
nsAndroidStartup.cpp
nsAppRunner.cpp Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden 2019-09-18 08:26:34 +00:00
nsAppRunner.h Bug 1556832: Comparing compatibility versions goes on to check the build IDs when the version is newer. r=froydnj 2019-06-04 10:44:16 -07:00
nsAppStartupNotifier.cpp Bug 1558306 - Clean up app-startup category/topics for readability. r=mconley 2019-06-12 17:50:13 +00:00
nsAppStartupNotifier.h
nsCommandLineServiceMac.h
nsCommandLineServiceMac.mm
nsConsoleWriter.cpp Bug 1558653. Stop using [array] in nsIConsoleService. r=froydnj 2019-06-12 18:10:19 +00:00
nsEmbedFunctions.cpp Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
nsEmbeddingModule.cpp
nsGDKErrorHandler.cpp
nsGDKErrorHandler.h
nsIAppStartupNotifier.h Bug 1558306 - Clean up app-startup category/topics for readability. r=mconley 2019-06-12 17:50:13 +00:00
nsINativeAppSupport.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIWinAppHelper.idl
nsIXREDirProvider.idl
nsNativeAppSupportBase.cpp
nsNativeAppSupportBase.h
nsNativeAppSupportCocoa.mm
nsNativeAppSupportDefault.cpp
nsNativeAppSupportUnix.cpp
nsNativeAppSupportWin.cpp
nsNativeAppSupportWin.h
nsSigHandlers.cpp
nsSigHandlers.h
nsUpdateDriver.cpp Bug 1577061: Modify nsUpdateDriver's GetCurrentWorkingDir to accept a nsACString& argument; r=mhowell 2019-08-28 17:29:06 +00:00
nsUpdateDriver.h
nsWindowsRestart.cpp
nsWindowsWMain.cpp
nsX11ErrorHandler.cpp
nsX11ErrorHandler.h Bug 1550422 - P0. Use X11UndefineNone.h to avoid conflicts with the macro None from X11/X.h. r=karlt 2019-05-25 10:13:02 +00:00
nsXREDirProvider.cpp Bug 1580282 - Remove checks for plugins that are part of extensions and support for loading plugins from the app and profile dir, r=mconley,mixedpuppy 2019-09-12 23:15:49 +00:00
nsXREDirProvider.h Bug 1580282 - Remove checks for plugins that are part of extensions and support for loading plugins from the app and profile dir, r=mconley,mixedpuppy 2019-09-12 23:15:49 +00:00
platform.ini
updaterfileutils_osx.h
updaterfileutils_osx.mm