Index: third_party/WebKit/Source/core/editing/FrameSelection.cpp |
diff --git a/third_party/WebKit/Source/core/editing/FrameSelection.cpp b/third_party/WebKit/Source/core/editing/FrameSelection.cpp |
index fd90957a58fd8df90dcd66039ffb75dd0e540789..384fee5bcaf652058ababbf4a7ddb3815f29e38b 100644 |
--- a/third_party/WebKit/Source/core/editing/FrameSelection.cpp |
+++ b/third_party/WebKit/Source/core/editing/FrameSelection.cpp |
@@ -405,6 +405,15 @@ void FrameSelection::nodeWillBeRemoved(Node& node) |
respondToNodeModification(node, removingNodeRemovesPosition(node, selection().base()), removingNodeRemovesPosition(node, selection().extent()), |
removingNodeRemovesPosition(node, selection().start()), removingNodeRemovesPosition(node, selection().end())); |
+ |
+ if (m_previousCaretNode && node.isSameNode(m_previousCaretNode.get())) { |
yosin_UTC9
2016/02/24 03:55:25
|node == m_previousCaretNode|
Node::isSmaeNode()
dshwang
2016/02/24 13:12:18
Done.
|
+ // Hits in ManualTests/caret-paint-after-last-text-is-removed.html |
+ DisableCompositingQueryAsserts disabler; |
+ invalidateLocalCaretRect(m_previousCaretNode.get(), m_previousCaretRect); |
+ m_previousCaretNode = nullptr; |
+ m_previousCaretRect = LayoutRect(); |
+ m_previousCaretVisibility = Hidden; |
+ } |
} |
static bool intersectsNode(const VisibleSelection& selection, Node* node) |