Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| index 78eca2d86f8337920eaf26036524d39d37768599..e177e4a614a95279f99087f66a8255456585e263 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
| @@ -2096,7 +2096,9 @@ bool LayoutBox::mapToVisualRectInAncestorSpace(const LayoutBoxModelObject* ances |
| rect = LayoutRect(layer()->transform()->mapRect(enclosingIntRect(rect))); |
| } |
| LayoutPoint topLeft = rect.location(); |
| - if (container->isBox()) { |
| + // LayoutRubyRun is the (anonymous) block container for LayoutRuby{Base,Text}, all of which are boxes. |
| + // We need to only flip once, so we leave that to LayoutRubyRun. |
| + if (container->isBox() && !container->isRubyRun()) { |
|
chrishtr
2016/07/21 17:24:54
!container->isInline() also makes this test pass,
wkorman
2016/07/26 00:38:14
I looked into how PaintLayer::updateLayerPosition
chrishtr
2016/07/26 18:02:29
Please add a TODO(wkorman) that it's not clear why
|
| topLeft.moveBy(topLeftLocation(toLayoutBox(container))); |
| // If the row is the ancestor, however, add its offset back in. In effect, this passes from the joint <td> / <tr> |
| // coordinate space to the parent space, then back to <tr> / <td>. |