Improve column fragmentation story with "column-fill:auto" mode in nested columns
Categories
(Core :: Layout: Columns, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: TYLin, Assigned: TYLin)
References
Details
Attachments
(4 files)
Bug 1583639 Part 1 - De-indent an else-block inside the while-loop in nsColumnSetFrame::ReflowChild.
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Specifically, fix nsColumnSetFrame
to pass testing/web-platform/tests/css/css-multicol/multicol-breaking-003.html
.
This is a prerequisite for an easy fix in bug 1575054.
Assignee | ||
Comment 1•5 years ago
|
||
The associated if-block has a "break" statement at the end of the scope
to break the while-loop, making the else-block redundant.
Assignee | ||
Comment 2•5 years ago
|
||
In next patch, this variable won't be set to INT32_MAX in
"column-fill:auto" mode, and it will be used in Part 4. Hence the
rename.
Depends on D47002
Assignee | ||
Comment 3•5 years ago
|
||
mUseColCount is used in balancing mode to check whether we have created
the maximum number of columns when the content cannot fit. Similarly,
mUseColCount can also be useful in "column-fill:auto" mode to improve
the fragmentation story in the next patch.
This patch doesn't change the behavior (yet).
Depends on D47003
Assignee | ||
Comment 4•5 years ago
|
||
This patch makes fragmentation in "column-fill:auto" mode possible.
Note that we only bail out of creating more column contents when
"column-fill:auto" mode is set from the styles, i.e. when mForceAuto is
false. That is because when mForceAuto is true, we usually in the case
where we have gave up balancing, and we really want to create overflow
columns.
Note: without !aConfig.mForceAuto
check, 673770.html can generated
assertions, and the frame tree contains dangling Overflow-lines and
ExcessOverflowContainersList.
Depends on D47004
Pushed by aethanyc@gmail.com: https://hg.mozilla.org/integration/autoland/rev/9913d2611ead Part 1 - De-indent an else-block inside the while-loop in nsColumnSetFrame::ReflowChild. r=dbaron https://hg.mozilla.org/integration/autoland/rev/d410846efdeb Part 2 - Rename mBalanceColCount to mUsedColCount in nsColumnSetFrame::ReflowConfig. r=dbaron https://hg.mozilla.org/integration/autoland/rev/1c897f0c159a Part 3 - Keep the optimal used numColumns in column-fill:auto mode without resetting it to INT32_MAX. r=dbaron https://hg.mozilla.org/integration/autoland/rev/583786221254 Part 4 - Stop creating more columns in column-fill:auto mode if there's still block-size left in multicol container. r=dbaron
Comment 6•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9913d2611ead
https://hg.mozilla.org/mozilla-central/rev/d410846efdeb
https://hg.mozilla.org/mozilla-central/rev/1c897f0c159a
https://hg.mozilla.org/mozilla-central/rev/583786221254
Description
•