gecko-dev/layout
Ting-Yu Lin 6047332ae6 Bug 1647332 Part 4 - Keep doubling the extra block-size that adds to the estimate column block-size until finding a feasible one. r=heycam
In FindBestBalanceBSize(), suppose we have aUnboundedLastColumn equals
to true, and the measuring reflow of all the columns is feasible. This
setting represents the most common scenario of multi-column layout as
the multi-column footnote on Wikipedia.

We used to use 600 as the extra block-size added to the estimate column
block-size. However, if the first guess of the column block-size, say
G1, is infeasible, the feasible block-size is still bound to the sum of
all columns S. That leaves us a massive range between G1 and S to
search.

We don't want to use a larger fixed extra block-size. Although it can
reduce the possibility of failing the first guess, but for cases where a
smaller extra block-size is sufficient, it increases the search range
and the iteration number before the binary search converges.

Instead, we can spend the first few iterations doubling the extra
block-size E added to the estimate column block-size until we find the
first feasible block-size. This gives us a smaller upper bound S / N +
E, where N is the number of columns.

Differential Revision: https://phabricator.services.mozilla.com/D80571
2020-06-23 18:34:42 +00:00
..
base Bug 1550710 - Make vector images enable high quality scaling for embedded raster images. r=tnikkel 2020-06-23 12:43:21 +00:00
build Bug 1603712 - Remove intl.charset.detector.ng.enabled pref and resulting dead code. r=Gijs,fluent-reviewers,valentin,m_kato 2020-06-15 15:32:21 +00:00
docs Bug 1628958 Part 1 - Add Layout & CSS section to Mozilla Source Tree Documentation. r=firefox-source-docs-reviewers,sylvestre 2020-04-15 18:07:24 +00:00
forms Bug 1643464 - Part 1: Rename eLeft/eRight to ePrimary/eSecondary r=masayuki 2020-06-19 18:02:41 +00:00
generic Bug 1647332 Part 4 - Keep doubling the extra block-size that adds to the estimate column block-size until finding a feasible one. r=heycam 2020-06-23 18:34:42 +00:00
inspector Bug 1639893 Part 1 - Partial Imlementation of GetOverflowingChildrenOfElement. r=bradwerth,emilio 2020-06-23 18:51:32 +00:00
ipc Bug 1613985 - Use default for equivalent-to-default constructors/destructors in layout. r=dholbert 2020-03-17 09:38:32 +00:00
mathml Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame 2020-06-22 09:45:40 +00:00
media
painting Bug 1646887. Do a full display list rebuild if scrollbars change to or from being overlay scrollbars. r=miko 2020-06-23 14:48:29 +00:00
printing Bug 1471854 - Make print.always_print_silent a static pref. r=jwatt 2020-06-10 13:41:17 +00:00
reftests Bug 1644271 - Mark a couple of reftests fuzzy with WR. r=tnikkel 2020-06-21 20:48:30 +00:00
style Bug 1603542 - Properly mark CSS preloads as used when processing stylesheet tags or imports, r=emilio 2020-06-23 17:18:47 +00:00
svg Bug 1550710 - Make vector images enable high quality scaling for embedded raster images. r=tnikkel 2020-06-23 12:43:21 +00:00
tables Bug 1644997 - Make ShouldApplyOverflowClipping as a const member method r=emilio 2020-06-22 23:36:13 +00:00
tools Bug 1640019 - Part 6: Get rid of the rebuild_frameloaders pref, r=Gijs 2020-06-15 23:24:00 +00:00
xul Bug 1550710 - Make vector images enable high quality scaling for embedded raster images. r=tnikkel 2020-06-23 12:43:21 +00:00
moz.build Bug 1628958 Part 1 - Add Layout & CSS section to Mozilla Source Tree Documentation. r=firefox-source-docs-reviewers,sylvestre 2020-04-15 18:07:24 +00:00