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
Перейти к файлу
Jens Stutte 87de42e070 Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth
The goal here is to ensure we can always rely on `AppShutdown::GetShutdownPhase` to be in sync with the "real" application status, mainly this was needed for xpcshell tests to not break if we add assertions on our shutdown state on some global singletons.

We keep the existing observer notification topics but force them (on the parent process) to be issued through the new `advanceShutdownPhase` function of the startup service using the `ShutdownPhase` enum. This way we can synchronize `AppShutdown`'s internal status accordingly.

Some further notes:

  # The `MOZ_ASSERT(AppShutdown::IsNoOrLegalShutdownTopic(aTopic));` in `NotifyObservers` helped a lot to identify missing cases. I think we should keep it in order to stay safe.
  # Introducing the `cenum IDLShutdownPhase` helps to keep the knowledge about the mapping from shutdown phases to observer topics exclusively inside AppShutdown.cpp. Still callers must know what they do in order to choose a proper phase, of course.
  # However we must be aware that `AppShutdown` this way can be kept in sync with the shutdown notifications only in the parent process and that `GetCurrentShutdownPhase` might not give the correct result in child processes. We might want to file a follow up bug that adds some asserts to avoid improper use of `AppShutdown` functions in child processes (but I do not want to make this patch bigger as needed to solve the blocking dependency for bug 1697972).
  # The socket process is one example of a child process that "overloads" shutdown topics. I was wondering if it is the right call to use the very same topic names here to request shutdown to the socket process or if it should have its own topics. Those topics triggered the assert and thus I had to disable it for child processes, for now.
  # This goes together with the more general approach to define process type specific shutdown phases (and hence mappings to topics) as drafted very roughly in bug 1697745.
  # This patch seemed to trigger a known intermittent more often, thus the change here in `ServiceWorkerManager`.

