Chromium Code Reviews| 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 abd609c8f6e5c374e79065e6f3e944837b4054fa..fa777e852870cfcedc15ce69e0e3eb4eef6237ac 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
| @@ -387,8 +387,13 @@ void PaintLayer::updateTransformationMatrix() { |
| void PaintLayer::updateTransform(const ComputedStyle* oldStyle, |
| const ComputedStyle& newStyle) { |
| - if (oldStyle && newStyle.transformDataEquivalent(*oldStyle)) |
| + // It's possible for the old and new style transform data to be equivalent |
| + // while hasTransform() differs, as it checks a number of conditions aside |
| + // from just the matrix, including but not limited to animation state. |
| + if (oldStyle && oldStyle->hasTransform() == newStyle.hasTransform() && |
|
alancutter (OOO until 2018)
2017/03/22 00:31:08
Perhaps hasTransform() would be better named hasTr
wkorman
2017/03/22 01:28:01
Some kind of rename would definitely be helpful. E
|
| + newStyle.transformDataEquivalent(*oldStyle)) { |
| return; |
| + } |
| // hasTransform() on the layoutObject is also true when there is |
| // transform-style: preserve-3d or perspective set, so check style too. |