commit | d36eadac0a1b3da1d12c241304845021efa5ba17 | [log] [tgz] |
---|---|---|
author | Morten Stenshorne <mstensho@chromium.org> | Tue Jan 08 22:30:16 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jan 08 22:30:16 2019 |
tree | ead768d2950008c1d46da8f0a6e1a1fc91c06343 | |
parent | 867049303c130132ce764fc351c4e5b2dc3411fc [diff] |
[LayoutNG] Use NG to measure table cell intrinsic sizes. We used to use the legacy engine to measure min/max inline sizes, and NG for layout. This actually worked surprisingly well, but not for orthogonal flow children, because they expect pre-layout in legacy [1], but that won't happen in NG. Have all LayoutNGMixin types use NG to calculate intrinsic sizes, by moving code out of LayoutNGBlockFlow, so that they can all benefit from it, and also add a special rule for table cells [2], to honor specified inline-size on table cells and columns. In order for us to not regress quirk tests, we also need to implement a quirk: pretend that there's no break opportunity before or after images that are direct children of a table cell. This is a measure quirk. During layout, standard breaking rules are still to be applied. See https://quirks.spec.whatwg.org/#the-table-cell-width-calculation-quirk [1] LocalFrameView::LayoutOrthogonalWritingModeRoots() [2] Taken from LayoutBlock::ComputeIntrinsicLogicalWidths() Change-Id: If55ca18ad48dec39b1a1ce2df24b12d145607117 Reviewed-on: https://chromium-review.googlesource.com/c/1394600 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#620908}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .