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 bd3dd55b2e8ccb76b136b641254925cee03264ec..6b443a587a2ce3eacddf7d97d75734b7ee46f0d8 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
@@ -2044,8 +2044,8 @@ bool LayoutBox::mapToVisualRectInAncestorSpace(const LayoutBoxModelObject* ances |
bool filterOrReflectionSkipped; |
LayoutObject* container = this->container(ancestor, &ancestorSkipped, &filterOrReflectionSkipped); |
LayoutBox* localContainingBlock = containingBlock(); |
- // Skip table row because cells and rows are in the same coordinate space. |
- if (container->isTableRow()) { |
+ // Skip table row because cells and rows are in the same coordinate space, except when we're already at the ancestor. |
+ if (container->isTableRow() && container != ancestor) { |
DCHECK(isTableCell()); |
localContainingBlock = toLayoutBox(container->parent()); |
container = container->parent(); |