зеркало из https://github.com/mozilla/gecko-dev.git
d409469275
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 |
||
---|---|---|
.. | ||
base | ||
docs | ||
exthandler | ||
prefetch | ||
preload | ||
moz.build |