Changeset 293998 in webkit


Ignore:
Timestamp:
May 9, 2022 9:41:10 PM (2 years ago)
Author:
Alan Bujtas
Message:

Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda
https://bugs.webkit.org/show_bug.cgi?id=240266

Reviewed by Simon Fraser.

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r293994 r293998  
     12022-05-09  Alan Bujtas  <zalan@apple.com>
     2
     3        Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda
     4        https://bugs.webkit.org/show_bug.cgi?id=240266
     5
     6        Reviewed by Simon Fraser.
     7
     8        * rendering/updating/RenderTreeBuilder.cpp:
     9        (WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
     10
    1112022-05-07  Wenson Hsieh  <wenson_hsieh@apple.com>
    212
  • trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

    r293895 r293998  
    592592        return;
    593593
    594     auto& parent = *renderer.parent();
    595 
    596594    bool wasFloating = oldStyle.isFloating();
    597595    bool wasOutOfFlowPositioned = oldStyle.hasOutOfFlowPosition();
     
    605603        // Out of flow children of RenderMultiColumnFlow are not really part of the multicolumn flow. We need to ensure that changes in positioning like this
    606604        // trigger insertions into the multicolumn flow.
    607         if (auto* enclosingFragmentedFlow = parent.enclosingFragmentedFlow(); is<RenderMultiColumnFlow>(enclosingFragmentedFlow)) {
     605        if (auto* enclosingFragmentedFlow = renderer.parent()->enclosingFragmentedFlow(); is<RenderMultiColumnFlow>(enclosingFragmentedFlow)) {
    608606            auto movingIntoMulticolumn = [&] {
    609607                if (wasOutOfFlowPositioned && !isOutOfFlowPositioned)
     
    644642    };
    645643
     644    auto& parent = *renderer.parent();
    646645    if (is<RenderBlock>(parent))
    647646        noLongerAffectsParent = (!wasFloating && isFloating) || (!wasOutOfFlowPositioned && isOutOfFlowPositioned);
Note: See TracChangeset for help on using the changeset viewer.