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
Perry Jiang 87c3eb5a96 Bug 1575185 - Subscribe content processes spawning Service Workers to permission updates r=asuth
Previously, Service Workers could spawn in a process that isn't subscribed
to permission updates, which could happen if that process hadn't loaded any
same-origin documents. To address this, parent-process logic for spawning
Service Workers would snapshot the permissions state to be sent to a content
process.

Unfortunately, this approach could lead to outdated, unsynchronized permissions.
Note that nsIPermissionManager::SetPermissionsWithKey is only used to initialize
permissions for a given key and is a no-op if already called with the same key
in a given process. As a result, the following sequence of events could happen:

Assume a content process CP that isn't subscribed to permission changes for an
origin A:

1) Parent process decides to spawn an origin A Service Worker in CP,
snapshotting a value V for permission P.
2) The Service Worker is spawned in CP, setting CP's permission manager's
permission P to value V (for origin A).
3) Parent process updates its permission P to a value A', which is not
broadcasted to CP (because it's not subscribed).
4) By now, the initial Service Worker has been terminated, and the parent
process decides once again to spawn an origin A Service Worker in CP.
5) The Service Worker is spawned in CP, but the call to SetPermissionsWithKey
is a no-op, leaving CP1 with a mismatched value for permission P.

An additional scenario is if the parent process updates a permission during a
remote Service Worker's lifetime.

