Bug 1607984 - P2. Add Redirects/LastVisitInfo getters. r=mattwoodrow

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jean-Yves Avenard 2020-04-15 08:57:27 +00:00
parent c81458c7e4
commit 5be74f584d
2 changed files with 15 additions and 5 deletions

View File

@ -256,6 +256,14 @@ DocumentLoadListener::~DocumentLoadListener() {
LOG(("DocumentLoadListener dtor [this=%p]", this));
}
net::LastVisitInfo DocumentLoadListener::LastVisitInfo() const {
nsCOMPtr<nsIURI> previousURI;
uint32_t previousFlags = 0;
nsDocShell::ExtractLastVisit(mChannel, getter_AddRefs(previousURI),
&previousFlags);
return net::LastVisitInfo{previousURI, previousFlags};
}
already_AddRefed<LoadInfo> DocumentLoadListener::CreateLoadInfo(
CanonicalBrowsingContext* aBrowsingContext, nsDocShellLoadState* aLoadState,
uint64_t aOuterWindowId) {
@ -865,11 +873,7 @@ void DocumentLoadListener::SerializeRedirectData(
aArgs.redirects() = mRedirects;
aArgs.redirectIdentifier() = mCrossProcessRedirectIdentifier;
aArgs.properties() = do_QueryObject(mChannel.get());
nsCOMPtr<nsIURI> previousURI;
uint32_t previousFlags = 0;
nsDocShell::ExtractLastVisit(mChannel, getter_AddRefs(previousURI),
&previousFlags);
aArgs.lastVisitInfo() = LastVisitInfo{previousURI, previousFlags};
aArgs.lastVisitInfo() = LastVisitInfo();
aArgs.srcdocData() = mSrcdocData;
aArgs.baseUri() = mBaseURI;
aArgs.loadStateLoadFlags() = mLoadStateLoadFlags;

View File

@ -180,6 +180,12 @@ class DocumentLoadListener : public nsIInterfaceRequestor,
bool aIsCrossProcess, uint32_t aRedirectFlags,
uint32_t aLoadFlags) const;
const nsTArray<DocumentChannelRedirect>& Redirects() const {
return mRedirects;
}
net::LastVisitInfo LastVisitInfo() const;
protected:
virtual ~DocumentLoadListener();