Commit Graph

77 Commits

Author SHA1 Message Date
Martin Robinson
280e467bc5 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
2017-08-04 11:17:24 -05:00
Glenn Watson
de29a67d93 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
2017-07-25 19:16:34 -07:00
Alexis Beingessner
e2d07a9333 servo: Merge #17406 - use DisplayListBuilder::with_capacity (from Gankro:with_cap); r=jdm
DO NOT MERGE until https://github.com/servo/webrender/pull/1399 has landed in Servo.

Previously webrender was reserving 1MB of space for each display list (empirically pages weighed between 100k and 10MB when I implemented this). This was problematic for gecko because they used webrender differently. This just brings Servo back to where it was.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3629efba7508bf115ad0127d2567af7090a9f8ca
2017-07-24 09:02:50 -07:00
Glenn Watson
017e4ac15a 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
2017-07-23 20:04:38 -07:00
Glenn Watson
ee17674a7a 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
2017-07-18 07:08:25 -07:00
Martin Robinson
7b0a6b5e35 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
2017-07-12 21:52:27 -07:00
Anthony Ramine
4ad9d8e802 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
2017-06-27 15:34:15 -07:00
Glenn Watson
8866479746 servo: Merge #17441 - Update WR (z-buffer fix, border-image fill support) (from glennw:update-wr-fill-z); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 7543acc257d91c2dbbf2d430e071dc71a3a0573c
2017-06-21 05:41:08 -07:00
Anthony Ramine
a023bb5bfd 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
2017-06-20 06:23:17 -07:00
Nicolas Silva
6e99a9e0a6 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
2017-06-14 07:25:05 -07:00
Dzmitry Malyshau
f4931d31c1 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
2017-05-17 20:38:14 -05:00
Glenn Watson
829c439097 servo: Merge #16860 - Update WR (preserve-3d, AA improvements) (from glennw:preserve3d); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 180edaab604212d8c43c0523ef3eba68d55a2c6c
2017-05-15 21:49:35 -05:00
Pyfisch
5dd3530ee7 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
2017-05-07 07:56:51 -05:00
Martin Robinson
e20ce1bf6d 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
2017-05-05 02:21:12 -05:00
Alexis Beingessner
0d17db17ea servo: Merge #16652 - Update to webrender's new bincode IPC (from Gankro:bincode-ipc-5); r=jdm
**DO NO MERGE YET**

This is the required update to Servo for my changes to webrender in https://github.com/servo/webrender/pull/1181

Source-Repo: https://github.com/servo/servo
Source-Revision: 74c36cb35ddac3bf7db9215d85b9d4d7a660197b
2017-05-03 12:44:37 -05:00
Pyfisch
e61e18598d 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
2017-04-29 09:40:32 -05:00
Glenn Watson
d6fafb8542 servo: Merge #16612 - Update WR (groove/ridge borders, mix-blend-mode opts) (from glennw:update-wr-groove-ridge-2); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c1b347794cc9812bf608fdc267c4c0e4ef5ef968
2017-04-26 07:56:32 -05:00
Glenn Watson
f8c447b931 servo: Merge #16551 - Update WR (improved double border quality, minor API changes) (from glennw:update-wr-mostly-borders); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f6c883658930006994b2738f059d050c037ffb9
2017-04-23 17:50:08 -05:00
Martin Robinson
4a0574ac14 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
2017-04-20 01:55:33 -05:00
Martin Robinson
7c2c7cb792 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
2017-04-17 16:08:00 -05:00
Glenn Watson
da5c5d73cf servo: Merge #16398 - Update WR (new border code path) (from glennw:update-wr-elliptical-borders-aa); r=mrobinson
This includes the new border code path for simple (solid) borders.
This gives much higher quality border rendering, including proper
support for elliptical border segments.

The quality on https://github.com/servo/servo is noticeably improved.

