| Index: third_party/WebKit/Source/core/dom/Node.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp
|
| index caf5618827c3424f3f6e8939958d3761287ee1f4..f01be602d7b8dde6faa2f1a48c329083a977b58b 100644
|
| --- a/third_party/WebKit/Source/core/dom/Node.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/Node.cpp
|
| @@ -1808,6 +1808,14 @@ ExecutionContext* Node::getExecutionContext() const {
|
| return document().contextDocument();
|
| }
|
|
|
| +void Node::willMoveToNewDocument(Document& oldDocument, Document& newDocument) {
|
| + if (!oldDocument.frameHost() ||
|
| + oldDocument.frameHost() == newDocument.frameHost())
|
| + return;
|
| +
|
| + oldDocument.frameHost()->eventHandlerRegistry().didMoveOutOfFrameHost(*this);
|
| +}
|
| +
|
| void Node::didMoveToNewDocument(Document& oldDocument) {
|
| TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled(oldDocument);
|
|
|
| @@ -1820,14 +1828,10 @@ void Node::didMoveToNewDocument(Document& oldDocument) {
|
| }
|
|
|
| oldDocument.markers().removeMarkers(this);
|
| - if (oldDocument.frameHost() && !document().frameHost())
|
| - oldDocument.frameHost()->eventHandlerRegistry().didMoveOutOfFrameHost(
|
| - *this);
|
| - else if (document().frameHost() && !oldDocument.frameHost())
|
| + if (document().frameHost() &&
|
| + document().frameHost() != oldDocument.frameHost()) {
|
| document().frameHost()->eventHandlerRegistry().didMoveIntoFrameHost(*this);
|
| - else if (oldDocument.frameHost() != document().frameHost())
|
| - EventHandlerRegistry::didMoveBetweenFrameHosts(
|
| - *this, oldDocument.frameHost(), document().frameHost());
|
| + }
|
|
|
| if (const HeapVector<TraceWrapperMember<MutationObserverRegistration>>*
|
| registry = mutationObserverRegistry()) {
|
|
|