Commit graph

314 commits

Author SHA1 Message Date
Imanol Fernandez
e89d06f1c7 servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio
<!-- Please describe your changes on the following line: -->

Info about the big picture and the goals of the WebGL refactor in this thread: https://groups.google.com/forum/#!topic/mozilla.dev.servo/0WMGz60kKzQ

I tried to reduce this PR as much as possible as requested in the thread. I'll do separate PRs for other features (e.g.: Batch messages or use shared memory to improve frame times) or fixes.

Some tips to ease the review process:
- Most changes in DOM objects follow the same pattern (remove CanvasMsg wrapper and use the new sender method).
- WebGLCommands are the same ones as before (moved from webrender_api). So those lines are already reviewed.
- See WebGL traits in [components/canvas_traits/webgl.rs](https://github.com/servo/servo/pull/17891/files#diff-8701045d01505418701d0631d4d45562)
- See WebGLThread and WR External Image bridge in [components/canvas/webgl_thread.rs](https://github.com/servo/servo/pull/17891/files#diff-281554879f39a2a041f7a69d442a5d2e)
- The implementation submitted in this PR creates a single `WebGLThread` for all ScriptThread/Pipelines. See that in [components/canvas/webgl_mode/inprocess.rs](https://github.com/servo/servo/pull/17891/files#diff-250070c6c5a38c7f9fa0f5b3c101f68b)

The conformance tests will help to guarantee that we don't miss anything.

---
<!-- 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: 90f55ea4580e2a15f7d70d0491444f18b972d450

--HG--
rename : servo/tests/unit/style/rule_tree/mod.rs => servo/components/canvas/webgl_mode/mod.rs
rename : servo/components/canvas_traits/lib.rs => servo/components/canvas_traits/canvas.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d476816b29986c4abfd61ff3c7b46aa189f2f50a
2017-08-15 16:00:10 -05:00
Simon Sapin
ea9c8db790 servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d9b82b9efa7b10a2e34d93df5ac535d99518f7a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e1b3d113c3edaea3c4c07f8b206f2e02922e3caf
2017-08-15 07:31:04 -05:00
Martin Robinson
3e53d1d19e servo: Merge #18038 - Remove an unused DisplayListBuildState member (from mrobinson:removed-unused-db-builder-state-member); r=emilio
I'm not sure this member was ever used.

<!-- 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 this shouldn't 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: 53c6f8ea8bf1002d0c99c067601fe070dcd6bcf1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8c9d8bb7c5b7f3870d203e094aa477ae37d68031
2017-08-10 07:13:00 -05:00
Alan Jeffrey
35f3137f63 servo: Merge #17845 - Use CSS background-size property when computing the size of a paint worklet (from asajeffrey:script-paint-worklet-background-size); r=glennw
<!-- Please describe your changes on the following line: -->

The size of a paint worklet should be based on the background-size CSS 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 #17676.
- [X] These changes do not require tests because the existing css-paint-api tests catch this.

<!-- 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: a624496cc485e4eebe82860ca241cb651d91f54a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3fe8818e813fb80e9d6115846ac5719e3b8444bf
2017-08-07 16:54:35 -05:00
Boris Chiou
102da9013f servo: Merge #17783 - stylo: Bug 1374233 - Clamp interpolated values for properties which need to be restricted (from BorisChiou:stylo/animation/restrictions); r=nox
Some properties only accept non-negative values, or values greater than or equal to one. It is possible to produce an negative interpolated values while using negative timing functions, so we have to apply a restriction to these values to avoid getting invalid values.

For example, line-height must be non-negative, but the output progress of some timing functions (e,g. cubic-bezier(0.25, -2, 0.75, 1)) may be a negative value, so the interpolated result of line-height is also negative.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1374233.
- [X] These changes do not require tests because we have tests in Gecko side already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 016ea11cbaf7586db144be122581c5b110649aee

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3562be334610046cb0edaad2fc231dd169a4aa0d
2017-08-07 11:05:17 -05:00
Martin Robinson
44467d0f2c servo: Merge #17923 - Fix fixed position items with parents with CSS clips (from mrobinson:fixed-position-css-clip); r=emilio
In order to properly handle CSS clipping, we need to keep track of what
the different kinds of clips that we have. On one hand, clipping due to
overflow rules should respect the containing block hierarchy, while CSS
clipping should respect the flow tree hierarchy. In order to represent
the complexity of items that are scrolled via one clip/scroll frame and
clipped by another we keep track of that status with a
ClipAndScrollInfo.

<!-- 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: 49615284d0f45646da917f7dda22a1103d12974d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b950eddcbaa45507365bf0e94255f9ae86258bd4
2017-08-04 11:17:24 -05:00
Alan Jeffrey
9f89278c5a servo: Merge #17810 - Script paint worklets speculative evaluation (from asajeffrey:script-paint-worklets-speculative-evaluation); r=emilio
<!-- Please describe your changes on the following line: -->

This PR speculatively calls paint worklets during style, which increases the concurrency, since it increases the chance that the cache will have the right result in it when it comes to layout. The speculation is wasted effort if the size of the element has changed, but this is often not the case.

---
<!-- 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 #17486 and #17369.
- [X] These changes do not require tests because it's a performance improvement

<!-- 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: cf5602e84f17d14b6a9abb77f1de6460db070921

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ab914804642ce2d739a3a441c8691e8041e67958
2017-07-31 13:13:26 -05:00
Alan Jeffrey
5e86b4f36c servo: Merge #17546 - Script paint worklets arguments (from asajeffrey:script-paint-worklets-arguments); r=emilio
<!-- Please describe your changes on the following line: -->

Implement paint worklet arguments.

This is a dependent PR, only the last commit is in this PR.
---
<!-- 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 #17435
- [X] These changes do not require tests because there are tests in the most recent wpt.

<!-- 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: 097e36beb1fc34f021044a19f029eed8780fa87f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a14b2d7e260344c6303041ee2b7362268b69ca8c
2017-07-29 15:32:49 -05:00
Glenn Watson
5338944e39 servo: Merge #17863 - Update WR (scroll/overflow mostly) (from glennw:update-wr-scroll-stuff); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: f351e6819873d208f2fc2b6b9908f8d91655296f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 77de6d30974297a89cffd9ef4c3a3983c354fba1
2017-07-25 19:16:34 -07:00
Glenn Watson
be8cd7ddc3 servo: Merge #17814 - Update WR (switch to new text-decorations API in WR) (from glennw:update-wr-text-decorations); r=emilio
This only makes use of the "Solid" text decoration type, which
matches the existing support. WR now supports dotted, dashed
and wavy text decorations, but supporting those will need some
extra work in Servo to pass through the correct values.

Source-Repo: https://github.com/servo/servo
Source-Revision: 46ffcbaf7bc97df7c8ba3b82add0e03a01805ab4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 97baccf41b67fd0c743bd96d4917e8b7ef6b0a7f
2017-07-23 20:04:38 -07:00
Alan Jeffrey
75d58c8855 servo: Merge #17634 - Implement drawing an image from a CSS style value into a canvas (from asajeffrey:canvas-image-css-style-value); r=jdm
<!-- Please describe your changes on the following line: -->

Implemented drawing a CSS style value into a canvas, which is needed for the Houdini CSS Paint API.

This PR is dependent on #17364.

---
<!-- 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 #17432.
- [X] These changes do not require tests because the existing CSS paint API wpt test cases test this behaviour.

<!-- 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: 76ad913870cec3f01731d324967ed191fd5c6be3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9cbcb16f1b30c5fb25c0dc7d291c6c78638fcc5f
2017-07-21 14:39:47 -07:00
Alan Jeffrey
05183c9656 servo: Merge #17499 - Fixed scaling artefacts in paint worklets caused by zoom and hidpi (from asajeffrey:script-paint-worklets-zoom); r=glennw
<!-- Please describe your changes on the following line: -->

This PR renders paint worklet canvases at the device pixel resolution, rather than the CSS pixel resolution.

It's a dependent PR, building on #17239, #17326 and #17364.

---
<!-- 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 #17454
- [X] These changes do not require tests because we don't run reftests with zoom enabled

<!-- 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: 9fcbeb3ca2ea0d11d4787c649e82918f7672694d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ee9ba9b149697292aef4b26de022b90ab6f781e
2017-07-20 17:09:06 -07:00
Glenn Watson
11ab403f4f servo: Merge #17790 - Update WR (text-shadow optimizations) (from glennw:update-wr-shadows-agan); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 069243a474eedb2c914db71c45d121fc4d954f5e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 39cef33d029eb452db08b2251f9f8c86fc4cb5a3
2017-07-20 00:55:45 -07:00
Glenn Watson
893d757802 servo: Merge #17771 - Update WR (text-shadow improvements, iframe + image clips, depth buffer sharing) (from mrobinson:wr-update-shadows); r=emilio
<!-- 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
- [ ] 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: 988a516a5bfc9f2de1ced93b0681d714a09910fa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d4c67389df1e7361db2ac05bdcaa7a1239d5da5b
2017-07-18 07:08:25 -07:00
Manish Goregaokar
da00e55f45 servo: Merge #17767 - stylo: Fuse ServoStyleContext and ServoComputedValues (from Manishearth:stylo-fuse); r=bholley
r=bholley https://bugzilla.mozilla.org/show_bug.cgi?id=1367904

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b3f72c771f92d5cd6a68f560092698f328f581d7
2017-07-17 19:44:25 -07:00
Emilio Cobos Álvarez
b49ad75e0f servo: Merge #17731 - style: Respect calc for percentages (from emilio:percentage-calc); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 2d37700cf819d901552cfb3954e948f1fbadcf78

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 375b4076885e4a0de0333329409bf6662d2d394b
2017-07-17 01:29:11 -07:00
Martin Robinson
50a0e977e5 servo: Merge #17712 - Fix the size and position of overflow:scroll clip (from mrobinson:overflow-scroll-clip); r=emilio
The clip for overflow:scroll clip was not including the space for
padding, which could lead to some content being clipped when it
shouldn't. This changes fixes that issue.

A test is skipped because this fix also stops hiding a failure due to
mispositioned text.

Fixes #16576.

<!-- 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 #16576 (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: 14d5e4cc5527aa4adf328e56e5b8f39f906aec59

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 93228642ba46a20c0aff1473799072ea870590c2
2017-07-13 11:52:06 -07:00
Fernando Jiménez Moreno
34423fbf4a servo: Merge #17711 - Implement serialization of linear-gradient the same ways as in Gecko (from ferjm:bug1367274.linear.gradient); r=xidorn
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

From https://bugzilla.mozilla.org/show_bug.cgi?id=1367274

Source-Repo: https://github.com/servo/servo
Source-Revision: 347cbb0635c0f1fea581ed3c3d686bdacc3bc334

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2b03e79ac61cbc6efaf7afc63ccb99b06afea04c
2017-07-13 05:17:06 -07:00
Martin Robinson
d42609fdf5 servo: Merge #17694 - Upgrade to the latest version of WebRender (from glennw:webrender-update); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 173181a491f18a292ea80acbc25dd561e6e678d8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e76e3e725e124e01505676aedcf0d8f6e7d67971
2017-07-12 21:52:27 -07:00
Alan Jeffrey
f26be9e89a servo: Merge #17364 - Implement paint worklet properties (from asajeffrey:script-paint-worklets-properties); r=jdm
<!-- Please describe your changes on the following line: -->

This is the final PR to get basic paint worklet support. It adds support for paint worklet properties (https://drafts.css-houdini.org/css-paint-api/#paint-definition-input-properties). When a paint worklet is registered, it specifies a list of CSS properties, and is provided with their computed values when it is invoked.

This is a dependent PR:
* "Implemented paint worklets invoking worklet scripts" is #17239.
* "Implemented paint worklets rendering contexts" is #17326.

There should be tests added for this, hopefully the existing wpt houdini tests.

---
<!-- 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 #16839
- [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: bc44246fc682d9f2362eaca6bba07b45c293eb42

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2d52084aebd9989aa6d2f6e6c2edab7a99d90017
2017-07-11 16:24:18 -07:00
Nazım Can Altınova
9ab64ed79c servo: Merge #17434 - stylo: Implement -moz-prefixed gradients (from canaltinova:moz-linear-gradient); r=Manishearth,nox
---
<!-- 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 [Bug 1366544](https://bugzilla.mozilla.org/show_bug.cgi?id=1366544)

Source-Repo: https://github.com/servo/servo
Source-Revision: 90cf19151a02f8ee72354e1d15640047478474cd

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7b5190f5828c1a11825e1ada01184ca02ae4ca5d
2017-06-30 18:00:50 -07:00
Alan Jeffrey
4bf7ad4672 servo: Merge #17326 - Implement paint worklets rendering context (from asajeffrey:script-paint-worklets-rendering-context); r=jdm
<!-- Please describe your changes on the following line: -->

Implement the rendering context for paint worklets. They really paint things now!

---
<!-- 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 the existing reftest now passes

<!-- 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: a9fea0653a25d5f26f1115203015c5cf699f5227

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 36948d5f5ea3b4a930ccfd326a18f8765d3aefa9
2017-06-30 15:40:26 -07:00
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