gecko-dev/docshell
Nazım Can Altınova 20fc64e558 Bug 1583271 - Part 1: Change profiler page information IDs to BrowsingContextID and InnerWindowID r=gerald,nika
We were keeping nsDocShell::mHistoryId and nsDocShell::mOSHE as keys. They
weren't quite good because:
1. While loading an iframe, they were being registered twice with the same
ids(for about:blank and the real URL) sometimes.
2. It wasn't possible to access to the parent mHistoryId and mOSHE from a child
processes if the parent is in a different process. That may not be the case for
now, but it will be after fission.
So we had to find other IDs to:
1. Determine the Tab of the frames.
2. Determine the URLs of the frames.
For the first use case, we were using nsDocShell::mHistoryId for that purpose
but that was wrong. The closest thing that we can get to a tab ID is
BrowsingContext ID because they don't change after a navigation. But iframes
have different BrowsingContext's, so we still need to create a tree to
construct a tab content. That can be either in the front-end or capture time.
For the second use case, we were using a key pair of mHistoryId and mOSHE. We
now chose to keep inner window IDs for that purpose. Inner window IDs are
unique for each navigation loads because inner window correspond to each JS
window global objects. That's why we can use that without any problem. But one
problem is that we cannot handle `history.pushState` and `history.replaceState`
changes with that change since window global objects won't change during those.
But that was the best thing we can do after fission. So this will be a small
sacrifice for us to keep that functionality working after fission.
In that patch we also remove the registration/unregistration calls. We are
going to add those calls in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 21:25:11 +00:00
..
base Bug 1583271 - Part 1: Change profiler page information IDs to BrowsingContextID and InnerWindowID r=gerald,nika 2019-10-09 21:25:11 +00:00
build Bug 1553498 - Inserts an empty page for about:certviewer and redirects to it when the user put that URL in the browser. r=johannh,smaug 2019-05-23 22:12:30 +00:00
resources/content Bug 1499354: Add object-src 'none' to the CSP of all about: pages. r=freddyb 2019-09-26 16:22:41 +00:00
shistory Backed out 11 changesets (bug 1578624) for build bustages. CLOSED TREE 2019-10-09 11:50:37 +03:00
test 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
moz.build Bug 1529088 - Hold the HTML-based about:config to Nightly until we get Product sign-off. r=florian,paolo 2019-02-27 21:54:57 +00:00