Bug 1645450 - Remove elements by index rather than searching in docshell. r=nika

Differential Revision: https://phabricator.services.mozilla.com/D79513
This commit is contained in:
Simon Giesecke
2020-06-15 17:04:20 +00:00
parent 34eff52ed4
commit 25ba854d50

View File

@@ -1503,7 +1503,7 @@ void nsDocShell::NotifyPrivateBrowsingChanged() {
nsWeakPtr ref = iter.GetNext();
nsCOMPtr<nsIPrivacyTransitionObserver> obs = do_QueryReferent(ref);
if (!obs) {
mPrivacyObservers.RemoveElement(ref);
iter.Remove();
} else {
obs->PrivateModeChanged(UsePrivateBrowsing());
}
@@ -1616,7 +1616,7 @@ nsDocShell::NotifyReflowObservers(bool aInterruptible,
nsWeakPtr ref = iter.GetNext();
nsCOMPtr<nsIReflowObserver> obs = do_QueryReferent(ref);
if (!obs) {
mReflowObservers.RemoveElement(ref);
iter.Remove();
} else if (aInterruptible) {
obs->ReflowInterruptible(aStart, aEnd);
} else {
@@ -2094,7 +2094,7 @@ void nsDocShell::NotifyAsyncPanZoomStarted() {
if (obs) {
obs->AsyncPanZoomStarted();
} else {
mScrollObservers.RemoveElement(ref);
iter.Remove();
}
}
}
@@ -2107,7 +2107,7 @@ void nsDocShell::NotifyAsyncPanZoomStopped() {
if (obs) {
obs->AsyncPanZoomStopped();
} else {
mScrollObservers.RemoveElement(ref);
iter.Remove();
}
}
}
@@ -2121,7 +2121,7 @@ nsDocShell::NotifyScrollObservers() {
if (obs) {
obs->ScrollPositionChanged();
} else {
mScrollObservers.RemoveElement(ref);
iter.Remove();
}
}
return NS_OK;