-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
vaev-layout: first steps of fragmenting
Before there was no concept of fragments and the layout step was taking the box tree as input and saving the used layout metrics into boxes themselves. This commit introduces the concept of Fragments, Fragmentainers and Fragmentation Context (https://drafts.csswg.org/css-break-4/#fragmentation-model). Currently, only pages are supported. The commit mechanism was changed from an enum (yes/no) to support these new concepts. Now, since layouting the box tree generates the Fragment tree, a layout call that should commit a Fragment for a Box into the Fragment tree will: - create the said Fragment - pass a reference to the said Fragment to it child call - add the created Fragment to the list of children of its parent in the Fragment tree by using the passed reference To Fragment, breakpoints with appeal were implemented, following Chrome, https://chromium.googlesource.com/chromium/src/+/refs/heads/main/third_party/blink/renderer/core/layout/block_fragmentation_tutorial.md and its golden rule > Break at the breakpoint with the highest appeal (primary criterion) that also fits as much content as possible (secondary criterion). This first version only works for the block formatting context and only PDF is supported with the 'print' subcommand. Co-authored-by: Paulo Medeiros <[email protected]> Co-authored-by: Nicolas Van Bossuyt <[email protected]>
- Loading branch information
1 parent
24037e6
commit a7e9e53
Showing
27 changed files
with
674 additions
and
286 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.