Commit graph

115 commits

Author SHA1 Message Date
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
Anthony Ramine
327740d67a Fix a ridiculous bug in layout-2020
Who needs CI anyway?
2019-10-25 11:23:46 +02:00
Simon Sapin
5eb1472a33 2020: paint borders 2019-10-24 15:06:20 +02:00
Simon Sapin
22f5e07765 2020: define DisplayInside and DisplayOutside enums separately from Stylo 2019-10-24 10:44:31 +02:00
Simon Sapin
13e494d74f More compact debug output for CSS values
```
Rect {
    start_corner: Vec2 { i: 0.0 px, b: 0.0 px },
    size: Vec2 { i: 1024.0 px, b: 20.0 px },
}
```

… instead of:

```
Rect {
    start_corner: Vec2 {
        inline: CSSPixelLength(
            0.0,
        ),
        block: CSSPixelLength(
            0.0,
        ),
    },
    size: Vec2 {
        inline: CSSPixelLength(
            1024.0,
        ),
        block: CSSPixelLength(
            0.0,
        ),
    },
}
```
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
Shotaro Yamada
b228d2700e Remove unused dependencies 2019-10-01 21:15:53 +09:00
Anthony Ramine
053a3d5a5a Handle anonymous style in traverse_pseudo_element_contents 2019-09-23 20:32:16 +02:00
Anthony Ramine
0c156c60c2 Handle anonymous style in end_inline_formatting_context 2019-09-23 20:31:43 +02:00