Chromium Code Reviews| Index: Source/core/input/EventHandler.cpp |
| diff --git a/Source/core/input/EventHandler.cpp b/Source/core/input/EventHandler.cpp |
| index c66e5f02b6f1e0f58f7b3f1b30dacd77b3fc7a9b..c91483f2906b449b09eb22d43beb0b5db80f9aca 100644 |
| --- a/Source/core/input/EventHandler.cpp |
| +++ b/Source/core/input/EventHandler.cpp |
| @@ -1526,7 +1526,7 @@ void EventHandler::sendMouseEventsForNodeTransition(Node* exitedNode, Node* ente |
| ASSERT(exitedNode != enteredNode); |
| // First, dispatch mouseout event (which bubbles to ancestors) |
| - if (exitedNode) |
| + if (exitedNode && exitedNode->inDocument()) |
|
dtapuska
2015/08/14 17:20:09
Can we just make an anonymous scope function to ch
mustaq
2015/08/14 21:00:15
Done.
|
| exitedNode->dispatchMouseEvent(mouseEvent, EventTypeNames::mouseout, 0, enteredNode); |
| // A note on mouseenter and mouseleave: These are non-bubbling events, and they are dispatched if there |
| @@ -1546,13 +1546,13 @@ void EventHandler::sendMouseEventsForNodeTransition(Node* exitedNode, Node* ente |
| // Create lists of all exited/entered ancestors. |
| WillBeHeapVector<RefPtrWillBeMember<Node>, 32> exitedAncestors; |
| WillBeHeapVector<RefPtrWillBeMember<Node>, 32> enteredAncestors; |
| - if (exitedNode) { |
| + if (exitedNode && exitedNode->inDocument()) { |
| exitedNode->updateDistribution(); |
| for (Node* node = exitedNode; node; node = ComposedTreeTraversal::parent(*node)) { |
| exitedAncestors.append(node); |
| } |
| } |
| - if (enteredNode) { |
| + if (enteredNode && enteredNode->inDocument()) { |
| enteredNode->updateDistribution(); |
| for (Node* node = enteredNode; node; node = ComposedTreeTraversal::parent(*node)) { |
| enteredAncestors.append(node); |
| @@ -1591,7 +1591,7 @@ void EventHandler::sendMouseEventsForNodeTransition(Node* exitedNode, Node* ente |
| } |
| // Dispatch mouseover event (which bubbles to ancestors) after the mouseleave events are sent. |
| - if (enteredNode) |
| + if (enteredNode && enteredNode->inDocument()) |
| enteredNode->dispatchMouseEvent(mouseEvent, EventTypeNames::mouseover, 0, exitedNode); |
| // Determine if there is a capturing mouseenter listener in an ancestor. This must be done /after/ dispatching the |