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