summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderTableRow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderTableRow.cpp')
-rw-r--r--WebCore/rendering/RenderTableRow.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/WebCore/rendering/RenderTableRow.cpp b/WebCore/rendering/RenderTableRow.cpp
index 2166ef2..98544a6 100644
--- a/WebCore/rendering/RenderTableRow.cpp
+++ b/WebCore/rendering/RenderTableRow.cpp
@@ -115,7 +115,7 @@ void RenderTableRow::layout()
ASSERT(needsLayout());
// Table rows do not add translation.
- LayoutStateMaintainer statePusher(view(), this, IntSize());
+ LayoutStateMaintainer statePusher(view(), this, IntSize(), style()->isFlippedBlocksWritingMode());
bool paginated = view()->layoutState()->isPaginated();
@@ -175,9 +175,12 @@ bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& r
// at the moment (a demoted inline <form> for example). If we ever implement a
// table-specific hit-test method (which we should do for performance reasons anyway),
// then we can remove this check.
- if (child->isTableCell() && !toRenderBox(child)->hasSelfPaintingLayer() && child->nodeAtPoint(request, result, x, y, tx, ty, action)) {
- updateHitTestResult(result, IntPoint(x - tx, y - ty));
- return true;
+ if (child->isTableCell() && !toRenderBox(child)->hasSelfPaintingLayer()) {
+ IntPoint cellPoint = flipForWritingMode(toRenderTableCell(child), IntPoint(tx, ty), ParentToChildFlippingAdjustment);
+ if (child->nodeAtPoint(request, result, x, y, cellPoint.x(), cellPoint.y(), action)) {
+ updateHitTestResult(result, IntPoint(x - cellPoint.x(), y - cellPoint.y()));
+ return true;
+ }
}
}