Diff
Modified: tags/Safari-538.1/LayoutTests/ChangeLog (156490 => 156491)
--- tags/Safari-538.1/LayoutTests/ChangeLog 2013-09-26 20:27:14 UTC (rev 156490)
+++ tags/Safari-538.1/LayoutTests/ChangeLog 2013-09-26 20:32:15 UTC (rev 156491)
@@ -1,3 +1,17 @@
+2013-09-26 Lucas Forschler <[email protected]>
+
+ Merge r156404
+
+ 2013-09-25 Antti Koivisto <[email protected]>
+
+ REGRESSION (r156355) Links / interactive elements inside nested tables are unclickable
+ https://bugs.webkit.org/show_bug.cgi?id=121904
+
+ Reviewed by Andreas Kling.
+
+ * fast/table/hittest-self-painting-expected.txt: Added.
+ * fast/table/hittest-self-painting.html: Added.
+
2013-09-24 Mark Hahnenberg <[email protected]>
op_get_callee shouldn't use value profiling
Copied: tags/Safari-538.1/LayoutTests/fast/table/hittest-self-painting-expected.txt (from rev 156404, trunk/LayoutTests/fast/table/hittest-self-painting-expected.txt) (0 => 156491)
--- tags/Safari-538.1/LayoutTests/fast/table/hittest-self-painting-expected.txt (rev 0)
+++ tags/Safari-538.1/LayoutTests/fast/table/hittest-self-painting-expected.txt 2013-09-26 20:32:15 UTC (rev 156491)
@@ -0,0 +1,10 @@
+Test that events get through self-painting layers in tables.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS click event received
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Copied: tags/Safari-538.1/LayoutTests/fast/table/hittest-self-painting.html (from rev 156404, trunk/LayoutTests/fast/table/hittest-self-painting.html) (0 => 156491)
--- tags/Safari-538.1/LayoutTests/fast/table/hittest-self-painting.html (rev 0)
+++ tags/Safari-538.1/LayoutTests/fast/table/hittest-self-painting.html 2013-09-26 20:32:15 UTC (rev 156491)
@@ -0,0 +1,23 @@
+<html>
+<script src=""
+<head>
+<style>
+#test { background-color: red; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); height:200px; width:200px }
+#test:hover { background-color: green; }
+</style>
+</head>
+<body>
+<table><tr><td>
+<div id=test _onclick_="testPassed('click event received')">
+</div>
+</td></td>
+</table>
+<script>
+ description("Test that events get through self-painting layers in tables.");
+ if (window.eventSender) {
+ eventSender.mouseMoveTo(100, 100);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ }
+</script>
+<script src=""
Modified: tags/Safari-538.1/Source/WebCore/ChangeLog (156490 => 156491)
--- tags/Safari-538.1/Source/WebCore/ChangeLog 2013-09-26 20:27:14 UTC (rev 156490)
+++ tags/Safari-538.1/Source/WebCore/ChangeLog 2013-09-26 20:32:15 UTC (rev 156491)
@@ -1,3 +1,29 @@
+2013-09-26 Lucas Forschler <[email protected]>
+
+ Merge r156404
+
+ 2013-09-25 Antti Koivisto <[email protected]>
+
+ REGRESSION (r156355) Links / interactive elements inside nested tables are unclickable
+ https://bugs.webkit.org/show_bug.cgi?id=121904
+
+ Reviewed by Andreas Kling.
+
+ Test: fast/table/hittest-self-painting.html
+
+ Original reduction by Philippe Wittenbergh.
+
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::styleDidChange):
+
+ Tighten a bit.
+
+ (WebCore::RenderTableRow::nodeAtPoint):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::nodeAtPoint):
+
+ These flipped accidentally in r156355.
+
2013-09-24 Benjamin Poulain <[email protected]>
Remove a contradiction from SelectorChecker
Modified: tags/Safari-538.1/Source/WebCore/rendering/RenderTableRow.cpp (156490 => 156491)
--- tags/Safari-538.1/Source/WebCore/rendering/RenderTableRow.cpp 2013-09-26 20:27:14 UTC (rev 156490)
+++ tags/Safari-538.1/Source/WebCore/rendering/RenderTableRow.cpp 2013-09-26 20:32:15 UTC (rev 156491)
@@ -81,11 +81,8 @@
// If the border width changes on a row, we need to make sure the cells in the row know to lay out again.
// This only happens when borders are collapsed, since they end up affecting the border sides of the cell
// itself.
- for (RenderBox* childBox = firstChildBox(); childBox; childBox = childBox->nextSiblingBox()) {
- if (!childBox->isTableCell())
- continue;
- childBox->setChildNeedsLayout(true, MarkOnlyThis);
- }
+ for (RenderTableCell* cell = firstCell(); cell; cell = cell->nextCell())
+ cell->setChildNeedsLayout(true, MarkOnlyThis);
}
}
}
@@ -216,7 +213,7 @@
// 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 (cell->hasSelfPaintingLayer()) {
+ if (!cell->hasSelfPaintingLayer()) {
LayoutPoint cellPoint = flipForWritingModeForChild(cell, accumulatedOffset);
if (cell->nodeAtPoint(request, result, locationInContainer, cellPoint, action)) {
updateHitTestResult(result, locationInContainer.point() - toLayoutSize(cellPoint));
Modified: tags/Safari-538.1/Source/WebCore/rendering/RenderTableSection.cpp (156490 => 156491)
--- tags/Safari-538.1/Source/WebCore/rendering/RenderTableSection.cpp 2013-09-26 20:27:14 UTC (rev 156490)
+++ tags/Safari-538.1/Source/WebCore/rendering/RenderTableSection.cpp 2013-09-26 20:32:15 UTC (rev 156491)
@@ -1352,7 +1352,7 @@
// 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 (row->hasSelfPaintingLayer()) {
+ if (!row->hasSelfPaintingLayer()) {
LayoutPoint childPoint = flipForWritingModeForChild(row, adjustedLocation);
if (row->nodeAtPoint(request, result, locationInContainer, childPoint, action)) {
updateHitTestResult(result, toLayoutPoint(locationInContainer.point() - childPoint));