Source-Repo: https://github.com/servo/servo
Source-Revision: ff568c0d1ae5cb3a96604e3740bfea383a774d70
2017-04-14 00:42:49 -05:00
Glenn Watson
1af8103a3e 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
2017-04-12 12:03:10 -05:00
Martin Robinson
3f14a8fde3 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
2017-04-06 14:32:16 -05:00
Glenn Watson
2751ad9aca 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
2017-04-04 20:35:19 -05:00
Glenn Watson
c1c70cfcfb servo: Merge #16252 - Update WR (gradient features) (from glennw:update-wr-gra); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 41e712786e6d618e83a0988d43436d6e5e5bb36e
2017-04-04 14:41:41 -05:00
Glenn Watson
2cba3e086a servo: Merge #16200 - Update WR (various optimizations, gradient improvements) (from glennw:update-wr-clear-opts); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e45d7e0e2e5d47945d3d821db5767feff64d7634
2017-04-02 17:05:01 -05:00
Emilio Cobos Álvarez
34ec538705 servo: Merge #16144 - style: Make numbers keep track of whether they were specified as calc() (from emilio:number-calc); r=heycam
Fixes #15960

Source-Repo: https://github.com/servo/servo
Source-Revision: b6bc49225e31b7c1e3f9cc3be660bb37afe33a95
2017-03-27 06:13:39 -07:00
Glenn Watson
17e77a7153 servo: Merge #16113 - Update WR (opaque rect optimization, stacking context culling) (from glennw:update-wr-opaque-opt); r=mrobinson
Source-Repo: https://github.com/servo/servo
Source-Revision: 3b79bc25825ea416298b1917e0bd409b7044f837
2017-03-26 14:04:07 -07:00
Morris Tseng
6aa2827399 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
2017-03-26 02:29:16 -07:00
Glenn Watson
55e9f01078 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
2017-03-23 03:43:49 -07:00
Glenn Watson
7114140c87 servo: Merge #15879 - Update WR (scroll root changes, border gradients, yuv updates) (from glennw:update-wr-scroll); r=mrobinson
Source-Repo: https://github.com/servo/servo
Source-Revision: 802440dbf05cf9f3679214107d388995e574d2c9
2017-03-08 23:43:10 -08:00
Glenn Watson
66e05ef14d servo: Merge #15862 - Update WR (types updates, stacking context culling) (from glennw:update-wr-types); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 28f871247c6461ccc8c254caba0d674ac4ddc545
2017-03-08 16:33:34 -08:00
Glenn Watson
17177120e8 servo: Merge #15804 - Update WR (reference frames for fixed position elements) (from glennw:update-wr-transforms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f6b5c3b521686f79a18da64364eed5a03262605
2017-03-02 17:02:26 -08:00
Glenn Watson
9112c3dd7f 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
2017-02-23 13:40:40 -08:00
Glenn Watson
4e82444c38 servo: Merge #15681 - Update WR (inset box shadow fix, border-image support) (from glennw:update-wr-box-shadows); r=Wafflespeanut
I have a follow up PR for Servo that uses the new border-image
APIs, but I'll land that separately, so that we don't delay
landing the WR update itself.

Source-Repo: https://github.com/servo/servo
Source-Revision: 800a1fde3fbda5e20c23a530085688909e9b8417
2017-02-22 10:32:52 -08:00
Glenn Watson
8fde95c30f servo: Merge #15532 - Update WR (pixel snapping improvements) (from servo:webrender); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: d44bf6182f9fba80a95fd44097edbca714ec406e
2017-02-13 14:46:46 -08:00
Glenn Watson
98ede13627 servo: Merge #15419 - Update WR (from glennw:update-wr-lots-of-stuff); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bf814aa5badfde78b5b530d17fd821a321c40b1a
2017-02-06 23:19:54 -08:00
Glenn Watson
fd1982dd56 servo: Merge #15111 - Update WR (radial gradients, generate_frame API, mac subpixel improvements, ANGLE shader support) (from glennw:wr-update-generate); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 8421ae60774922e6b9ab9b1b562efce22916b200
2017-01-31 11:49:18 -08:00
Ms2ger
dd6467e278 servo: Merge #14938 - Various cleanup around gfx_traits (from servo:gfx-traits); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f674a9db8b7164dae667875c5cf19b3aabb18ef2
2017-01-10 07:02:23 -08:00
Glenn Watson
2a98ab4e3b servo: Merge #14412 - Update WR + gleam (nested clip stack, scroll locations) (from glennw:update-wr-clip-2); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: bffac0f55ea5dd9a19eaf7b5acc85d08f43055d3
2016-12-14 18:46:25 -08:00
Martin Robinson
5db5ad12bb servo: Merge #14386 - Use new DisplayListBuilder improvements in Servo (from mrobinson:display-list-builder-updates); r=glennw
<!-- 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.

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

