tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mdocshell/base/CanonicalBrowsingContext.cpp | 21+++++++--------------
Mdocshell/base/CanonicalBrowsingContext.h | 2+-
Mdocshell/base/nsDocShellLoadState.cpp | 3---
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; }