| Index: Source/core/dom/ContainerNode.cpp
 | 
| diff --git a/Source/core/dom/ContainerNode.cpp b/Source/core/dom/ContainerNode.cpp
 | 
| index 5ca16c88a4f7091f55fbf2ad4120deaef2db9de2..44c7705756ddbc732b48d4c6f7830b78fc6e9e93 100644
 | 
| --- a/Source/core/dom/ContainerNode.cpp
 | 
| +++ b/Source/core/dom/ContainerNode.cpp
 | 
| @@ -34,6 +34,7 @@
 | 
|  #include "core/dom/NodeLayoutStyle.h"
 | 
|  #include "core/dom/NodeRareData.h"
 | 
|  #include "core/dom/NodeTraversal.h"
 | 
| +#include "core/dom/NthIndexCache.h"
 | 
|  #include "core/dom/SelectorQuery.h"
 | 
|  #include "core/dom/StaticNodeList.h"
 | 
|  #include "core/dom/StyleEngine.h"
 | 
| @@ -855,6 +856,7 @@ void ContainerNode::childrenChanged(const ChildrenChange& change)
 | 
|          setChildNeedsStyleRecalc();
 | 
|          markAncestorsWithChildNeedsStyleRecalc();
 | 
|      }
 | 
| +    ASSERT(!document().nthIndexCache());
 | 
|  }
 | 
|  
 | 
|  void ContainerNode::cloneChildNodes(ContainerNode *clone)
 | 
| @@ -1158,6 +1160,8 @@ PassRefPtrWillBeRawPtr<Element> ContainerNode::querySelector(const AtomicString&
 | 
|      SelectorQuery* selectorQuery = document().selectorQueryCache().add(selectors, document(), exceptionState);
 | 
|      if (!selectorQuery)
 | 
|          return nullptr;
 | 
| +
 | 
| +    NthIndexCacheScope nthIndexScope(document());
 | 
|      return selectorQuery->queryFirst(*this);
 | 
|  }
 | 
|  
 | 
| @@ -1172,6 +1176,7 @@ PassRefPtrWillBeRawPtr<StaticElementList> ContainerNode::querySelectorAll(const
 | 
|      if (!selectorQuery)
 | 
|          return nullptr;
 | 
|  
 | 
| +    NthIndexCacheScope nthIndexScope(document());
 | 
|      return selectorQuery->queryAll(*this);
 | 
|  }
 | 
|  
 | 
| 
 |