diff options
Diffstat (limited to 'docshell/base/BaseHistory.cpp')
-rw-r--r-- | docshell/base/BaseHistory.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/docshell/base/BaseHistory.cpp b/docshell/base/BaseHistory.cpp index 3932711b5b..84e257a54c 100644 --- a/docshell/base/BaseHistory.cpp +++ b/docshell/base/BaseHistory.cpp @@ -94,8 +94,15 @@ void BaseHistory::RegisterVisitedCallback(nsIURI* aURI, Link* aLink) { mTrackedURIs.WithEntryHandle(aURI, [&](auto&& entry) -> ObservingLinks* { MOZ_DIAGNOSTIC_ASSERT(!entry || !entry->mLinks.IsEmpty(), "An empty key was kept around in our hashtable!"); + if (!entry) { - ScheduleVisitedQuery(aURI, nullptr); + // If the URI has userpass, skip the visit query scheduling, because + // these URIs are not stored by history, and their status is only + // updated at the time of a visit. + bool hasUserPass; + if (NS_FAILED(aURI->GetHasUserPass(&hasUserPass)) || !hasUserPass) { + ScheduleVisitedQuery(aURI, nullptr); + } } return &entry.OrInsertWith([] { return ObservingLinks{}; }); |