Changeset 205479 in webkit


Ignore:
Timestamp:
Sep 6, 2016 9:00:11 AM (8 years ago)
Author:
Alan Bujtas
Message:

ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
https://bugs.webkit.org/show_bug.cgi?id=120291
<rdar://problem/27683456>

Reviewed by David Hyatt.

Source/WebCore:

This patch ensures that we always set the 'positioned child needs layout' bit on the containing block
when a new positioned descendant gets inserted. It fixes cases for simplified layout when
we ended up not laying out the descendant element.

Test: fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertPositionedObject):

LayoutTests:

  • fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out-expected.txt: Added.
  • fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r205476 r205479  
     12016-09-06  Zalan Bujtas  <zalan@apple.com>
     2
     3        ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
     4        https://bugs.webkit.org/show_bug.cgi?id=120291
     5        <rdar://problem/27683456>
     6
     7        Reviewed by David Hyatt.
     8
     9        * fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out-expected.txt: Added.
     10        * fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html: Added.
     11
    1122016-09-06  Youenn Fablet  <youenn@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r205473 r205479  
     12016-09-06  Zalan Bujtas  <zalan@apple.com>
     2
     3        ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
     4        https://bugs.webkit.org/show_bug.cgi?id=120291
     5        <rdar://problem/27683456>
     6
     7        Reviewed by David Hyatt.
     8
     9        This patch ensures that we always set the 'positioned child needs layout' bit on the containing block
     10        when a new positioned descendant gets inserted. It fixes cases for simplified layout when
     11        we ended up not laying out the descendant element.
     12
     13        Test: fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html
     14
     15        * rendering/RenderBlock.cpp:
     16        (WebCore::RenderBlock::insertPositionedObject):
     17
    1182016-09-06  Youenn Fablet  <youenn@apple.com>
    219
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r205282 r205479  
    22542254    if (positioned.isRenderFlowThread())
    22552255        return;
    2256 
     2256    // We should turn this bit on only while in layout.
     2257    ASSERT(posChildNeedsLayout() || view().frameView().isInLayout());
     2258    setPosChildNeedsLayoutBit(true);
    22572259    positionedDescendantsMap().addDescendant(*this, positioned, isRenderView() ? PositionedDescendantsMap::MoveDescendantToEnd::Yes
    22582260        : PositionedDescendantsMap::MoveDescendantToEnd::No);
Note: See TracChangeset for help on using the changeset viewer.