summaryrefslogtreecommitdiffstats
path: root/dom/base/ScriptableContentIterator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/ScriptableContentIterator.cpp')
-rw-r--r--dom/base/ScriptableContentIterator.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/dom/base/ScriptableContentIterator.cpp b/dom/base/ScriptableContentIterator.cpp
index d10c4e68f8..ab04053c29 100644
--- a/dom/base/ScriptableContentIterator.cpp
+++ b/dom/base/ScriptableContentIterator.cpp
@@ -109,6 +109,22 @@ ScriptableContentIterator::InitWithRange(IteratorType aType, nsRange* aRange) {
}
NS_IMETHODIMP
+ScriptableContentIterator::InitWithRangeAllowCrossShadowBoundary(
+ IteratorType aType, nsRange* aRange) {
+ if (aType == NOT_INITIALIZED ||
+ (mIteratorType != NOT_INITIALIZED && aType != mIteratorType) ||
+ aType != SUBTREE_ITERATOR) {
+ return NS_ERROR_INVALID_ARG;
+ }
+
+ mIteratorType = aType;
+ MOZ_ASSERT(mIteratorType == SUBTREE_ITERATOR);
+ EnsureContentIterator();
+ return static_cast<ContentSubtreeIterator*>(mContentIterator.get())
+ ->InitWithAllowCrossShadowBoundary(aRange);
+}
+
+NS_IMETHODIMP
ScriptableContentIterator::InitWithPositions(IteratorType aType,
nsINode* aStartContainer,
uint32_t aStartOffset,