summaryrefslogtreecommitdiffstats
path: root/docshell/base/BaseHistory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'docshell/base/BaseHistory.cpp')
-rw-r--r--docshell/base/BaseHistory.cpp9
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{}; });