diff options
Diffstat (limited to 'dom/base/AbstractRange.cpp')
-rw-r--r-- | dom/base/AbstractRange.cpp | 8 |
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 |