commit | 995d40250c1f2e7092182534bedfc0d134fc9c7b | [log] [tgz] |
---|---|---|
author | Ian Kilpatrick <ikilpatrick@chromium.org> | Thu May 17 00:43:28 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu May 17 00:43:28 2018 |
tree | 29ffd3b56b66872d70fc5360b01f1c161785b15f | |
parent | bca259d9d77a4532a5d0bebc664f13290af5379b [diff] |
[LayoutNG] Adds support for shape-outside. This reuses a lot of the existing code for shapes located within core/layout/shape. As a result of this after we perform a layout on a float, we need to copy some additional shape data back into the existing tree so that the ShapeOutsideInfo is up to date. Devtools currently requires the ShapeOutsideInfo object to be up to date for the appropriate LayoutBox object. (This is used to draw the "shape area" when hovering on an element within devtools). In the future (once everything has a NGLayoutResult) we'll likely be able to remove the ShapeOutsideInfo object, and replace it with just a "computed shape" living off the NGLayoutResult. The majority of the work is done within ng_layout_opportunity.cc which calculates a new line-layout-opportunity based on the shape area. The rebaselines in this patch: spec-examples/shape-outside-{010..019}-expected.txt ... are for "change detector tests". We do pass them in LayoutNG but "better". (We place things closer to the shape typically). One LayoutNG has been switched on we can fix/change these tests. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I029b1503be74b4a17e0a634ec93c644ff4352358 Reviewed-on: https://chromium-review.googlesource.com/1032884 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#559368}
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 .