gecko-dev/uriloader
Gijs Kruitbosch d409469275 Bug 1650162 - disjoint external URI loading protection should deal with invisible iframes, r=mattwoodrow
The aim of the code we're modifying here is to block things in one browsingcontext
tree from opening external links in another browsingcontext tree (and causing the
external protocol dialog to show up for that tab/window) -- except if the other
browsingcontext into which something is being loaded is same-origin.

Unfortunately the pre-patch code assumed that it would find currentWindowGlobal
objects for each browsingcontext, and it turns out that's not guaranteed,
especially in the case of hidden iframes, which turn out to be quite commonly
used for external protocol launches.

This patch fixes this by continuing to move towards the root of the browsingcontext
tree even if there's no currentWindowGlobal (though logically speaking, this
should only be necessary for the first iteration of the loop, it seems easier to
just always check this). It also adds a test for this behaviour working.

Differential Revision: https://phabricator.services.mozilla.com/D83015
2020-07-16 08:35:17 +00:00
..
base Bug 1648010 - Remove NS_NAMED_LITERAL_CSTRING and NS_NAMED_LITERAL_STRING macros. r=froydnj 2020-07-01 08:42:31 +00:00
docs no bug - mozlint/codespell - Add two docs directories in the list + fix typos r=marco DONTBUILD 2020-03-09 10:43:14 +00:00
exthandler Bug 1650162 - disjoint external URI loading protection should deal with invisible iframes, r=mattwoodrow 2020-07-16 08:35:17 +00:00
prefetch Bug 1366973: Rename security flags to not contain DATA anymore r=geckoview-reviewers,ckerschb,snorp 2020-07-15 11:20:45 +00:00
preload Bug 1652007 - Move implementation of UsageTimer to cpp file to avoid dependency on dom/base/Document.h. r=smaug 2020-07-15 12:47:41 +00:00
moz.build Bug 1618287 - PreloaderBase class, r=smaug 2020-05-11 14:20:39 +00:00