Index: Source/core/input/EventHandler.cpp |
diff --git a/Source/core/input/EventHandler.cpp b/Source/core/input/EventHandler.cpp |
index 3a33b3d9a6b371e4e96a54c24c9daf0328626ad9..f80746f09a23e711b7d8464051909fd783bb00e9 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(); |
esprehn
2015/09/10 08:54:53
This is not the right layer for this... is this a
|
+ } |
IntPoint tappedPositionInViewport = m_frame->page()->frameHost().visualViewport().rootFrameToViewport(tappedPosition); |
m_frame->chromeClient().showUnhandledTapUIIfNeeded(tappedPositionInViewport, tappedNode.get(), domTreeChanged || styleChanged); |