This patch, which would subscribe CP1 to permission updates when the parent
process knows a Service Worker would be spawned in CP1, prevents these problems.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 02:23:41 +00:00
.cargo Bug 1582650 - Cranelift: update version to 0.44, rev to 182414f15c18538dfebbe040469ec8001e93ecc5. r=bbouvier. 2019-09-26 09:40:11 +00:00
.vscode Bug 1583388 - Recommend the Firefox debugger VSCode plugin. r=jlast 2019-09-26 22:01:19 +00:00
accessible Bug 1587104 - do not pick up accessible name from containing XUL toolbaritem r=Jamie 2019-10-09 00:09:47 +00:00
browser Bug 1586647 - Hide the Firefox Accounts button if identity.fxaccounts.enabled=false. r=sfoster 2019-10-09 01:21:47 +00:00
build Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal 2019-10-07 21:15:19 +00:00
caps Bug 1583949 - Add a check for IsEvalAllowed to the worker callpath for eval() r=ckerschb,baku 2019-10-08 17:31:35 +00:00
chrome Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug 2019-09-30 22:06:47 +00:00
config Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal 2019-10-07 21:15:19 +00:00
devtools Bug 1572214 - Part 3: Update debugger to use new react-redux flow-typed bindings for better typechecking. r=jlast 2019-10-08 17:59:46 +00:00
docshell Bug 1563343 - Do not search for OS protocol handlers in GV; just let Gecko return ERROR_UNKNOWN_PROTOCOL. r=snorp,geckoview-reviewers,esawin 2019-10-08 19:05:09 +00:00
dom Bug 1575185 - Subscribe content processes spawning Service Workers to permission updates r=asuth 2019-10-09 02:23:41 +00:00
editor Bug 1566795 - part 5: Make the for loop of HTMLEditor::RemoveInlinePropertyInternal() partially selected text nodes r=m_kato 2019-10-08 09:24:47 +00:00
extensions Bug 1586878 - Replace <xul:textbox> with <html:input> in test_add_remove_dictionaries.xul;r=mossop 2019-10-08 17:13:43 +00:00
gfx Bug 1587047 - Update wrench reftest expectations. r=gw 2019-10-08 20:18:50 +00:00
gradle/wrapper
hal Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug 2019-09-30 22:06:47 +00:00
image Bug 1583647 - Make the GIF decoder use the accelerated RGB unpacking. r=tnikkel 2019-09-25 23:31:40 +00:00
intl Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal 2019-10-07 21:15:19 +00:00
ipc Bug 1586436: Ensure that mscom methods that accept variadic arguments use rvalue references in their arguments; r=Jamie 2019-10-08 20:43:38 +00:00
js Bug 1585159 - Don't grow nursery in a last-ditch GC r=jonco 2019-10-08 23:51:22 +00:00
layout Bug 1585863 - Remove nsChangeHint_UpdateTextPath. r=longsonr 2019-10-08 21:52:47 +00:00
media Bug 1580320 - Check return value of PeerConnectionImpl::GetFingerprint. r=drno 2019-10-08 17:52:27 +00:00
memory Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-06 18:29:55 +00:00
mfbt Bug 1587187 - Update xxHash to version 0.7.2. r=dthayer 2019-10-08 19:53:34 +00:00
mobile Bug 1563343 - Do not search for OS protocol handlers in GV; just let Gecko return ERROR_UNKNOWN_PROTOCOL. r=snorp,geckoview-reviewers,esawin 2019-10-08 19:05:09 +00:00
modules Bug 1426010 - Ship column-span. r=dbaron 2019-10-03 18:25:27 +00:00
mozglue Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-06 18:29:55 +00:00
netwerk Backed out changeset e0427b37129b (bug 1566868) for turning Bug1528607 into permafail CLOSED TREE 2019-10-08 22:25:20 +03:00
nsprpub Bug 1586867 - Upgrade Firefox 71 to use NSPR 4.23. r=jcj NSPR_4_23_BETA1 UPGRADE_NSPR_RELEASE 2019-10-07 22:07:04 +00:00
other-licenses Bug 1578489 - New Windows installer icon. r=agashlin 2019-09-23 22:00:43 +00:00
parser Bug 1585674 - Start loads more incrementally in the @import scanner. r=hsivonen 2019-10-03 07:34:35 +00:00
python Bug 1581279 - Fix ./mach clobber --full for Python3; r=firefox-build-system-reviewers,chmanchester 2019-10-08 22:49:07 +00:00
remote Bug 1547961 - [remote] Unskip browser_runtime_executionContext.js on Mac and Windows. r=remote-protocol-reviewers,ato 2019-10-04 09:35:48 +00:00
security Bug 1583067 - Use correct window opener for chrome windows in certManager.js. r=kmag 2019-10-08 21:37:57 +00:00
services Bug 1577690 - WebChannel support for optional Sync. r=vladikoff 2019-10-08 15:19:23 +00:00
servo Bug 1586643 - Don't make visibility additive; r=boris 2019-10-08 01:27:29 +00:00
startupcache Bug 1550108 - Reduce stack size on StartupCache threads r=froydnj 2019-10-04 20:45:41 +00:00
storage Bug 1584431 part 4. Use the new length-aware versions of JS_StringEqualsAscii and JS_FlatStringEqualsAscii where possible. r=jwalden 2019-09-27 21:25:23 +00:00
taskcluster Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-10-08 01:34:25 +03:00
testing Bug 1566795 - part 5: Make the for loop of HTMLEditor::RemoveInlinePropertyInternal() partially selected text nodes r=m_kato 2019-10-08 09:24:47 +00:00
third_party Bug 1577850 - Vendor dependencies for serde_yaml crate. r=webdriver-reviewers,jgraham 2019-10-01 22:30:04 +00:00
toolkit Bug 1576501 - Form fields in about: pages should not get login-related information. r=MattN 2019-10-09 01:21:28 +00:00
tools Bug 1586757 - Rename .jsm files to .jsm.js to allow type checking; r=julienw 2019-10-08 20:48:04 +00:00
uriloader Bug 1563343 - Do not search for OS protocol handlers in GV; just let Gecko return ERROR_UNKNOWN_PROTOCOL. r=snorp,geckoview-reviewers,esawin 2019-10-08 19:05:09 +00:00
view Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-06 18:29:55 +00:00
widget Bug 1558167 - Disable swizzling on macOS 10.15 AMD devices r=jrmuizel 2019-10-08 21:09:58 +00:00
xpcom Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal 2019-10-07 21:15:19 +00:00
xpfe/appshell Bug 1584492 - Add mPIPWindow to nsWidgetInitData and set it for PIP window on Linux/Gtk, r=mats 2019-09-28 06:55:41 +00:00
.arcconfig
.clang-format
.clang-format-ignore Bug 1580356 - Remove Fennec (Firefox for Android). r=snorp,mshal 2019-10-04 20:55:11 +00:00
.cron.yml Bug 1578495 - Run searchfox jobs on ash. r=asuth 2019-10-06 20:00:09 +00:00
.eslintignore Bug 1583785 - Remove devtools webpack reference in eslintignore r=Standard8 2019-09-25 12:15:29 +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 1567642 - [lint.flake8] Skip remaining flake8 under Python 3 lint issues r=gbrown 2019-09-24 14:46:38 +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 1580622: Disable python bytecode generation in the decision task; r=nalexander on a CLOSED TREE 2019-10-07 22:48:48 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle Bug 1580356 - Remove Fennec (Firefox for Android). r=snorp,mshal 2019-10-04 20:55:11 +00:00
Cargo.lock Bug 1584446 - Add an rkv fuzzing test for bug mdb_cursor_put, r=truber 2019-10-02 15:17:13 +00:00
Cargo.toml Bug 1582650 - Cranelift: update version to 0.44, rev to 182414f15c18538dfebbe040469ec8001e93ecc5. r=bbouvier. 2019-09-26 09:40:11 +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 1578348, drop compare-locales from the mach python2 list, r=Callek,ahal 2019-10-08 13:58:33 +00:00
Makefile.in Bug 1540276: Migrate authenticode signing to autograph r=Callek,mshal 2019-09-30 13:57:32 +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 1585355 - Back out (part of) Bug 1443823, removing -fno-keep-inline-dllexport which was only applied to mingw-gcc r=dmajor 2019-10-03 16:01:26 +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 Bug 1580356 - Remove Fennec (Firefox for Android). r=snorp,mshal 2019-10-04 20:55:11 +00:00
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.