Bug 881087. Skip unnecessary work resetting visited state on links if the base URI only changes its fragment identifier. r=smaug

This commit is contained in:
Boris Zbarsky 2013-07-16 01:31:43 -04:00
parent 7631a999ff
commit 8c66d8be6a

View File

@ -2750,8 +2750,11 @@ nsDocument::SetDocumentURI(nsIURI* aURI)
nsIURI* newBase = GetDocBaseURI(); nsIURI* newBase = GetDocBaseURI();
bool equalBases = false; bool equalBases = false;
// Changing just the ref of a URI does not change how relative URIs would
// resolve wrt to it, so we can treat the bases as equal as long as they're
// equal ignoring the ref.
if (oldBase && newBase) { if (oldBase && newBase) {
oldBase->Equals(newBase, &equalBases); oldBase->EqualsExceptRef(newBase, &equalBases);
} }
else { else {
equalBases = !oldBase && !newBase; equalBases = !oldBase && !newBase;