Differential Revision: https://phabricator.services.mozilla.com/D124350
2021-09-15 07:25:29 +00:00
.cargo Bug 1730672 - Update neqo to 0.5.0 r=necko-reviewers,dragana 2021-09-14 13:37:19 +00:00
.vscode
accessible Bug 1468128: Use an extra bit for the content process portion of MSAA unique ids. r=aklotz 2021-09-15 02:21:11 +00:00
browser Bug 1685500 - [devtools] Create target actors for all iframes. r=ochameau. 2021-09-15 05:35:37 +00:00
build Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
caps Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
chrome Bug 1602940 - Automated replacements to use Services.uuid. r=Gijs,necko-reviewers,preferences-reviewers,kershaw 2021-09-06 09:53:52 +00:00
config Bug 1729232 - Update wasm2c rt to ensure correct hunspell timeout r=glandium 2021-09-09 07:40:38 +00:00
devtools Bug 1685500 - [devtools] Create target actors for all iframes. r=ochameau. 2021-09-15 05:35:37 +00:00
docs Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
docshell Bug 1729458 - Part 2: Make process switches take fewer trips through the event loop, r=smaug 2021-09-14 15:02:58 +00:00
dom Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
editor Bug 1730429 - part 2: Delete empty inline elements which become newly empty but preserve the styles for next editing r=m_kato 2021-09-15 04:13:44 +00:00
extensions Bug 1727925 - Part 3: Migrate six more windows10-32 test suites from AWS to Azure r=jmaher 2021-09-10 11:51:00 +00:00
gfx Backed out changeset bd23fb0c95cc (bug 1729539) for causing web platform failures. 2021-09-15 08:41:00 +03:00
gradle/wrapper Bug 1727438 - Upgrade to Gradle 6.9.1. r=nalexander,owlish 2021-08-31 20:53:09 +00:00
hal Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
image Bug 1729598 - Replace MOZ_MUST_USE_TYPE with [[nodiscard]]. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
intl Bug 1729642 - patch 1 - Make shutdown of nsLanguageAtomService explicit instead of relying on ClearOnShutdown. r=platform-i18n-reviewers,dminor 2021-09-14 18:51:49 +00:00
ipc Bug 1729476 - Remove unused CompositorBridgeChild::SendMakeSnapshot(). r=gfx-reviewers,ipc-reviewers,nika,nical 2021-09-07 22:37:48 +00:00
js Bug 1687417 - MIPS32 nojit, silence an assert and define a couple stubs. r=yury 2021-09-15 06:11:09 +00:00
layout Bug 1729598 - Replace MOZ_MUST_USE_TYPE with [[nodiscard]]. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
media Bug 1709303 - Part 2. Update libjpeg-turbo to 2.1.1. r=tnikkel 2021-09-13 21:55:13 +00:00
memory Bug 1730030 - Replace some assembly with corresponding compiler builtins. r=gerald 2021-09-10 00:58:34 +00:00
mfbt Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
mobile Bug 1729460 - Change users of defineLazyServiceGetter(s) to use Services.* where appropriate. r=mossop,webdriver-reviewers,extension-reviewers,whimboo,robwu 2021-09-10 12:09:49 +00:00
modules Backed out 3 changesets (bug 1487113) for causing mochitest failures. CLOSED TREE 2021-09-14 17:38:32 -04:00
mozglue Bug 1663382 - Optimize Deserializer<ProfilerStringView> to reference in-buffer data when possible - r=canaltinova 2021-09-10 11:43:48 +00:00
netwerk Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
nsprpub Bug 1715584 - Update to NSPR_4_32_RTM (no code change). r=bbeurdouche UPGRADE_NSPR_RELEASE DONTBUILD 2021-07-01 09:07:04 +00:00
other-licenses Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
parser Bug 1308103 - Replace PL_strcmp/PL_strncmp with strcmp/strncmp in xpcom/ and parser/htmlparser/ r=xpcom-reviewers,nika 2021-09-09 19:36:10 +00:00
python Bug 1730778: Fix "./mach gtest" build priority error r=jgilbert 2021-09-14 21:04:27 +00:00
remote Bug 1729280 - Fix links to WebDriver mailing list. r=webdriver-reviewers,jdescottes 2021-09-14 08:37:55 +00:00
security Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
services No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM 2021-09-13 15:09:05 +00:00
servo Bug 1729598 - Replace MOZ_MUST_USE_TYPE with [[nodiscard]]. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
startupcache Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
storage Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
taskcluster Bug 1730078 - Build clang stage 1 with system gcc. r=firefox-build-system-reviewers,mhentges 2021-09-15 02:39:53 +00:00
testing Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
third_party Bug 1730672 - Update neqo to 0.5.0 r=necko-reviewers,dragana 2021-09-14 13:37:19 +00:00
toolkit Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
tools Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
uriloader Bug 1729460 - Change users of defineLazyServiceGetter(s) to use Services.* where appropriate. r=mossop,webdriver-reviewers,extension-reviewers,whimboo,robwu 2021-09-10 12:09:49 +00:00
view Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
widget Bug 1725854 - Check for the WebGPU pref before initializing the GPU process IPC side r=aosmond 2021-09-14 17:48:03 +00:00
xpcom Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth 2021-09-15 07:25:29 +00:00
xpfe/appshell Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
.arcconfig
.babel-eslint.rc.js Bug 1725934 - Remove unnecessary babel plugin, and update node modules to the latest versions. r=Mardak 2021-08-18 07:44:47 +00:00
.clang-format
.clang-format-ignore Bug 1726626 - Move gfx/wgpu into a 3rd party dependency r=jgilbert,bholley 2021-09-03 16:52:08 +00:00
.cron.yml Bug 1729797 - Enable Searchfox indexing of Elm;r=asuth DONTBUILD 2021-09-09 17:14:57 +00:00
.eslintignore Bug 1723729 - Remove old Talos XPI generation scripts and documents. r=jmaher,perftest-reviewers,alexandru.irimovici 2021-08-12 13:56:51 +00:00
.eslintrc.js Bug 1727591 - Enable remaining ESLint rule on remaining docshell/ xhtml files. r=smaug 2021-08-25 18:42:19 +00:00
.flake8 Bug 1714641: Remove usages of vendored "wptserve_py2" library r=jgraham,ahal 2021-06-09 15:48:51 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore
.hg-annotate-ignore-revs
.hg-format-source
.hgignore Bug 1726401 - Remove about_newtab_with_snippets perf test r=perftest-reviewers,AlexandruIonescu 2021-08-23 15:15:10 +00:00
.hgtags No bug - tagging 63d82db58e2ced524acb4dab5687b273ca57f153 with FIREFOX_NIGHTLY_93_END a=release DONTBUILD CLOSED TREE 2021-09-06 13:14:42 +00:00
.lando.ini Bug 1714470: add `.lando.ini` file r=zeid DONTBUILD 2021-06-08 12:52:25 +00:00
.lldbinit
.mailmap
.prettierignore
.prettierrc
.taskcluster.yml Bug 1725404 - [taskgraph] Re-use 'decision' args from main.py, r=bhearsum 2021-08-16 14:56:26 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
AUTHORS
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2021-07-12 12:48:42 +00:00
Cargo.lock Bug 1730672 - Update neqo to 0.5.0 r=necko-reviewers,dragana 2021-09-14 13:37:19 +00:00
Cargo.toml Bug 1726626 - Move gfx/wgpu into a 3rd party dependency r=jgilbert,bholley 2021-09-03 16:52:08 +00:00
GNUmakefile
LICENSE
Makefile.in
README.txt
aclocal.m4
build.gradle Backed out 2 changesets (bug 1729723) for causing linux debug bustage. CLOSED TREE 2021-09-13 23:46:51 +03:00
client.mk Bug 1729383 - Simplify the parallel build setup. r=firefox-build-system-reviewers,mhentges 2021-09-08 00:10:22 +00:00
client.py No bug - fix client.py update_nss on python3. r=firefox-build-system-reviewers,mhentges,bbeurdouche 2021-05-05 16:59:09 +00:00
configure.in
configure.py Bug 1720591: Remove unused patch_main() for Python < 3.4 on Windows r=ahal 2021-07-16 16:34:42 +00:00
gradle.properties Bug 1727438 - Increase java max heap to 32G. r=nalexander,owlish 2021-08-31 20:53:08 +00:00
gradlew
gradlew.bat
mach Bug 1717051: Rename "mach_bootstrap.py" to "mach_initialize.py" r=firefox-build-system-reviewers,glandium 2021-09-03 20:46:22 +00:00
mach.ps1
moz.build Bug 1705403 - Replace FOG's Glean autodocs with link to Glean Dictionary r=janerik DONTBUILD 2021-05-10 13:33:09 +00:00
moz.configure Bug 1727561: Tweak an exception's log level r=glandium 2021-08-31 15:38:40 +00:00
mozilla-config.h.in
old-configure.in Bug 1723389 - Bump the required version of system pixman. r=firefox-build-system-reviewers,andi 2021-08-03 04:41:02 +00:00
package-lock.json Bug 1726413 - Use mach npm install rather than plain npm when updating node_modules. r=Mardak 2021-08-20 07:33:33 +00:00
package.json Bug 1725934 - Remove unnecessary babel plugin, and update node modules to the latest versions. r=Mardak 2021-08-18 07:44:47 +00:00
settings.gradle Bug 1727577 - Improve no-topobjdir experience in Android Studio. r=nalexander 2021-08-30 19:30:01 +00:00
substitute-local-geckoview.gradle Bug 1724782 - Allow substituting GeckoView lite and omni builds. r=nalexander 2021-08-10 20:24:33 +00:00
test.mozbuild

README.txt

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

    https://firefox-source-docs.mozilla.org/contributing/directory_structure.html

For information on how to build Firefox from the source code and create the patch see:

    https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html

If you have a question about developing Firefox, and can't find the solution
on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel.


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 Firefox developers for
testing, may be buggy.