| Index: Source/core/dom/LiveNodeList.h | 
| diff --git a/Source/core/dom/LiveNodeList.h b/Source/core/dom/LiveNodeList.h | 
| index 5b128c4af13428a78028a561a381314b87e63b5f..4f98ea7c4cfedf1a0a4bcce78f88e59a4fdc58a3 100644 | 
| --- a/Source/core/dom/LiveNodeList.h | 
| +++ b/Source/core/dom/LiveNodeList.h | 
| @@ -66,6 +66,7 @@ public: | 
|  | 
| ContainerNode& rootNode() const; | 
|  | 
| +    void didMoveToDocument(Document& oldDocument, Document& newDocument); | 
| ALWAYS_INLINE bool hasIdNameCache() const { return !isLiveNodeListType(type()); } | 
| ALWAYS_INLINE bool isRootedAtDocument() const { return m_rootType == NodeListIsRootedAtDocument || m_rootType == NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr; } | 
| ALWAYS_INLINE NodeListInvalidationType invalidationType() const { return static_cast<NodeListInvalidationType>(m_invalidationType); } | 
| @@ -78,7 +79,7 @@ public: | 
| else if (hasIdNameCache() && (*attrName == HTMLNames::idAttr || *attrName == HTMLNames::nameAttr)) | 
| invalidateIdNameCacheMaps(); | 
| } | 
| -    virtual void invalidateCache() const = 0; | 
| +    virtual void invalidateCache(Document* oldDocument = 0) const = 0; | 
|  | 
| static bool shouldInvalidateTypeOnAttributeChange(NodeListInvalidationType, const QualifiedName&); | 
|  | 
| @@ -138,7 +139,7 @@ public: | 
| // Avoid ambiguity since both NodeList and LiveNodeListBase have an ownerNode() method. | 
| using LiveNodeListBase::ownerNode; | 
|  | 
| -    virtual void invalidateCache() const OVERRIDE FINAL; | 
| +    virtual void invalidateCache(Document* oldDocument) const OVERRIDE FINAL; | 
| bool shouldOnlyIncludeDirectChildren() const { return false; } | 
|  | 
| // Collection IndexCache API. | 
|  |