Title: [156491] tags/Safari-538.1

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));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to