Commit graph

101 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
cd3b0c23fa
style: Fix Servo build, and rustfmt recent changes. 2019-09-12 23:04:56 +02:00
Emilio Cobos Álvarez
3d57c22e9c Update euclid.
There are a few canvas2d-related dependencies that haven't updated, but they
only use euclid internally so that's not blocking landing the rest of the
changes.

Given the size of this patch, I think it's useful to get this landed as-is.
2019-07-23 23:09:55 +02:00
Josh Matthews
089823ae20 Remove sometimes-unused bounds field from base display item to prevent confusion. 2019-07-09 10:52:43 -04:00
Josh Matthews
f1b10393c2 rustfmt 2019-07-09 10:52:43 -04:00
Josh Matthews
644addd159 WebRender rectangles items are sized based on their clipping rectangles. 2019-07-09 10:51:57 -04:00
Josh Matthews
10ab466e5d Create a solid rectangle display list entry for the page background. 2019-07-09 10:51:56 -04:00
Patrick Walton
7ca570dd1d Upgrade display list building for the WebRender update. 2019-07-09 10:50:28 -04:00
Patrick Walton
2f9c9cefdb WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
Emilio Cobos Álvarez
add08518cd
Fix style system build with recent changes. 2019-06-25 13:11:32 +02:00
Emilio Cobos Álvarez
2e5078e9c5 layout: Fix servo build. 2019-06-04 01:04:02 -04:00
Paul Rouget
a20455fd6b WR update: APIs update 2019-03-22 15:41:48 +08:00
Emilio Cobos Álvarez
0c01325c05 layout: Fix servo build. 2019-03-13 15:08:39 +01:00
Emilio Cobos Álvarez
44ae191e72 Fix servo build. 2019-02-23 21:05:34 -08:00
Emilio Cobos Álvarez
6daebcc5df Fix servo build. 2019-02-10 07:23:51 +01:00
bors-servo
d81ff5704e
Auto merge of #22839 - jdm:overflow-hit-test-fix, r=pcwalton
Ensure transparent hit test region is sized and positioned correctly.

This addresses some edge cases that were missed by #22156. Specifically, in some cases the transparent region was being placed in the display list in front of the scrollable content, rather than behind it, and the size of the region did not account for parent stacking context.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22073 and fix #22216.
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22839)
<!-- Reviewable:end -->
2019-02-06 18:14:20 -05:00
Josh Matthews
f59e95ee3d Ensure transparent hit test region is sized and positioned correctly. 2019-02-06 15:19:03 -05:00
Alan Jeffrey
386c0f80ed Implemented fullscreen top layer 2019-02-06 13:23:52 -06:00
Emilio Cobos Álvarez
90c0ec0cf7 Fix servo build and rustfmt recent changes.
We need to introduce another Cursor enum that is specific to embedder_traits and
that layout converts to to avoid dependency hell.
2019-01-20 16:31:01 +01:00
bors-servo
2e439fa7cb
Auto merge of #22396 - jdm:no-spam-iframe-size, r=asajeffrey
Reduce unnecessary iframe size messages

