Simon Sapin
999dd72895
Account for min/max-width in outer intrinsic sizing
2019-12-10 12:36:43 +01:00
Simon Sapin
ce7e84be72
Replace percent_resolved_*
functions with methods
2019-12-10 12:36:43 +01:00
Simon Sapin
a2c2b294d5
Move clamp_*
functions to methods of Length
2019-12-10 12:36:43 +01:00
Simon Sapin
9f4b1a0f14
Implement text-align
(except justify
)
2019-12-07 14:31:45 +01:00
Simon Sapin
6d91d77fba
Rename content_rect to rect in TextFragment and ImageFragment
...
Since they don’t have padding etc.
2019-12-07 14:25:16 +01:00
Simon Sapin
ce9fc3e651
Rename LineBoxes to Lines, since it contains fragments
2019-12-07 14:25:16 +01:00
Simon Sapin
fa1adf2ad3
Containing blocks contains styles rather than just a writing mode
2019-12-07 14:25:16 +01:00
Simon Sapin
40ad9a722d
Use the WritingMode bitflags from Stylo
2019-12-07 12:45:36 +01:00
bors-servo
e70397d90a
Auto merge of #25033 - servo:intrinsic, r=nox
...
Add support for inline-block and for computing min/max-content
2019-12-04 16:23:33 -05:00
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
Simon Sapin
01034b10e1
Use Sides::inline_sum
method
2019-12-04 13:47:13 +01:00
Simon Sapin
77d2c45991
Fix incorrect variable name
...
This was not the specified value
2019-12-04 13:37:20 +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
46f0f7d7e2
Implement shrink-to-fit for abspos
2019-12-03 15:11:35 +01:00
Simon Sapin
efa1885e1b
Remove IndependentFormattingContext::layout
...
Callers should handle replaced v.s. not separately
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
2c124b9d0b
Add inline_size_is_auto
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
8fe37f3ed6
Implement "outer min/max-content" (based on a given min/max-content)
...
https://dbaron.org/css/intrinsic/#outer-intrinsic
2019-12-02 17:36:33 +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
bors-servo
5f1681ad25
Auto merge of #24875 - jdm:wr-no-ipc, r=asajeffrey
...
Extract IPC out of webrender
Fixes #20172 . Fixes #13480 .
2019-11-27 20:48:13 -05:00
Josh Matthews
564c16d754
Use non-IPC webrender API over explicit IPC channels.
2019-11-27 20:47:53 -05: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
Anthony Ramine
10eccc8beb
Rename Arc to ServoArc in layout_2020::dom_traversal
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
Anthony Ramine
808c34498b
Update webrender and serde_bytes
2019-11-13 11:54:51 -05:00
Josh Matthews
fd260f78c8
dom: Calculate the viewport size of iframes when they are first added to the tree.
2019-11-06 16:13:55 -05:00
bors-servo
45113a6e41
Auto merge of #24551 - nox:i-am-very-smart, r=SimonSapin
...
Fix a ridiculous bug in layout-2020
Who needs CI anyway?
2019-10-25 17:57:31 -04:00