Title: [139395] branches/chromium/1312
Revision
139395
Author
[email protected]
Date
2013-01-10 18:28:23 -0800 (Thu, 10 Jan 2013)

Log Message

Merge 138908
BUG=166324
Review URL: https://codereview.chromium.org/11853003

Modified Paths

Added Paths

Diff

Copied: branches/chromium/1312/LayoutTests/fast/block/sticky-position-containing-block-crash-expected.txt (from rev 138908, trunk/LayoutTests/fast/block/sticky-position-containing-block-crash-expected.txt) (0 => 139395)


--- branches/chromium/1312/LayoutTests/fast/block/sticky-position-containing-block-crash-expected.txt	                        (rev 0)
+++ branches/chromium/1312/LayoutTests/fast/block/sticky-position-containing-block-crash-expected.txt	2013-01-11 02:28:23 UTC (rev 139395)
@@ -0,0 +1 @@
+Test passes if it does not crash. https://bugs.webkit.org/show_bug.cgi?id=105654

Copied: branches/chromium/1312/LayoutTests/fast/block/sticky-position-containing-block-crash.html (from rev 138908, trunk/LayoutTests/fast/block/sticky-position-containing-block-crash.html) (0 => 139395)


--- branches/chromium/1312/LayoutTests/fast/block/sticky-position-containing-block-crash.html	                        (rev 0)
+++ branches/chromium/1312/LayoutTests/fast/block/sticky-position-containing-block-crash.html	2013-01-11 02:28:23 UTC (rev 139395)
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+Test passes if it does not crash.
+https://bugs.webkit.org/show_bug.cgi?id=105654
+<div>
+  <div>
+    <div>
+      <i>
+        <i>
+          <i style="position: -webkit-sticky; display: table-footer-group;">
+            <span></span>
+          </i>
+        </i>
+      </i>
+    </div>
+  </div>
+</div>
+<style>
+* { position: absolute; }
+</style>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+</script>
+</html>

Modified: branches/chromium/1312/Source/WebCore/css/StyleResolver.cpp (139394 => 139395)


--- branches/chromium/1312/Source/WebCore/css/StyleResolver.cpp	2013-01-11 02:19:29 UTC (rev 139394)
+++ branches/chromium/1312/Source/WebCore/css/StyleResolver.cpp	2013-01-11 02:28:23 UTC (rev 139395)
@@ -1913,12 +1913,12 @@
         if (style->display() == INLINE && style->styleType() == NOPSEUDO && style->writingMode() != parentStyle->writingMode())
             style->setDisplay(INLINE_BLOCK);
 
-        // After performing the display mutation, check table rows. We do not honor position:relative on
-        // table rows or cells. This has been established in CSS2.1 (and caused a crash in containingBlock()
+        // After performing the display mutation, check table rows. We do not honor position:relative or position:sticky on
+        // table rows or cells. This has been established for position:relative in CSS2.1 (and caused a crash in containingBlock()
         // on some sites).
         if ((style->display() == TABLE_HEADER_GROUP || style->display() == TABLE_ROW_GROUP
-             || style->display() == TABLE_FOOTER_GROUP || style->display() == TABLE_ROW)
-             && style->position() == RelativePosition)
+            || style->display() == TABLE_FOOTER_GROUP || style->display() == TABLE_ROW)
+            && style->hasInFlowPosition())
             style->setPosition(StaticPosition);
 
         // writing-mode does not apply to table row groups, table column groups, table rows, and table columns.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to