commit | 8f09455de2ae547131c8606018e4b4dcfb5dc691 | [log] [tgz] |
---|---|---|
author | Ian Kilpatrick <ikilpatrick@chromium.org> | Fri Feb 16 19:15:47 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Feb 16 19:15:47 2018 |
tree | f02857464f428c842ca06cf00f119e34cea29066 | |
parent | 1644fba4cd805be3281f4323c015154639d8fbaf [diff] |
[css-layout-api] Implement the guts of the javascript layout runner. This implements the hooks from the LayoutCustom object into a web developer defined layout class. See: https://drafts.css-houdini.org/css-layout-api/#invoke-a-layout-callback Currently the only useful thing this does to allow the web developer to return an "auto" block-size, e.g. registerLayout('foo', class { *intrinsicSizes() {} *layout() { return { autoBlockSize: Math.random() * 100; } // FUN! } }); The engine calculates the inline-size, and adjusts the block-size for the web developer. This is a simplification on the current API as spec'd but we'll see what the HoudiniTF thinks of this approach. The other large behaviour change is appropriate "fallback" handling when something goes wrong. See "fallback" tests. Bug: 726125 Change-Id: I08cd2e439f4321bd534a4e3f7222fbdb898e1785 Reviewed-on: https://chromium-review.googlesource.com/917423 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#537371}
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 .