In particular, we no longer to have a WebRenderFrameBuilder. All of the
complication is now handled by the DisplayListBuilder itself.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c6963144d0496d8dcbb7a7ca6782d01d3305441
2016-11-29 02:36:05 -08:00
Glenn Watson
2d65b999ff servo: Merge #14286 - Update to webrender 0.10.0 (from gterzian:update_canvas_with_offscreen_context); r=jdm
<!-- Please describe your changes on the following line: -->

Changes necessary to build servor with webrender 0.10.0

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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: e1eff691f8a1d8c9c7ab33344364f0419626b80e
2016-11-24 12:29:52 -08:00
Martin Robinson
a4ac6a5c09 servo: Merge #14200 - Deal with changes to the WebRender API (from mrobinson:display-list); r=<try>
<!-- 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.

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

The WebRender display list is now similar to the Servo display list,
which simplifies the conversion.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3fdce3942915e2ef461280d4908641580473ad94
2016-11-16 04:47:34 -06:00
Martin Robinson
e0f12feb6a servo: Merge #14084 - Don't promote all scrollable regions to stacking contexts (from mrobinson:scroll_root_2); r=glennw
<!-- Please describe your changes on the following line: -->

Don't promote all scrollable regions to stacking contexts

Instead annotate all flows with their owning ScrollRoots. When
processing the display list items into a flattened display list, we add
PushScrollRoot and PopScrollRoot to signal when scrolling regions start
and end. It is possible for content from different scrolling regions to
intersect and when they do, the stack of scrolling regions is
duplicated.  When these duplicated scrolling regions stacks reach
WebRender, it will scroll them in tandem.

The PushScrollRoot and PopScrollRoot items are currently represented as
StackingContexts in WebRender, but eventually these will be replaced
with special WebRender display items.

---
<!-- 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 #13529 and #13298. (github issue number if applicable).

<!-- Either: -->
- [x] 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: ef5ca14283f1f47654093b5c196ab813efb53ea8
2016-11-07 18:49:53 -06:00
Ms2ger
d378dc4046 servo: Merge #14060 - Remove the direct azure dependencies from gfx, layout and layout_thread (from servo:gfx-azure); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f7875dad1a43792ff3869f292990d03d30ebd9eb
2016-11-05 07:26:30 -05:00
Glenn Watson
51f389f617 servo: Merge #14057 - Update WR, add some key mappings, bind Ctrl-F12 to WR profiler (from glennw:update-wr-keys); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 651e40f33eff08f836b76024b77bddc77089490c
2016-11-04 03:11:32 -05:00
Martin Robinson
7ebd503192 servo: Merge #13957 - Track overflow:scroll stacking contexts with ScrollRootId instead of StackingContextId (from mrobinson:scroll_root); r=glennw
<!-- 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 PR should not change behavior.

<!-- 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: 3a3f3192a87dbcd5d05efb82a1f4dde23f9c4cf7
2016-10-30 15:27:56 -05:00
Ravi Shankar
22004f91b8 servo: Merge #13902 - Prefer auto-generation for some keyword props (from Wafflespeanut:keyword); 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-geckolib` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor

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

r? @Manishearth or @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 3c16dde1f268ffab3e2b220fda7e5be299d005b4
2016-10-26 02:27:13 -05:00
Glenn Watson
96cfaad8ad servo: Merge #13927 - Update WR - texture layers, image mask, profiler, optimizations (from glennw:update-wr-texture-layers); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 2b236c20cd4451338aff1121f3cb4c03657d87b1
2016-10-26 01:25:57 -05:00
Martin Robinson
34924f6afa servo: Merge #13873 - Remove stacking context nesting from WebRender display construction (from mrobinson:remove-nesting); r=glennw
<!-- 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 produce any behavior 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: d5e412b3f19fa72687cf3ad246dfb8312b1f2368
2016-10-23 21:48:28 -05:00