mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
c504cea279
Automatic update from web-platform-tests [css-flex] Pass a ConstraintSpace to ortho_table.ComputeMinMaxSizes() ComputeMinMaxSizes needs a ConstraintSpace when the child is not in a parallel writing mode. Flex wasn't providing one when it retrieved a table's intrinsic min size. Before this bug was introduced, flex was calling ComputeMinAndMaxContentContribution(..., table, ...) instead of table.ComputeMinMaxSizes(...). ComputeMinAndMaxContentContribution builds its own ConstraintSpace for ortho items, so flex didn't need to provide one. We originally switched from ComputeMinAndMaxContentContribution to table.ComputeMinMaxSizes because: * One input to the flex algorithm is the item's used min-width (for a row flexbox). The flex algorithm will never assign a flex item a width smaller than its used min-width. For most elements, we get this value via ResolveMinInlineLength(..., style.LogicalMinWidth(), ...). * But table's used min-width is defined specially to be "the greater of the resolved min-width, CAPMIN, and GRIDMIN". So to get the table-as-flex-item's used min-width, we need to retrieve max(CAPMIN, GRIDMIN) in addition to resolving style.LogicalMinWidth from the above step. * ComputeMinAndMaxContentContribution(table).min returns max(CAPMIN, GRIDMIN, style.LogicalWidth()). I.e. it obeys any specified width on the table. * But table.ComputeMinMaxSizes().min returns only max(CAPMIN, GRIDMIN)[1], which is what we want. In the example below, the flexbox will try to shrink the table's width to 75px. Using ComputeMinAndMaxContentContribution for the table's min-width computation would result in the table being 100px wide. Using table.ComputeMinMaxSizes would make it 75px wide. 75px is correct. <div style="display: flex; width: 75px;"> <table style="width: 100px; min-width: 0px;"> <td> <div style="float: left; width:50px"></div> <div style="float: left; width:50px"></div> </td> </table> </div> https://jsfiddle.net/dgrogan/gwu4ac82/3/ [1] This is actually not true today but is true for TablesNG. Switching to table.ComputeMinMaxSizes gets us closer. Bug: 1128262 Fixed: 1131890 Change-Id: Ie5a4eac97e4a6a2e96104397bd5c5ec483d40e78 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2433594 Commit-Queue: David Grogan <dgrogan@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#811216} -- wpt-commits: 2531feaeef0530450b7a7271b2bb4cc450edb831 wpt-pr: 25805 |
||
---|---|---|
.cargo | ||
.vscode | ||
accessible | ||
browser | ||
build | ||
caps | ||
chrome | ||
config | ||
devtools | ||
docs | ||
docshell | ||
dom | ||
editor | ||
extensions | ||
gfx | ||
gradle/wrapper | ||
hal | ||
image | ||
intl | ||
ipc | ||
js | ||
layout | ||
media | ||
memory | ||
mfbt | ||
mobile | ||
modules | ||
mozglue | ||
netwerk | ||
nsprpub | ||
other-licenses | ||
parser | ||
python | ||
remote | ||
security | ||
services | ||
servo | ||
startupcache | ||
storage | ||
taskcluster | ||
testing | ||
third_party | ||
toolkit | ||
tools | ||
uriloader | ||
view | ||
widget | ||
xpcom | ||
xpfe/appshell | ||
.arcconfig | ||
.babel-eslint.rc.js | ||
.clang-format | ||
.clang-format-ignore | ||
.cron.yml | ||
.eslintignore | ||
.eslintrc.js | ||
.flake8 | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.hg-annotate-ignore-revs | ||
.hg-format-source | ||
.hgignore | ||
.hgtags | ||
.lldbinit | ||
.mailmap | ||
.prettierignore | ||
.prettierrc | ||
.taskcluster.yml | ||
.trackerignore | ||
.yamllint | ||
.ycm_extra_conf.py | ||
aclocal.m4 | ||
AUTHORS | ||
build.gradle | ||
Cargo.lock | ||
Cargo.toml | ||
client.mk | ||
client.py | ||
CLOBBER | ||
configure.in | ||
configure.py | ||
GNUmakefile | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LEGAL | ||
LICENSE | ||
mach | ||
Makefile.in | ||
moz.build | ||
moz.configure | ||
mozilla-config.h.in | ||
old-configure.in | ||
package-lock.json | ||
package.json | ||
README.txt | ||
settings.gradle | ||
substitute-local-geckoview.gradle | ||
test.mozbuild |
An explanation of the Firefox Source Code Directory Structure and links to project pages with documentation can be found at: https://firefox-source-docs.mozilla.org/contributing/directory_structure.html For information on how to build Firefox from the source code and create the patch see: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html If you have a question about developing Firefox, and can't find the solution on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel. 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 Firefox developers for testing, may be buggy.