Automatic update from web-platform-tests
LayoutNG: Fix sizing and position of abspos tables
LayoutBox::ContainingBlockLogicalHeightForPercentageResolution was
adding padding but only for tables. NG already supplies padding so don't
do this table exception if the containing block is NG.
ng_absolute_utils relied on specified table width/height being the final
say, but tables use those as another min size. This patch makes
ng_absolute_utils treat table height/width as Auto for main sizing and
uses it as another min-height/width.
ResolveInlineLengthInternal assumes that anything with inline size Auto
will expand to fill the available space, but tables do not.
The 4-argument version of ComputeMinAndMaxContentContribution makes a
similar assumption to ng_absolute_utils -- if a node has a width set,
that's the final width. The 3-argument version of
ComputeMinAndMaxContentContribution is aware of this so bypasses the
4-argument version for tables and instead uses legacy preferred width
calculations, so I made ComputeMinAndMaxContentSizeForOutOfFlow do the
same.
The tests all at least partially failed in NG before this patch. After
this patch, NG matches legacy everywhere, except for the first 2 cases
of -002.html, which were broken in legacy and NG before this patch. It
is now correct in NG.
We partially fail 003 and 005, but identically to legacy layout.
I added more checks to fast/table/absolute-table-percent-lengths.html
and moved it to the wpt repository as
css/css-tables/absolute-tables-001.html .
Bug: 973390
Change-Id: I8cea275b2ca19492a501b84cd86456ed6745a4b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1671851
Commit-Queue: David Grogan <dgrogan@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#675142}
--
wpt-commits: 8e3db7f3a765d1783f7e8c068c8bf90de61b1f66
wpt-pr: 17432
An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:
https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure
For information on how to build Mozilla from the source code, see:
https://developer.mozilla.org/en/docs/Build_Documentation
To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:
https://developer.mozilla.org/en/docs/Creating_a_patch
https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree
If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]
Nightly development builds can be downloaded from:
https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
- or -
https://www.mozilla.org/firefox/channel/desktop/#nightly
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy.