Bug 1492648 - Move from nsDocShellLoadInfo to nsDocShellLoadState; r=bz, nika

Creates the nsDocShellLoadState object, which is basically
nsDocShellLoadInfo plus a few extra fields to make it usable as a
single argument to nsDocShell::LoadURI (and eventually
nsDocShell::InternalLoad).

Subframe history handling is a huge logic block in
nsDocShell::LoadURI, which is only used on history loads. This patch
also extracts the logic out into its own function to make the body of
LoadURI clearer.
This commit is contained in:
Kyle Machulis
2018-10-29 17:13:29 -07:00
parent d852e88f6c
commit 05a190dd1a
27 changed files with 1026 additions and 822 deletions

View File

@@ -534,7 +534,7 @@ private: // member functions
uint32_t aReferrerPolicy,
nsIPrincipal* aTriggeringPrincipal,
nsIPrincipal* aPrincipalToInherit,
const char* aTypeHint,
const nsACString& aTypeHint,
const nsAString& aFileName,
nsIInputStream* aPostData,
nsIInputStream* aHeadersData,
@@ -905,6 +905,14 @@ private: // member functions
return mCSSErrorReportingEnabled;
}
// Handles retrieval of subframe session history for nsDocShell::LoadURI. If a
// load is requested in a subframe of the current DocShell, the subframe
// loadType may need to reflect the loadType of the parent document, or in
// some cases (like reloads), the history load may need to be cancelled. See
// function comments for in-depth logic descriptions.
void
MaybeHandleSubframeHistory(nsDocShellLoadState* aLoadState);
private: // data members
static nsIURIFixup* sURIFixup;