Skip to content
  • Ting-Yu Lin's avatar
    Bug 1421105 Part 5 - Fix anonymous -moz-column-span-wrapper block's style is... · 1a47a235
    Ting-Yu Lin authored
    Bug 1421105 Part 5 - Fix anonymous -moz-column-span-wrapper block's style is overridden after restyling. r=bzbarsky,emilio
    
    The major change in this patch is ::-moz-column-span-wrapper blocks are no
    longer linked into the continuation chains when they're created in
    CreateColumnSpanSiblings(). We can do that because
    ::-moz-column-span-wrapper is an non-inheriting anon box, which doesn't need
    to be restyled.
    
    This prevents RestyleManager::ProcessPostTraversal or
    nsIFrame::UpdateStyleOfOwnedChildFrame, which set the same style on all
    continuations of the frame they are working with, from overriding the
    ::-moz-column-span-wrapper style.
    
    GetNextContinuationWithSameStyle was deleted in bug 1447367. Delete the comment
    in nsInlineFrame::UpdateStyleOfOwnedAnonBoxesForIBSplit() to avoid confusion.
    
    This patch also adds another condition to reframe the multi-column container
    in MaybeRecreateContainerForFrameRemoval(). That condition is when an
    element has a "column-span:all" descendant, i.e. the element's frame has
    "column-span:all" siblings (which is created by CreateColumnSpanSiblings).
    The added test multicol-span-all-dynamic-remove-006.html will fail without
    this patch.
    
    Depends on D5212
    
    Differential Revision: https://phabricator.services.mozilla.com/D9988
    
    --HG--
    extra : moz-landing-system : lando
    1a47a235