Changeset 19784 in webkit


Ignore:
Timestamp:
Feb 21, 2007 6:58:27 PM (17 years ago)
Author:
weinig
Message:

LayoutTests:

Reviewed by Hyatt.

  • fast/dynamic/staticY-marking-parents-regression-expected.checksum: Added.
  • fast/dynamic/staticY-marking-parents-regression-expected.png: Added.
  • fast/dynamic/staticY-marking-parents-regression-expected.txt: Added.
  • fast/dynamic/staticY-marking-parents-regression.html: Added.

WebCore:

Reviewed by Hyatt.

Test: fast/dynamic/staticY-marking-parents-regression.html

Changed calls to setChildNeedsLayout(true) during layout to
setChildNeedsLayout(true, false). Prior to r19148, the default behavior
of marking containers did not matter because the caller was the container
and was already marked, but r19148 added marking of the parent of
objects with static Y, which can be different from the caller and not
necessarily marked already.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::layoutBlockChildren):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::setStaticY):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
Location:
trunk
Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r19780 r19784  
     12007-02-21  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Hyatt.
     4
     5        - test for http://bugs.webkit.org/show_bug.cgi?id=12818
     6          REGRESSION (r19148): shacknews.com does not render completely
     7
     8        * fast/dynamic/staticY-marking-parents-regression-expected.checksum: Added.
     9        * fast/dynamic/staticY-marking-parents-regression-expected.png: Added.
     10        * fast/dynamic/staticY-marking-parents-regression-expected.txt: Added.
     11        * fast/dynamic/staticY-marking-parents-regression.html: Added.
     12
    1132007-02-21  Justin Garcia  <justin.garcia@apple.com>
    214
  • trunk/WebCore/ChangeLog

    r19783 r19784  
     12007-02-21  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Hyatt.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=12818
     6          REGRESSION (r19148): shacknews.com does not render completely
     7
     8        Test: fast/dynamic/staticY-marking-parents-regression.html
     9
     10        Changed calls to setChildNeedsLayout(true) during layout to
     11        setChildNeedsLayout(true, false). Prior to r19148, the default behavior
     12        of marking containers did not matter because the caller was the container
     13        and was already marked, but r19148 added marking of the parent of
     14        objects with static Y, which can be different from the caller and not
     15        necessarily marked already.
     16
     17        * rendering/RenderBlock.cpp:
     18        (WebCore::RenderBlock::collapseMargins):
     19        (WebCore::RenderBlock::clearFloatsIfNeeded):
     20        (WebCore::RenderBlock::layoutBlockChildren):
     21        * rendering/RenderBox.cpp:
     22        (WebCore::RenderBox::setStaticY):
     23        * rendering/RenderFlexibleBox.cpp:
     24        (WebCore::RenderFlexibleBox::layoutVerticalBox):
     25
    1262007-02-21  Brady Eidson  <beidson@apple.com>
    227
  • trunk/WebCore/rendering/RenderBlock.cpp

    r19717 r19784  
    889889            // change (because it has more available line width).
    890890            // So go ahead and mark the item as dirty.
    891             child->setChildNeedsLayout(true);
     891            child->setChildNeedsLayout(true, false);
    892892
    893893        if (!child->avoidsFloats() && child->containsFloats())
     
    944944            // change (because it has more available line width).
    945945            // So go ahead and mark the item as dirty.
    946             child->setChildNeedsLayout(true);
     946            child->setChildNeedsLayout(true, false);
    947947        if (!child->avoidsFloats() && child->containsFloats())
    948948            child->markAllDescendantsWithFloatsForLayout();
     
    10971097        // an auto value.  Add a method to determine this, so that we can avoid the relayout.
    10981098        if (relayoutChildren || (child->style()->height().isPercent() || child->style()->minHeight().isPercent() || child->style()->maxHeight().isPercent()))
    1099             child->setChildNeedsLayout(true);
     1099            child->setChildNeedsLayout(true, false);
    11001100
    11011101        // Handle the four types of special elements first.  These include positioned content, floating content, compacts and
     
    11241124            int fb = floatBottom();
    11251125            if (fb > m_height || fb > yPosEstimate)
    1126                 child->setChildNeedsLayout(true);
     1126                child->setChildNeedsLayout(true, false);
    11271127        }
    11281128
  • trunk/WebCore/rendering/RenderBox.cpp

    r19717 r19784  
    14571457   
    14581458    m_staticY = staticY;
    1459     setChildNeedsLayout(true);
     1459    setChildNeedsLayout(true, false);
    14601460}
    14611461
  • trunk/WebCore/rendering/RenderFlexibleBox.cpp

    r19696 r19784  
    687687            child->setOverrideSize(-1);
    688688            if (!relayoutChildren)
    689                 child->setChildNeedsLayout(true);
     689                child->setChildNeedsLayout(true, false);
    690690            haveFlex = true;
    691691            unsigned int flexGroup = child->style()->boxFlexGroup();
     
    710710                if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())) ||
    711711                    (child->style()->height().isAuto() && child->isBlockFlow() && !child->needsLayout())) {
    712                     child->setChildNeedsLayout(true);
     712                    child->setChildNeedsLayout(true, false);
    713713                   
    714714                    // Dirty all the positioned objects.
     
    740740                    continue;
    741741               
    742                 child->setChildNeedsLayout(true);
     742                child->setChildNeedsLayout(true, false);
    743743                child->setOverrideSize(newHeight);
    744744                m_flexingChildren = true;
     
    820820            // make sure we relayout children if we need it.
    821821            if (!haveLineClamp && (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent()))))
    822                 child->setChildNeedsLayout(true);
     822                child->setChildNeedsLayout(true, false);
    823823   
    824824            if (child->isPositioned())
Note: See TracChangeset for help on using the changeset viewer.