summaryrefslogtreecommitdiffstats
path: root/dom/base/AbstractRange.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/AbstractRange.cpp')
-rw-r--r--dom/base/AbstractRange.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/dom/base/AbstractRange.cpp b/dom/base/AbstractRange.cpp
index c9138a19d2..f5d584599b 100644
--- a/dom/base/AbstractRange.cpp
+++ b/dom/base/AbstractRange.cpp
@@ -49,6 +49,8 @@ template nsresult AbstractRange::SetStartAndEndInternal(
const RawRangeBoundary& aEndBoundary, StaticRange* aRange);
template bool AbstractRange::MaybeCacheToReuse(nsRange& aInstance);
template bool AbstractRange::MaybeCacheToReuse(StaticRange& aInstance);
+template bool AbstractRange::MaybeCacheToReuse(
+ CrossShadowBoundaryRange& aInstance);
bool AbstractRange::sHasShutDown = false;
@@ -209,6 +211,12 @@ void AbstractRange::Shutdown() {
cachedRanges->Clear();
delete cachedRanges;
}
+ if (nsTArray<RefPtr<CrossShadowBoundaryRange>>* cachedRanges =
+ CrossShadowBoundaryRange::sCachedRanges) {
+ CrossShadowBoundaryRange::sCachedRanges = nullptr;
+ cachedRanges->Clear();
+ delete cachedRanges;
+ }
}
// static