Changeset 132164 in webkit


Ignore:
Timestamp:
Oct 22, 2012 5:03:56 PM (12 years ago)
Author:
tony@chromium.org
Message:

margin-top/bottom has no effect for child nodes of flex items
https://bugs.webkit.org/show_bug.cgi?id=99923

Reviewed by Ojan Vafai.

Source/WebCore:

Flexitems, like table cells, shouldn't collapse margins.

Test: css3/flexbox/flexitem-no-margin-collapsing.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo): Check to see if the parent is a flexible box.
We should always have a parent if we make it this far in the check.

LayoutTests:

Add a test to make sure we don't collapse margins in flex items.

  • css3/flexbox/flexitem-no-margin-collapsing-expected.txt: Added.
  • css3/flexbox/flexitem-no-margin-collapsing.html: Added.
  • css3/flexbox/repaint.html:
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r132163 r132164  
     12012-10-22  Tony Chang  <tony@chromium.org>
     2
     3        margin-top/bottom has no effect for child nodes of flex items
     4        https://bugs.webkit.org/show_bug.cgi?id=99923
     5
     6        Reviewed by Ojan Vafai.
     7
     8        Add a test to make sure we don't collapse margins in flex items.
     9
     10        * css3/flexbox/flexitem-no-margin-collapsing-expected.txt: Added.
     11        * css3/flexbox/flexitem-no-margin-collapsing.html: Added.
     12        * css3/flexbox/repaint.html:
     13
    1142012-10-22  Emil A Eklund  <eae@chromium.org>
    215
  • trunk/LayoutTests/css3/flexbox/repaint.html

    r119990 r132164  
    5858<div id="left"></div>
    5959<div id="content">
    60 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet. Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula. Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.</p>
     60<p style="margin: 0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet. Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula. Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.</p>
    6161</div>
    6262</body>
  • trunk/Source/WebCore/ChangeLog

    r132157 r132164  
     12012-10-22  Tony Chang  <tony@chromium.org>
     2
     3        margin-top/bottom has no effect for child nodes of flex items
     4        https://bugs.webkit.org/show_bug.cgi?id=99923
     5
     6        Reviewed by Ojan Vafai.
     7
     8        Flexitems, like table cells, shouldn't collapse margins.
     9
     10        Test: css3/flexbox/flexitem-no-margin-collapsing.html
     11
     12        * rendering/RenderBlock.cpp:
     13        (WebCore::RenderBlock::MarginInfo::MarginInfo): Check to see if the parent is a flexible box.
     14        We should always have a parent if we make it this far in the check.
     15
    1162012-10-22  Marja Hölttä  <marja@chromium.org>
    217
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r132112 r132164  
    162162    , m_determinedMarginBeforeQuirk(false)
    163163{
    164     // Whether or not we can collapse our own margins with our children.  We don't do this
    165     // if we had any border/padding (obviously), if we're the root or HTML elements, or if
    166     // we're positioned, floating, a table cell.
    167164    RenderStyle* blockStyle = block->style();
     165    ASSERT(block->isRenderView() || block->parent());
    168166    m_canCollapseWithChildren = !block->isRenderView() && !block->isRoot() && !block->isOutOfFlowPositioned()
    169167        && !block->isFloating() && !block->isTableCell() && !block->hasOverflowClip() && !block->isInlineBlockOrInlineTable()
    170         && !block->isWritingModeRoot() && blockStyle->hasAutoColumnCount() && blockStyle->hasAutoColumnWidth()
     168        && !block->isWritingModeRoot() && !block->parent()->isFlexibleBox() && blockStyle->hasAutoColumnCount() && blockStyle->hasAutoColumnWidth()
    171169        && !blockStyle->columnSpan();
    172170
Note: See TracChangeset for help on using the changeset viewer.