mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 14:54:25 +00:00
Bug 1332310 - Update AddState and CreateContentViewer to provide an accurate triggeringPrincipal for creating a history entry
This commit is contained in:
@@ -9147,8 +9147,13 @@ nsDocShell::CreateContentViewer(const nsACString& aContentType,
|
||||
|
||||
// Make sure we have a URI to set currentURI.
|
||||
nsCOMPtr<nsIURI> failedURI;
|
||||
nsCOMPtr<nsIPrincipal> triggeringPrincipal;
|
||||
if (failedChannel) {
|
||||
NS_GetFinalChannelURI(failedChannel, getter_AddRefs(failedURI));
|
||||
} else {
|
||||
// if there is no failed channel we have to explicitly provide
|
||||
// a triggeringPrincipal for the history entry.
|
||||
triggeringPrincipal = nsContentUtils::GetSystemPrincipal();
|
||||
}
|
||||
|
||||
if (!failedURI) {
|
||||
@@ -9169,7 +9174,8 @@ nsDocShell::CreateContentViewer(const nsACString& aContentType,
|
||||
// Create an shistory entry for the old load.
|
||||
if (failedURI) {
|
||||
bool errorOnLocationChangeNeeded = OnNewURI(
|
||||
failedURI, failedChannel, nullptr, nullptr, mLoadType, false, false, false);
|
||||
failedURI, failedChannel, triggeringPrincipal,
|
||||
nullptr, mLoadType, false, false, false);
|
||||
|
||||
if (errorOnLocationChangeNeeded) {
|
||||
FireOnLocationChange(this, failedChannel, failedURI,
|
||||
@@ -12126,7 +12132,9 @@ nsDocShell::AddState(JS::Handle<JS::Value> aData, const nsAString& aTitle,
|
||||
|
||||
// Since we're not changing which page we have loaded, pass
|
||||
// true for aCloneChildren.
|
||||
rv = AddToSessionHistory(newURI, nullptr, nullptr, nullptr, true,
|
||||
rv = AddToSessionHistory(newURI, nullptr,
|
||||
document->NodePrincipal(), // triggeringPrincipal
|
||||
nullptr, true,
|
||||
getter_AddRefs(newSHEntry));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user