Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Unified Diff: third_party/WebKit/Source/core/paint/PaintLayer.cpp

Issue 2600593002: Fix touch event flag may not be updated correctly by transform which causes no layout (Closed)
Patch Set: Use absolute position for cross-platform purpose Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
index 4f39b06088c6dcdf14872d18b80e9ab4d8baa891..3abc405d0f5ba27ba1906280cb0a0fab4de5a99e 100644
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
@@ -433,6 +433,14 @@ void PaintLayer::updateTransform(const ComputedStyle* oldStyle,
layoutObject()->hasTransformRelatedProperty() && newStyle.hasTransform();
bool had3DTransform = has3DTransform();
majidvp 2017/01/02 21:01:11 Invalidating touch regions on every transform chan
yigu 2017/01/03 21:21:35 Done.
+ // When transform does not cause a layout, notifyGeometryChanged()
+ // should be called to correctly update the touch event flags
majidvp 2017/01/02 21:01:11 The comment seems superfluous. It is also a bit in
yigu 2017/01/03 21:21:35 Done.
+ if (hasTransform) {
majidvp 2017/01/02 21:01:10 hmmm, I think this check here is incorrect. You wa
yigu 2017/01/03 21:21:35 Done.
+ if (ScrollingCoordinator* scrollingCoordinator =
+ layoutObject()->frame()->page()->scrollingCoordinator())
+ scrollingCoordinator->notifyGeometryChanged();
majidvp 2017/01/02 21:01:10 |notifyGeometryChanged| causes recomputation of no
yigu 2017/01/03 21:21:35 Done.
+ }
+
majidvp 2017/01/02 21:01:10 I rather move this logic at the bottom of the func
yigu 2017/01/03 21:21:35 Done.
bool hadTransform = transform();
if (hasTransform != hadTransform) {
if (hasTransform)

Powered by Google App Engine
This is Rietveld 408576698