зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1548118 Part 3 - Always mark inner ColumnSetWrapper's children dirty before reflowing it if the outer ColumnSetWrapper is balancing. r=dbaron
ColumnSetFrame always tries to reflow column content regardless of it's dirtiness. Making ColumnSetWrapperFrame's children dirty can have the same effect. Differential Revision: https://phabricator.services.mozilla.com/D29435 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
7c9e81378c
Коммит
0c3d6cd3a5
|
@ -3367,6 +3367,15 @@ void nsBlockFrame::ReflowBlockFrame(BlockReflowInput& aState,
|
|||
cbSize.emplace(LogicalSize(wm, aState.mReflowInput.ComputedISize(),
|
||||
cbReflowInput->ComputedBSize())
|
||||
.ConvertTo(frame->GetWritingMode(), wm));
|
||||
|
||||
// If a ColumnSetWrapper is in a balancing column content, it may be
|
||||
// pushed or pulled back and forth between column contents. Always add
|
||||
// NS_FRAME_HAS_DIRTY_CHILDREN bit to it so that its ColumnSet children
|
||||
// can have a chance to reflow under current block size constraint.
|
||||
if (aState.mReflowInput.mFlags.mIsColumnBalancing &&
|
||||
frame->IsColumnSetWrapperFrame()) {
|
||||
frame->AddStateBits(NS_FRAME_HAS_DIRTY_CHILDREN);
|
||||
}
|
||||
}
|
||||
|
||||
blockReflowInput.emplace(
|
||||
|
|
|
@ -49,5 +49,5 @@ pref(layout.css.column-span.enabled,true) == first-line-first-letter.html first-
|
|||
# default-enabled (Bug 1426010).
|
||||
default-preferences pref(layout.css.column-span.enabled,true)
|
||||
fails == min-width-2.html min-width-2-ref.html # Bug 1548100
|
||||
fails == column-balancing-nested-001.html column-balancing-nested-001-ref.html # Bug 1548118
|
||||
== column-balancing-nested-001.html column-balancing-nested-001-ref.html
|
||||
default-preferences
|
||||
|
|
Загрузка…
Ссылка в новой задаче