Anthony Ramine
4ebdc39ecd
Add some helpers to resolve percentages of box sizes
2019-12-04 17:24:45 +01:00
Simon Sapin
dd9dfc66e3
Use a new BoxContentSizes
enum instead of Option<ContentSizes>
2019-12-04 15:36:05 +01:00
Simon Sapin
38e8fd1e99
Replace boolean parameters by a new ContentSizesRequest
enum
2019-12-04 15:10:11 +01:00
Simon Sapin
6763e7e4ae
Review nits
2019-12-04 14:22:13 +01:00
Simon Sapin
607df04849
Replace a large tuple return type with a new struct
2019-12-04 13:56:42 +01:00
Simon Sapin
038f83fbc5
Replace a pair of macros by methods
2019-12-04 13:47:59 +01:00
Anthony Ramine
48ceb56339
Implement size extremums
2019-12-04 10:32:58 +01:00
Simon Sapin
34e8cda801
Rename ReplacedContent::layout to make_fragments and simplify its API
2019-12-03 15:11:35 +01:00
Simon Sapin
b8db9459bc
Add layout for 'inline-block' and other atomic inline-level boxes
2019-12-03 15:11:35 +01:00
Simon Sapin
c056e5b6b0
Finish plumbing intrinsic min/max-content through box construction
2019-12-03 15:11:35 +01:00
Simon Sapin
da36fcddb0
Add box construction for 'inline-block'…
...
… and other atomic inline-level boxes.
2019-12-03 15:11:35 +01:00
Simon Sapin
303b36f17b
Add content sizes computation for block containers
2019-12-03 15:11:35 +01:00
Simon Sapin
78bfa45eab
Add a Target
struct for mapfold_reduce_into
call
2019-12-03 15:11:35 +01:00
Simon Sapin
cfdd23ac16
Add a request_content_sizes
parameter to IndependentFormattingContext::construct
2019-12-03 15:11:35 +01:00
Simon Sapin
6a5b8337a1
Rename IntrinsicSizes to ContentSizes
2019-12-03 15:11:35 +01:00
Simon Sapin
4e6e31a76c
Pass a LayoutContext through box construction
2019-12-02 22:26:49 +01:00
Simon Sapin
9c5a595044
Add intrinsic size computation for inline formatting contexts
2019-12-02 22:11:54 +01:00
Simon Sapin
aa925a5984
Un-allow and fix warnings in components/layout_2020
2019-12-02 16:32:34 +01:00
Anthony Ramine
5a360ac63d
Start supporting images in layout 2020
2019-12-01 10:56:33 +01:00
Anthony Ramine
f24e8d0557
Fix inline margins of in flow blocks in 2020
2019-12-01 10:52:34 +01:00
Anthony Ramine
48a4a82a49
Make InlineLevelBox::Atomic store an IndependentFormattingContext
2019-12-01 10:51:25 +01:00
Anthony Ramine
ecfb82260c
Fix an unimplemented in layout 2020
2019-12-01 10:51:19 +01:00
Anthony Ramine
858bc5aca6
Split FlowChildren in IndependentLayout and FlowLayout
...
The result of doing the layout of an independent formatting context
should be unconcerned with margin collapsing.
2019-11-26 16:36:24 +01:00
Anthony Ramine
24b7eadfff
Make NodeExt private in layout_2020
2019-11-26 16:36:24 +01:00
Simon Sapin
80eec48d37
Use std::mem::take instead of defining it
2019-11-26 15:42:27 +01:00
Simon Sapin
b2b3ea992c
Make IndependentFormattingContext a struct that owns styles
...
… and has a private enum for its contents.
Privacy forces the rest of the code to go through methods
rather than matching on the enum,
reducing accidental layout-mode-specific behavior.
2019-11-26 15:42:27 +01:00
Anthony Ramine
85b2a4dc64
Support line_height better in layout 2020
2019-11-25 10:54:46 +01:00
Anthony Ramine
b3d30d284e
Start implementing text in layout 2020
2019-11-25 10:54:46 +01:00
Anthony Ramine
1446756774
Pass a LayoutContext to TextRun::layout in 2020
2019-11-25 10:54:46 +01:00
Simon Sapin
22f5e07765
2020: define DisplayInside and DisplayOutside enums separately from Stylo
2019-10-24 10:44:31 +02:00
Simon Sapin
cfc3ffcd54
2020: paint background-color
2019-10-24 10:44:31 +02:00
Simon Sapin
4e8eeda976
2020: add and call Fragment::build_display_list
2019-10-24 10:43:08 +02:00
Simon Sapin
e38cc1a549
2020: run layout after box construction
2019-10-24 10:43:08 +02:00
Anthony Ramine
6345e353d4
Handle inline-block as block for now in layout 2020
...
That makes Servo not panic when loading servo.org.
2019-10-11 16:43:52 +02:00
Anthony Ramine
e90fae52e5
Remove a wrong assertion
2019-10-08 13:42:41 +02:00
Simon Sapin
1bb85ed05b
Make some of layout_2020 private
2019-10-04 17:51:05 +02:00
Anthony Ramine
ec74204fa0
Call BoxTreeRoot::construct from layout_thread_2020
2019-10-04 10:03:42 +02:00
Anthony Ramine
0c156c60c2
Handle anonymous style in end_inline_formatting_context
2019-09-23 20:31:43 +02:00
Anthony Ramine
9cef3eee65
Uncomment more stuff related to box construction
2019-09-19 11:58:07 +02:00
Anthony Ramine
c08cfbb5f3
Cheat the system and use an Arc in BoxSlot
...
Ideally we want to be able to borrow from the DOM during box construction
but that's not playing very well at the moment with the current bridge
between script and layout.
2019-09-19 11:24:50 +02:00
Anthony Ramine
4444c5a2ad
Import victor's layout system 🍷
2019-09-11 10:36:30 +02:00
Simon Sapin
86904757e6
Import files from Victor
...
fdb11f3e87
2019-09-11 10:06:35 +02:00