commit | 0d870101fbca79e1c54351f2e1534ac11af98dc3 | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Thu Oct 05 22:24:31 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Oct 05 22:24:31 2017 |
tree | ff02105c7d82205a7019aa9724e1e707a8b7def3 | |
parent | 1e260f54a4a0674cc41231480a9d4fd654c4538e [diff] |
[LayoutNG] Implement positioning list-item markers This patch implements major parts of positioning list-item markers. 1. Marker box creation is changed to better match to the spec and for more compatible layout. a. 'inside' position creates inline marker box[1]. b. 'outside' position creates inline block marker box. Out-of- flow position looks more reasonable, but crbug.com/734554 is blocking. 2. LayoutListMarker exposes the existing margin logic to share with LayoutNG. 3. Add new kListMarker NGInlineItem type. 4. NGLineBreaker and NGInlineLayoutAlgorithm support kListMarker. Remaining work: 1. Image is not supported yet. 2. Symbols (e.g., bullets) should use pre-defined font and heuristic width. 3. Block children is not supported yet. The idea was to wrap them with inline block, but the concern is an inline block is not breakable in the current LayoutNG. 4. Due to 3, nested lists do not render correctly. 5. Re-numbering is incorrect in some cases. 6. The marker inline block breaks editing lists. See 1.b above. [1] https://drafts.csswg.org/css2/generate.html#propdef-list-style-position Bug: 636993 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I37995f53b5897bb161c54660bb13aaf24339a9a3 Reviewed-on: https://chromium-review.googlesource.com/697027 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#506884}
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 .