Index: Source/core/input/EventHandler.cpp |
diff --git a/Source/core/input/EventHandler.cpp b/Source/core/input/EventHandler.cpp |
index 79eb2f3f15aaa06a6b8f24e122662ff16a167338..f530357218dba1f2cd98881ef8ded0c372609789 100644 |
--- a/Source/core/input/EventHandler.cpp |
+++ b/Source/core/input/EventHandler.cpp |
@@ -2121,8 +2121,13 @@ bool EventHandler::handleGestureTap(const GestureEventWithHitTestResults& target |
bool swallowed = swallowMouseDownEvent | swallowMouseUpEvent | swallowClickEvent; |
if (!swallowed && tappedNode && m_frame->page()) { |
- bool domTreeChanged = preDispatchDomTreeVersion != m_frame->document()->domTreeVersion(); |
- bool styleChanged = preDispatchStyleVersion != m_frame->document()->styleVersion(); |
+ Document* document = m_frame->document(); |
+ bool domTreeChanged = preDispatchDomTreeVersion != document->domTreeVersion(); |
+ bool styleChanged = preDispatchStyleVersion != document->styleVersion(); |
+ if (!styleChanged) { |
+ if (Element* documentElement = document->documentElement()) |
+ styleChanged = documentElement->childNeedsStyleInvalidation(); |
rune
2015/09/14 23:06:51
The test which started failing has a sibling selec
|
+ } |
IntPoint tappedPositionInViewport = m_frame->page()->frameHost().visualViewport().rootFrameToViewport(tappedPosition); |
m_frame->chromeClient().showUnhandledTapUIIfNeeded(tappedPositionInViewport, tappedNode.get(), domTreeChanged || styleChanged); |