Chromium Code Reviews| 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..5a58300fb8881e1d3f52588d04f0b564c9939951 100644 |
| --- a/third_party/WebKit/Source/core/dom/Node.cpp |
| +++ b/third_party/WebKit/Source/core/dom/Node.cpp |
| @@ -1808,6 +1808,16 @@ ExecutionContext* Node::getExecutionContext() const { |
| return document().contextDocument(); |
| } |
| +void Node::willMoveToNewDocument(Document& oldDocument, Document& newDocument) { |
| + if (oldDocument == newDocument) |
| + return; |
| + |
| + if (oldDocument.frameHost()) { |
| + oldDocument.frameHost()->eventHandlerRegistry().didMoveOutOfFrameHost( |
| + *this); |
| + } |
| +} |
| + |
| void Node::didMoveToNewDocument(Document& oldDocument) { |
| TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled(oldDocument); |
| @@ -1820,14 +1830,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()) { |
| + DCHECK_NE(document().frameHost(), oldDocument.frameHost()); |
|
bokan
2017/01/13 18:35:10
Can we assume this in general? What if you move be
wjmaclean
2017/01/13 20:04:24
Ha ha ... apparently not according to the bots!
B
|
| 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()) { |