commit 7e5bff128a6074752bf59ed60c1fb8af7132ef9f
parent 1131e7bf649cf285e5a30108b262a94203480edd
Author: Alexandru Marc <amarc@mozilla.com>
Date: Wed, 17 Dec 2025 18:30:21 +0200
Revert "Bug 2005571 - Make sure to always set mTriggeringNavigationType. r=smaug,avandolder" for causing mass failures @ CanonicalBrowsingContext.cpp
This reverts commit c0d9d01c327c8e9098961e0a5eacf19601f96671.
Diffstat:
3 files changed, 8 insertions(+), 18 deletions(-)
diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp
@@ -682,10 +682,7 @@ CanonicalBrowsingContext::CreateLoadingSessionHistoryEntryForLoad(
.map([](auto& entry) { return &entry; })
.valueOr(nullptr)));
- if (!existingLoadingInfo) {
- loadingInfo->mTriggeringNavigationType = navigationType;
- }
-
+ loadingInfo->mTriggeringNavigationType = navigationType;
MOZ_LOG_FMT(gNavigationAPILog, LogLevel::Verbose,
"Triggering navigation type was {}.", *navigationType);
@@ -793,13 +790,11 @@ void CanonicalBrowsingContext::GetContiguousEntriesForLoad(
targetURI, uri, false, false));
if (aEntry->isInList() ||
(mActiveEntry && mActiveEntry->isInList() && sameOrigin)) {
- MOZ_DIAGNOSTIC_ASSERT(aLoadingInfo.mTriggeringNavigationType);
- NavigationType navigationType =
- aLoadingInfo.mTriggeringNavigationType.valueOr(NavigationType::Push);
nsSHistory::WalkContiguousEntriesInOrder(
aEntry->isInList() ? aEntry : mActiveEntry,
[activeEntry = mActiveEntry, entries = &aLoadingInfo.mContiguousEntries,
- navigationType](auto* aEntry) {
+ navigationType =
+ *aLoadingInfo.mTriggeringNavigationType](auto* aEntry) {
nsCOMPtr<SessionHistoryEntry> entry = do_QueryObject(aEntry);
MOZ_ASSERT(entry);
if (navigationType == NavigationType::Replace &&
@@ -1400,13 +1395,12 @@ void CanonicalBrowsingContext::SessionHistoryCommit(
}
already_AddRefed<nsDocShellLoadState> CanonicalBrowsingContext::CreateLoadInfo(
- SessionHistoryEntry* aEntry, NavigationType aNavigationType) {
+ SessionHistoryEntry* aEntry) {
const SessionHistoryInfo& info = aEntry->Info();
RefPtr<nsDocShellLoadState> loadState(new nsDocShellLoadState(info.GetURI()));
info.FillLoadInfo(*loadState);
UniquePtr<LoadingSessionHistoryInfo> loadingInfo;
loadingInfo = MakeUnique<LoadingSessionHistoryInfo>(aEntry);
- loadingInfo->mTriggeringNavigationType = Some(aNavigationType);
mLoadingEntries.AppendElement(
LoadingSessionHistoryEntry{loadingInfo->mLoadId, aEntry});
loadState->SetLoadingSessionHistoryInfo(std::move(loadingInfo));
@@ -1430,8 +1424,7 @@ void CanonicalBrowsingContext::NotifyOnHistoryReload(
}
if (mActiveEntry) {
- aLoadState.emplace(WrapMovingNotNull(
- RefPtr{CreateLoadInfo(mActiveEntry, NavigationType::Reload)}));
+ aLoadState.emplace(WrapMovingNotNull(RefPtr{CreateLoadInfo(mActiveEntry)}));
aReloadActiveEntry.emplace(true);
if (aForceReload) {
shistory->RemoveFrameEntries(mActiveEntry);
@@ -1440,8 +1433,8 @@ void CanonicalBrowsingContext::NotifyOnHistoryReload(
const LoadingSessionHistoryEntry& loadingEntry =
mLoadingEntries.LastElement();
uint64_t loadId = loadingEntry.mLoadId;
- aLoadState.emplace(WrapMovingNotNull(
- RefPtr{CreateLoadInfo(loadingEntry.mEntry, NavigationType::Reload)}));
+ aLoadState.emplace(
+ WrapMovingNotNull(RefPtr{CreateLoadInfo(loadingEntry.mEntry)}));
aReloadActiveEntry.emplace(false);
if (aForceReload) {
SessionHistoryEntry::LoadingEntry* entry =
diff --git a/docshell/base/CanonicalBrowsingContext.h b/docshell/base/CanonicalBrowsingContext.h
@@ -598,7 +598,7 @@ class CanonicalBrowsingContext final : public BrowsingContext {
}
already_AddRefed<nsDocShellLoadState> CreateLoadInfo(
- SessionHistoryEntry* aEntry, NavigationType aNavigationType);
+ SessionHistoryEntry* aEntry);
void GetContiguousEntriesForLoad(LoadingSessionHistoryInfo& aLoadingInfo,
const RefPtr<SessionHistoryEntry>& aEntry);
diff --git a/docshell/base/nsDocShellLoadState.cpp b/docshell/base/nsDocShellLoadState.cpp
@@ -782,9 +782,6 @@ void nsDocShellLoadState::SetSHEntry(nsISHEntry* aSHEntry) {
nsCOMPtr<SessionHistoryEntry> she = do_QueryInterface(aSHEntry);
if (she) {
mLoadingSessionHistoryInfo = MakeUnique<LoadingSessionHistoryInfo>(she);
- mLoadingSessionHistoryInfo->mTriggeringNavigationType =
- NavigationUtils::NavigationTypeFromLoadType(LoadType());
- MOZ_ASSERT(mLoadingSessionHistoryInfo->mTriggeringNavigationType);
} else {
mLoadingSessionHistoryInfo = nullptr;
}