Commit graph

292 commits

Author SHA1 Message Date
Alan Jeffrey
409fbc0e08 servo: Merge #17239 - Implemented paint worklets invoking worklet scripts (from asajeffrey:script-paint-worklets-invoke-worklet-scripts); r=jdm
<!-- Please describe your changes on the following line: -->

Implemented the "invoke a paint callback" functionality of paint worklets (https://drafts.css-houdini.org/css-paint-api/#invoke-a-paint-callback).

This PR does not implement the 2D rendering context, and just generates a placeholder image.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because we can't write reftests until we have 2D rendering contexts implemented.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 39da6d46742d67c94f9614212af6dabd6124e5b3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7bd3104530133cf38e1e8869935fa5145d74a7d0
2017-06-30 01:16:09 -07:00
Anthony Ramine
e0fabb9d64 servo: Merge #17543 - Make text-shadow and box-shadow use SimpleShadow (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 522d24d1260c93b570882e5bf42f2c9c25ef334c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5a1c6129ddf1a40f5a6438b449b5f07050fe973a
2017-06-28 07:28:45 -07:00
Anthony Ramine
15be6312ed servo: Merge #17530 - Improve sequence values in style (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: de0ee6cebfcaad720cd3568b19d2992349c8825c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e6ac7281edfb9197a81ae318c8e245aabb99f7ac
2017-06-27 15:34:15 -07:00
Alan Jeffrey
8401e61207 servo: Merge #17456 - Paint worklet size should agree with Chrome (from asajeffrey:script-paint-worklets-size); r=emilio
<!-- Please describe your changes on the following line: -->

Getting our implementation to agree with Chrome about the definition of the size parameter to a paint worklet.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #17376
- [X] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 813eed222e14735cc6c83c341c2bff46600458f7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f41ac0bd26571400aae1f37e2fbee6c258b21656
2017-06-22 07:54:10 -07:00
Pyfisch
16beecaaf1 servo: Merge #17395 - Make background gradient cover padding (from pyfisch:issue17387); r=emilio
CSS-gradients should not only cover the content of an
element but also the padding (but not the border).

<!-- Please describe your changes on the following line: -->

Thanks to @atouchet for catching this.

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #17387 (github issue number if applicable).

<!-- Either: -->
- [x] These changes do not require tests because gradients are hard to test automatically but you can use [this gist](https://gist.github.com/pyfisch/fa263c8dfc57e5812fe8a4869ad61513) as a manual test.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7a80192a820848f5ac04b9f4ffe2e860476579ba

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 69259da0089e03bbc881a356e7e2e13a1275272f
2017-06-21 06:50:09 -07:00
Anthony Ramine
565433f368 servo: Merge #17402 - Use generics for the filter property (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: fc2c5b7ef4bd7f36b6aa4e0540adc5b8ef3882c0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ffccb6f72d2ac1e74cb406e00a940f07c204100f
2017-06-20 06:23:17 -07:00
Glenn Watson
2865a9e008 servo: Merge #17352 - Update WR (CPU text optimizations, image format renames) (from glennw:update-wr-faster-text); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e1bce241291683ee61abab042d0c808ae5396e91

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 38f0d8ec39b0377ce568d0877e0939fafe27d0d1
2017-06-16 01:21:05 -07:00
Anthony Ramine
74279dfc9b servo: Merge #17338 - Derive ToCss for computed LengthOrPercentage types (from servo:derive-all-the-things); r=emilio,waffles
Source-Repo: https://github.com/servo/servo
Source-Revision: 0142d193a3fde057718612028d9c1676e046b816

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dbf86c0ae37ccd730b2a38035b192e8b36b5a36c
2017-06-15 13:37:04 -07:00
Nicolas Silva
01a59cb89e servo: Merge #17184 - Bump euclid to 0.14.x (from nical:euclid-bump); r=SimonSapin
- [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up)
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 18653f69581693a5bae1ce4e350e78bc16159b08

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed1f193620a8c5ebbb70eea337bd519dfc5c18a1
2017-06-14 07:25:05 -07:00
Anthony Ramine
e497b77c77 servo: Merge #17215 - Derive more ToCss impls (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 1555f0fc413415d5c8f7c5a5f3fec2eecfce640e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 60a2001016256af7bd79d02c3b48df1d1b6e45cb
2017-06-09 05:00:45 -07:00
Xidorn Quan
adad1a1d17 servo: Merge #17219 - Support interpolation between currentcolor and numeric color (from upsuper:currentcolor); r=Manishearth,birtles
This is the Servo side change of [bug 1345709](https://bugzilla.mozilla.org/show_bug.cgi?id=1345709).

Source-Repo: https://github.com/servo/servo
Source-Revision: 24e944ad94816e607e833e34095c4f8b8136df4c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9bd6680c1a980543f2ebfc191186cc8d88fb075c
2017-06-07 21:03:52 -07:00
Alan Jeffrey
3e7932d6cd servo: Merge #17150 - Implemented the plumbing for paint worklets (from asajeffrey:script-paint-worklets-plumbing); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the plumbing for paint worklets:

* Adding CSS values for paint worklets.
* Implementing a skeleton for the `PaintWorkletGlobalScope` webidl.
* Implementing an executor for paint worklet tasks, and passing it from script to layout.
* Building the display list items for paint worklet images.

This PR does not implement registering or calling paint worklets in JS.

Before it merges, this PR needs a reftest added for basic paint worklet functionality.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: bf46da065db58549a74c489d521f9375f4137637

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b47a030eba91b992b1c0dac50ea3eb49a288ca39
2017-06-07 11:57:07 -07:00
Xidorn Quan
a5d4fe0775 servo: Merge #17199 - Make shadow values share more code (from upsuper:shadow); r=Manishearth
<!-- Please describe your changes on the following line: -->
Make `text-shadow` reuse `Shadow` type directly.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because refactor

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2df8f69bcf8917a8300c24f920f7677f1f40ae11

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 21e0ed70168cc66ca125486a2adaa956f529fe57
2017-06-06 21:02:30 -07:00
Eloy Coto
3b2ceae77f servo: Merge #16317 - Fix #6799: set stacking_context_position correctly on fragment_border_iterator (from eloycoto:issue6799); r=emilio
Hey,

First of all, this is my first PR to Servo project and I'm learning Rust, so sorry if you see something that it's not correct. I did that as best as I know.

This PR fix the issue #6799; I tried all the corner cases that I can think about it and always get the right result and the same as other browsers.

Related to the build:

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #6799

In the other hand, I added the test in the cssom folder, is where getBoundingClientRect  is defined, so I think that is the best place.

I'm sure that the line 122 can be better, but I didn't find a way to transform a Point2D from f32 to px in a easy way.

I'm here to listen to your recommendations and fix any issue.
Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d32b9cc35377f5d74197514435199e407c096fa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f6d93a8b1753e0a3c56e1d5c1fc708de0456e2b8
2017-05-30 11:28:26 -05:00
Anthony Ramine
f7c6cee7a6 servo: Merge #17071 - Reuse Rect<T> some more (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 433d68955b276266d620f788ad509678edc35071

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : adcf447653e4fb82c9ba5fa736085e418722118d
2017-05-30 05:11:28 -05:00
Anthony Ramine
e8079db782 servo: Merge #17036 - Use values::generics::rect::Rect some more (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7275f6598120266a0beaeff1294271a23cd40d4d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3038879ba4d05bef847240e2446f9a39aec1d907
2017-05-27 05:41:12 -05:00
Anthony Ramine
c1331e29f1 servo: Merge #17002 - Introduce style::values::generics::rect ▭ (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: b4cebe1920ee9dc64f1a080fb940ea77743692a2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 513ed415276f1165866a4127033b410539529c11
2017-05-24 02:18:01 -05:00
Anthony Ramine
d0eb7074d3 servo: Merge #16937 - Fix calc() clamping issues (from nox:clamp-calc); r=emilio
Fix calc() clamping issues

Source-Repo: https://github.com/servo/servo
Source-Revision: b4204b5e2d8b2981408e2c092130af40ad3170bb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ea4587dcbce7b4bcb1d1977a734ee0d012fdb13a
2017-05-18 15:15:04 -05:00
Anthony Ramine
4e93490c73 servo: Merge #16889 - Refactor how calc() clamping is done on computed values (fixes #15296) (from nox:clamp-calc); r=stshine
Source-Repo: https://github.com/servo/servo
Source-Revision: 864f5509d8d82609b1be7c9571395fbefa84fa9e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e2d8027ee7834b1c77e348558f7f2544d8533a0a
2017-05-18 08:06:19 -05:00
Dzmitry Malyshau
a39c2178b9 servo: Merge #16891 - Using TransformStyle::Preserve3D (from kvark:preserve3d); r=glennw,emilio
<!-- Please describe your changes on the following line: -->

The changes were reviewed previously as a part of WR update PRs, but then we decided to move them out.
r? @emilio

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a5ff57b20fea879cc24e9dc6b94dc381ce105b89

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 13ec4c4a854d170c065cd07d2a6441fc215ba845
2017-05-17 20:38:14 -05:00
Alan Jeffrey
0412b67dd7 servo: Merge #16876 - Renamed constellation::Frame to constellation::BrowsingContext (from asajeffrey:constellation-rename-frames); r=cbrewster
<!-- Please describe your changes on the following line: -->

Now that script has `WindowProxy` rather than `BrowsingContext` objects, we can rename `Frame` in the constellation to `BrowsingContext`. In particular, this means that `FrameId`s are now `BrowsingContextid`s, which better captures their purpose (and they are used in a lot of places, not just the constellation).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because renaming

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 837531992864f920342020462830b933d5ed0280

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c73d366cabd57d2776dbe787880f363ce7bae144
2017-05-16 23:10:45 -05:00
Martin Robinson
3e26dba630 servo: Merge #16795 - Don't optimize display list for projective transforms (from mrobinson:out-of-viewport-transform); r=glennw
There are situations where elements are transformed from outside the
display list. With projective transforms it's currently difficult to
detect these. In those cases we just don't optimize the display list,
so that they will always be shown.

Fixes #13822.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #13822 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fada0eb6607fa746cd88426ebb7bb4052f709cda

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e3ba84bec17ff4aaf916705e7bbeb498add9c3a7
2017-05-16 21:27:47 -05:00
Anthony Ramine
440092e295 servo: Merge #16859 - Rewrite style images with a good dose of generics 💉 (from nox:gradients); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: eb7314b4122ba981cdc98204660f9fa1ef43e698

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 761a774e8e8a27e96e5047377166993fee80d201
2017-05-15 09:13:38 -05:00
Connor Brewster
c132de25a8 servo: Merge #16506 - Make non-initial about:blank loads async (from cbrewster:about_chaos); r=asajeffrey
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14856 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: dc8cf694eddca6529bf4b3ac1066764473775192

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2865a2a154d7e8d7b0b5e7f2e6ec499717185fd2
2017-05-12 15:08:45 -05:00
Anthony Ramine
7a80fffb95 servo: Merge #16770 - Refactor Position (from nox:POSITION-DO-YOU-EVEN); r=Wafflespeanut,nox
Source-Repo: https://github.com/servo/servo
Source-Revision: d5efed6c6a3e05f09300a3ed36d0e1254fcb407c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 716a8e4c620625bc3cc292afc339c916bf9bf38b
2017-05-10 09:56:17 -05:00
Emilio Cobos Álvarez
1f6edba4b7 servo: Merge #16766 - layout: Fix radius percentage resolution (from emilio:border-radius); r=glennw
Fixes #16764

Source-Repo: https://github.com/servo/servo
Source-Revision: 34d33574dbd8696ff788ae8b9af65f8e88f404a9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 979c8ae0d11656329d6949014536e817bd56dcab
2017-05-08 06:24:42 -05:00
Pyfisch
8844d0506c servo: Merge #16666 - Improvements to gradients (from pyfisch:gradients); r=emilio
This is a collection of commits improving the rendering of linear and radial gradients by making them conform more closely to the spec.

All commits are are independent and should work without the others.

These commits address the following issues:
* a956e3fd529715cc0ac39b23910f19e092c7c5a9 resolves #3908 but contains also some other necessary changes to `convert_gradient_stops`. The updated function has a few more copys but should be more correct. Maybe @pcwalton wants to comment since he has originally written the code.
* b230be8aaf318fb754cf58e5cd243087df2f7e0f partially solves #16638. (Partially because `border-image-outset` is not implemented. This is an older issue for border gradients: #15894.

To quickly catch regressions and see changes to gradients I have created [a set of twelve manual testcases](https://pyfisch.org/stuff/testcases-gradients.html) and placed them in a single file. Attached are two files. One shows how the gradients were rendered before the PR the other one with the changes applied.

![testcases-old](https://cloud.githubusercontent.com/assets/2781017/25580052/b433278e-2e7d-11e7-9396-500fef12eee0.png)
![testcases-new](https://cloud.githubusercontent.com/assets/2781017/25580051/b43222c6-2e7d-11e7-99ab-c0a2709baf41.png)

r? @emilio
and maybe also @jdm?

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f1ae6425588bbac37da2e0f8aa2a708f51fa988

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b6e9d1479c65a59ebe6df841e7b648782449c5dc
2017-05-07 07:56:51 -05:00
Martin Robinson
387c611ae8 servo: Merge #16735 - Rename PushScrollRoot and remove PopScrollRoot (from mrobinson:push-pop-scroll-root); r=glennw
PopScrollRoot was unused and PushScrollRoot no longer pushes a scroll
root, but defines a new one.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f832052d9500e1102ebf43450087a7f51bfcb60e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8f5eaa0100709586c0321ee817f98ae6dde7909c
2017-05-05 02:21:12 -05:00
Bobby Holley
f716af270a servo: Merge #16702 - Use a custom arc in the style system (from bholley:custom_arc); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1360889

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b1006936a27232fb77fef5893cc141e66bb12b7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 85baf2471e165666e2540cbcf4fbb55587e60f39
2017-05-02 20:01:10 -05:00
Pyfisch
63677fa65f servo: Merge #16385 - Implement radial gradients (from pyfisch:radial-gradient); r=emilio
<!-- Please describe your changes on the following line: -->
This PR passes the `radial-gradient` function down from CSS parsed properties to webrender. It currently lacks tests but the examples from MDN and some other tests work fine. Probably there are some wpt tests I can enable?

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #11779 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 53c62e890acd05475d94b19d760272c6b658d83a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1b8dd637f2ccee556a9edd14c2ef6fc2de8cc7d4
2017-04-29 09:40:32 -05:00
Anthony Ramine
58a9eab900 servo: Merge #16628 - Parse interpolation hints (fixes #15166) (from nox:INTERPOL); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: f598adc3ad6f25ce684127ce2335e783ff49e00a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed842791333d0b8a2fb0d95b43de08549c086056
2017-04-27 10:41:04 -05:00
Manish Goregaokar
06a3701bad servo: Merge #16597 - stylo: support all overflow values (from Manishearth:stylo-overflow); r=emilio
overflow:clip doesn't exist, it's just called clip internally. Renamed, and added the other missing values.

I also removed the overflow newtype -- no need for extra code bloat, and it's not protecting us from much.

Source-Repo: https://github.com/servo/servo
Source-Revision: cd8af862446ed8e4787d36d5de5d4dc254339a5e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c14a5b4046b1b4322039ef9045a96b8bd0fbc777
2017-04-25 15:59:13 -05:00
Martin Robinson
b35beae16d servo: Merge #16531 - Eliminate ScrollRootId (from mrobinson:clip-id); r=glennw
Just use WebRender's ClipId directly. This will allow us to create and
use ReferenceFrames in the future, if we need to do that. It will also
make it easier to have Servo responsible for creating the root
scrolling area, which will allow removing some old hacks in the future.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 6e05a903afe81af5a45067dde4f9af26a2ea4be2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed3c05a3a6ad1de7c189632886473e8b9b294565
2017-04-20 01:55:33 -05:00
Martin Robinson
eb03c99448 servo: Merge #16510 - Remove StackingContext::establishes_3d_context (from mrobinson:establishes-3d-context); r=jdm
This member is now unused since WebRender is the only display backend.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they do not change behavior.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 3e1f4fdc9ac1d42e6bbddf9a2dc82ca43a06b6f4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b018c3655b68daeab0e2558323b41d2626cda380
2017-04-18 03:43:15 -05:00
Martin Robinson
4608399eb9 servo: Merge #16336 - Used shared clips for overflow:hidden and CSS clip (from mrobinson:overflow-hidden); r=glennw
Instead of passing down a complex clipping region to each item, used
shared clipping to handle overflow:hidden and CSS clips. In addition to
being more efficient, this should also fix quite a few issues related
to absolutely positioned elements.

One existing reftest is slightly modified to avoid tickling a quirk
with the way that WebRender rasterizes masks. We are working out how to
best express these combined masks with the API or need to. The change
does not affect the original subject of the reftest.

Fixes #13109.
Fixes #10151.
Fixes #7575.
Fixes #8074.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #13109, #10151, #7575, #8074.

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ab7e1e2d36829e20df130f7174c3c7d1dbbd5cc5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f0f2687589ff10964ff809060f17d3c7e3e358c8
2017-04-17 16:08:00 -05:00
Martin Robinson
0591b4dbe2 servo: Merge #16463 - Fix various issues with overflow clipping (from mrobinson:various-overflow-fixes); r=emilio
When dealing absolutely positioned items, we should use clip of our
containing block, even if our containing block doesn't itself establish
a new overflow clip. Additionally, we need to properly handle
assigning scroll root ids to fragments of inline elements.

We add a test for this behavior.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b9274b7527b9171dae34f87a039ea98ef2e5fbe8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 50574bbfa504f331919ed588026d98660dc0e6dd
2017-04-17 09:13:48 -05:00
Glenn Watson
a13789a4c4 servo: Merge #16360 - Update WR (gradients, batching, text run, border changes) (from glennw:update-wr-borders); r=jdm
- Tidy and optimize the batching code.
- Support tiling / repeat for linear and radial gradients.
- Fix some edge cases of subpixel text AA.
- Add clip mask support to border shaders.
- Optimization to text run creation on CPU.
- Handle more box-shadow clipping cases.
- Fix a panic that could occur when window size is 0.
- Clip / scroll API improvements.

Source-Repo: https://github.com/servo/servo
Source-Revision: 43bd0cae0d983ec1e78c82fcebea303f2854cb85

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dcefa625b08187b0dcf7f729626d052c84a40fd4
2017-04-12 12:03:10 -05:00
Nazım Can Altınova
f6bd86c084 servo: Merge #16319 - stylo: Add -moz-element support (from canaltinova:element); r=upsuper
Implemented -moz-element for background property.
r=upsuper

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15443 and [Bug 1341761](https://bugzilla.mozilla.org/show_bug.cgi?id=1341761)

Source-Repo: https://github.com/servo/servo
Source-Revision: 3620e755a96d7272cfd28751696ec42ac0a0ce70

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d13d9c6865fbb158b65bdbf464352b5e8874513b
2017-04-10 14:08:04 -05:00
Martin Robinson
e6c81765aa servo: Merge #16284 - Use real clips when generating scroll roots (from mrobinson:scroll-root-clip); r=glennw
This is the first step toward removing inherited clips in favor of
scroll roots for handling overflow and CSS clipping. This will allow us
to more easily handle elements that should not be clipped. While we are
still using inherited clips here, we now properly clip some types of
content that wasn't clipped before.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 24cea409f24135769c4fbedddd0f87da9d7bd12b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9e1db3f7fa3de95574acbef51d5c5ac63de1a8fa
2017-04-06 14:32:16 -05:00
Glenn Watson
341d05c4ee servo: Merge #16264 - Update WR (border fast paths, clip interfaces) (from glennw:update-wr-borders-and-clips); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 6a67688924b1b122be9c8ec456d6029dc02366a4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 88b484524f996cce0d5c77dfd7e3634684cdb6da
2017-04-04 20:35:19 -05:00
James Bendig
4ffa87829b servo: Merge #16127 - Add full parsing/serialization for mask-repeat and background-repeat (from jbendig:issue_14954); r=emilio
I implemented full parsing and serialization for the mask-repeat and background-repeat style properties. I think some more tests are required but I'm not what I'm missing. I'd appreciate some direction.

I also had to modify some layout code to get my changes to compile. As a result, background-repeat should work individually in both directions now too.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #14954.

<!-- Either: -->
- [ ] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f2cd9efa966a3d0f9fc8404ce1fd18bdd56844ac

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c518d03e4105536f2fb1cf994a4c12feb84bf9ab
2017-03-28 13:30:13 -05:00
Fernando Jiménez Moreno
b7749d2ddf servo: Merge #16048 - Make image cache per-document rather than global (from ferjm:issue-15701-image-cache); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15701.
- [X] These changes do not require new tests because there should already be WPTs for image loads.

Source-Repo: https://github.com/servo/servo
Source-Revision: c85a02b14431ce775024d8a8dae9d3e727dedfc4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 795b94666dc18a53ce2d75ef1a5279c76e04a3c7
2017-03-27 13:50:46 -07:00
Martin Robinson
2f544e9a09 servo: Merge #16146 - Fix scroll root of absolutely positioned elements (from mrobinson:containing-block-scrolling); r=glennw
Absolutely positioned elements should be given the scroll root of their
containing block and not necessarily the scroll root of their parent.
This fixes several CSS tests, though others are still failing pending a
similar fix for inherited clipping rectangles.

Fixes #13530.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f5b17202fb87bf84230dd7db0a767c330be8c7b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 77d0c5057f306e10b161a8d05f8f8b50d7ffd886
2017-03-27 06:57:32 -07:00
Morris Tseng
6ccbad8048 servo: Merge #15905 - Add gradient border support (from mephisto41:add-border-gradient); r=emilio
webrender add gradient border support in https://github.com/servo/webrender/pull/953. This pr add support in servo.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [X] These changes do not require tests because it should be covered by wpt

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fd8127b23b177886217eb1f21963e6c02528647a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9f3188db40cd1d21acb98f2b7f6927961c8e71ad
2017-03-26 02:29:16 -07:00
Nazım Can Altınova
805b91c142 servo: Merge #16133 - Add support for -moz-image-rect (from canaltinova:image-rect); r=Manishearth
Add support for -moz-image-rect
r=Manishearth

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15948 and [Bug 1341763](https://bugzilla.mozilla.org/show_bug.cgi?id=1341763)

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: c2d9f663afd6c804c30a7a077392b836e1fa29b5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 89cf026c56b5e318143703cd3c857732e8e81991
2017-03-25 12:09:21 -07:00
Glenn Watson
7ddc788706 servo: Merge #16073 - Update WR (gl trait, scroll roots) (from glennw:update-wr-glfns); r=mrobinson
Source-Repo: https://github.com/servo/servo
Source-Revision: c99289a928b30c874da2aa4d8aa869593bbb5e14

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e963ce4fd8a3773dcd502808b89894a0d1755c07
2017-03-23 03:43:49 -07:00
Simon Sapin
33a9e6d050 servo: Merge #16014 - Per-process lock for CSSOM objects (from servo:style-ref); r=emilio
<!-- Please describe your changes on the following line: -->

Before this PR, every object reflected in CSSOM is in `Arc<RwLock<_>>` to enable safe (synchronized) mutable aliasing. Acquiring all these locks has significant cost during selector matching:

* https://bugzilla.mozilla.org/show_bug.cgi?id=1311469
* https://bugzilla.mozilla.org/show_bug.cgi?id=1335941
* https://bugzilla.mozilla.org/show_bug.cgi?id=1339703

This PR introduce a mechanism to protect many objects with the same `RwLock` that only needs to be acquired once.

In Stylo, there is one such lock per process (in a `lazy_static`), used for everything.

I non-Stylo Servo, I originally intended to have one such lock per document (for author-origin stylesheets, and one per process for user-agent and user sytlesheets since they’re shared across documents, and never mutated anyway). However I failed to have the same document-specific (or pipeline-specific) `Arc` reachable from both `Document` nodes and `LayoutThread`. Recursively following callers lead me to include this `Arc` in `UnprivilegedPipelineContent`, but that needs to be serializable. So there is a second process-wide lock.

This was previously #15998, closed accidentally.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: bb54f0a429de0e8b8861f8071b6cf82f73622664

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 851230e57ac8775707df5f0f103be5feac81fc41
2017-03-19 14:31:19 -07:00
Nazım Can Altınova
f01a814b04 servo: Merge #15732 - Fix parsing of ClipRect (from canaltinova:clip-parse); r=Manishearth
<!-- Please describe your changes on the following line: -->
Fix parsing of ClipRect for clip property.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15728 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: bdd3608d453f30472f100ad661b1f3e855e258d2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : eea7ecf926dd64fba203fc8c2138a088e439f221
2017-02-24 13:22:15 -08:00
Glenn Watson
528abf02e1 servo: Merge #15700 - Introduce CSSPixel as a replacement for ViewportPx and PagePx (from glennw:zoom-wip-2); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d13e6a2df42af3cce427a0b2062ac70d28c05d0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 65cadddcb0ce3aac92adcdbdc9c76b15c88f543d
2017-02-23 16:01:16 -08:00
Glenn Watson
9e303bf129 servo: Merge #15697 - Add support for most of the border-image properties, pass to WR (from glennw:border-image); r=jdm,pcwalton
This adds support for:
 * border-image (images, not gradients yet)
 * border-image-source
 * border-image-slice
 * border-image-repeat (stretch + repeat only for now)

Remaining work:
 * Connect border-image-outset (WR supports this).
 * border-image-width

Source-Repo: https://github.com/servo/servo
Source-Revision: 6c9e94b1c07dd148430d175e79c595db82dea742

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1266344fb19194b3b2500700fb636c577a2d5366
2017-02-23 13:40:40 -08:00