Changeset 229091 in webkit


Ignore:
Timestamp:
Feb 28, 2018 8:31:34 AM (6 years ago)
Author:
Alan Bujtas
Message:

Remove RenderElement::s_affectsParentBlock
https://bugs.webkit.org/show_bug.cgi?id=183187
<rdar://problem/37961079>

Reviewed by Antti Koivisto.

Remove the hack to track floating/out-of-flow changes between styleWillChange and styleDidChange.

Covered by existing tests.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::styleDidChange):

  • rendering/RenderElement.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r229090 r229091  
     12018-02-28  Zalan Bujtas  <zalan@apple.com>
     2
     3        Remove RenderElement::s_affectsParentBlock
     4        https://bugs.webkit.org/show_bug.cgi?id=183187
     5        <rdar://problem/37961079>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        Remove the hack to track floating/out-of-flow changes between styleWillChange and styleDidChange.
     10
     11        Covered by existing tests.
     12
     13        * rendering/RenderElement.cpp:
     14        (WebCore::RenderElement::styleWillChange):
     15        (WebCore::RenderElement::styleDidChange):
     16        * rendering/RenderElement.h:
     17
    1182018-02-28  Antti Koivisto  <antti@apple.com>
    219
  • trunk/Source/WebCore/rendering/RenderElement.cpp

    r228938 r229091  
    9595static_assert(sizeof(RenderElement) == sizeof(SameSizeAsRenderElement), "RenderElement should stay small");
    9696
    97 bool RenderElement::s_affectsParentBlock = false;
    9897bool RenderElement::s_noLongerAffectsParentBlock = false;
    9998   
     
    750749        }
    751750
    752         s_affectsParentBlock = isFloatingOrOutOfFlowPositioned()
    753             && (!newStyle.isFloating() && !newStyle.hasOutOfFlowPosition())
    754             && parent() && (parent()->isRenderBlockFlow() || parent()->isRenderInline());
    755 
    756751        s_noLongerAffectsParentBlock = ((!isFloating() && newStyle.isFloating()) || (!isOutOfFlowPositioned() && newStyle.hasOutOfFlowPosition()))
    757752            && parent() && parent()->isRenderBlock();
     
    770765        setHasTransformRelatedProperty(false);
    771766        setHasReflection(false);
    772     } else {
    773         s_affectsParentBlock = false;
     767    } else
    774768        s_noLongerAffectsParentBlock = false;
    775     }
    776769
    777770    bool newStyleSlowScroll = false;
     
    814807    updateShapeImage(oldStyle ? oldStyle->shapeOutside() : nullptr, m_style.shapeOutside());
    815808
    816     if (s_affectsParentBlock) {
     809    bool affectsParentBlock = oldStyle && (oldStyle->isFloating() || oldStyle->hasOutOfFlowPosition())
     810        && !style().isFloating() && !style().hasOutOfFlowPosition()
     811        && parent() && (parent()->isRenderBlockFlow() || parent()->isRenderInline());
     812    if (affectsParentBlock) {
    817813        // We have gone from not affecting the inline status of the parent flow to suddenly
    818814        // having an impact. See if there is a mismatch between the parent flow's
  • trunk/Source/WebCore/rendering/RenderElement.h

    r228938 r229091  
    352352    // FIXME: Get rid of this hack.
    353353    // Store state between styleWillChange and styleDidChange
    354     static bool s_affectsParentBlock;
    355354    static bool s_noLongerAffectsParentBlock;
    356355};
Note: See TracChangeset for help on using the changeset viewer.