This should be an improvement on pages that include iframes, since we currently run two layout jobs for every display-oriented layout request. When building the display list, we send a message to the constellation that includes the sizes of all iframes present, and the constellation sends resize messages to the script thread. This results in a mouse event on the outer page causing all frames to be re-laid out even if no changes occurred to the iframe sizes, which is ridiculous.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22394
- [x] These changes do not require tests because there is no way to test this internal detail.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22396)
<!-- Reviewable:end -->
2019-01-14 19:12:59 -05:00
Josh Matthews
49a100ca8b Suppress iframe size messages from layout that include unchanged sizes. 2019-01-14 18:17:45 -05:00
Anthony Ramine
cf15336a51 Simplify get_cursor 2019-01-14 16:51:28 +01:00
Anthony Ramine
b9b70445cb Remove ComputedValuesCursorUtility 2019-01-14 16:10:26 +01:00
Anthony Ramine
a92dd09fc9 Remove FlexFlowDisplayListBuilding 2019-01-14 16:10:26 +01:00
Anthony Ramine
21cca5bb53 Kill RgbColor 2019-01-14 16:10:26 +01:00
Anthony Ramine
f75578cbf1 Remove ListItemFlowDisplayListBuilding 2019-01-14 16:10:26 +01:00
Anthony Ramine
7d57c9b3ab Remove InlineFlowDisplayListBuilding
This lets us remove a few call indirections where a function just calls
another function defined in another module.
2019-01-14 16:10:25 +01:00
Anthony Ramine
7a704d2f04 Kill establishes_containing_block_for_absolute
We inline the related tests at the two call sites.
2019-01-14 15:46:04 +01:00
Anthony Ramine
6e0a7dc3b2 Remove FragmentDisplayListBuilding 2019-01-14 11:04:39 +01:00
Anthony Ramine
f8c4a87a30 Remove BaseFlowDisplayListBuilding 2019-01-14 10:54:23 +01:00
Anthony Ramine
fc75719ff2 Remove BlockFlowDisplayListBuilding
Replaced by inherent methods on BlockFlow, the only implementor of that trait.
2019-01-14 10:37:41 +01:00
Simon Sapin
be69f9c3e6 Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
Shotaro Yamada
c44a2febe6 Remove redundant .clone()s 2018-12-11 10:43:51 +09:00
Emilio Cobos Álvarez
c6dfe53483 Fix servo build. 2018-12-02 14:17:29 -05:00
Manish Goregaokar
5413328be2 Update webrender 2018-11-27 17:33:13 -08:00
Jan Andre Ikenmeyer
1d6fe65401
Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
Josh Matthews
1eee3c73eb Add a transparent hit-testing rectangle for scrollable block content. 2018-11-09 14:08:46 -05:00
Pyfisch
9e92eb205a Reorder imports 2018-11-06 22:35:07 +01:00
Simon Sapin
76e59a46d3 Sort use statements 2018-11-06 15:26:02 +01:00
Simon Sapin
45f7199eee cargo fix --edition 2018-11-06 15:26:02 +01:00
Pyfisch
93abe795c6 Directly build WebRender LineDisplayItem
Remove unused SimpleMatrixDetection.
2018-10-28 22:23:36 +01:00
Pyfisch
d9b1950d74 Layout: Remove redundant deny unsafe and format
Add license to two files.

Bypass DisplayListBuilder for some items.
2018-10-22 16:15:48 +02:00
Pyfisch
2ff330a5c9 Split layout/background.rs file
Have background, border and gradient modules
for calculation functions.
Use shorter names for functions that are qualified
by the module name like `border::radii`.

Use push_item and push_iter to add items to WebRender.
2018-10-22 16:15:46 +02:00
Josh Matthews
171469c27c Update webrender to 923ee495bd9b0fda8a4a94c5a6cf42e2f0548731. 2018-10-09 18:23:19 -04:00
Pyfisch
d13172845c Update Webrender
New version is
9156a4465f6ad715a0206cdd9a7e9a6f0385fbd6
2018-10-09 18:23:18 -04:00
Fernando Jiménez Moreno
8c40ef459b Do not share entire FrameRenderer with layout, only current frame 2018-10-08 16:12:01 +02:00
Víctor Manuel Jáquez Leal
006bef5eb5 layout: set building information for media fragment 2018-10-08 16:12:01 +02:00
Pyfisch
60d0c8cd76 Layout: stylistic changes
Additionally if an image border can't be displayed show solid border.
Introduce build_display_list_for_border_image to display border images.
2018-09-28 22:33:02 +02:00
Pyfisch
fabb70f874 Improve border images
Respect CSS border-image-width.
Properly support gradients as a border-image-source.
Only emit a border item if the border-width is non-zero
for simple borders but still emit one if the item is
an image as paint worklet that are not drawn cause servo
to hang and fail tests.

Add a new test and mark 4 more as passing.
2018-09-15 09:48:03 +02:00
Pyfisch
349047b096 Rustfmt layout crate 2018-09-01 13:24:57 +02:00
Pyfisch
1c438ed82c Do not emit DL items for zero images
Fixes wpt test failure.
2018-08-16 12:41:37 +02:00