Commit Graph

223 Commits

Author SHA1 Message Date
Martin Robinson
c8b72f7452 servo: Merge #18704 - Switch to using WebRender hit testing (from mrobinson:wr-hit-testing); r=jdm,glennw,mbrubeck
This trades quite a bit of complicated code in Servo for few more
messages and a significant performance improvement. In particular,
WebRender can search the entire display list at once instead of
ping-ponging down the pipeline tree. This allows us to send mouse
events to the correct pipeline immediately.

<!-- 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: ca08271345f78fa881c174545f5b69a8ccb78143
2017-10-17 17:09:25 -05:00
Emilio Cobos Álvarez
9f898f11f2 servo: Merge #18904 - style: Stop threading the ElementData around the invalidator (from emilio:invalidator-less-dependencies); r=heycam,jdm,nox
style: Stop threading the ElementData around the invalidator.

Source-Repo: https://github.com/servo/servo
Source-Revision: c1e0889971582488ed7a4d3a3af21a49bf497abc
2017-10-17 05:18:29 -05:00
Simon Sapin
f416e45c42 servo: Merge #18875 - Remove the need for rust-mozjs to use unstable Rust features (from servo:stable-js); r=nox,jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e8a6f2862c2a6084e4f4e64ab466c89ae83cff59
2017-10-16 17:07:50 -05:00
Glenn Watson
775f1d28a7 servo: Merge #18890 - Update WR (details below): (from glennw:update-wr-clip-text-aa); r=jdm
* Add support for clip masks on text runs.
* Fix atomic ordering of items with multiple shadows.
* Update to bincode + ipc-channel with optimizations.
* Fix some plane splitting precision errors.
* Improve the anti-aliasing quality significantly.
* Add internal ClipChain support.
* Fix diacritic glyphs on Linux.

Source-Repo: https://github.com/servo/servo
Source-Revision: d3d2b0261a8aacd4f74e330f8c007a91f829a96e
2017-10-16 12:54:02 -05:00
Emilio Cobos Álvarez
cd1986fd76 servo: Merge #18876 - style: Do not expose LocalMatchingContext (from emilio:die-localmatchingcontext-die); r=SimonSapin
This type is a lot of complexity related to a very specific thing such as the
hover and active quirk.

Instead of that, move `nesting_level` to `MatchingContext`, and simplify all
this computing whether the quirk applies upfront, for each complex selector we
test.

This is less error-prone, and also allows simplifying more stuff in a bit.

Also, this makes the hover and active quirk work in Servo with no extra effort.

Source-Repo: https://github.com/servo/servo
Source-Revision: a200fb4b9df4e7461b4238fe3a6d49881f438e25
2017-10-15 02:21:47 -05:00
Simon Sapin
dbb22281df servo: Merge #18854 - Make optional the usage of some unstable features (from servo:servo-unstable-feature); r=nox
With `--no-default-features --features default-except-unstable`, more crates can now be compiled on stable Rust. This will help integrate them in rustc’s regression testing and compiler performance benchmarking.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78aaa85aec8184d0a2d70006c45034d7c2ec561a
2017-10-13 12:26:39 -05:00
Simon Sapin
ff18ff343e servo: Merge #18839 - Remove some usage of unstable features (from servo:stabler); r=nox
`Box::new(x)` seems to compile to exactly the same assembly as `box x` in release mode:
https://play.rust-lang.org/?gist=55ec5dd02c22fa799375d6e2e1a6e970&version=nightly

Source-Repo: https://github.com/servo/servo
Source-Revision: fc4de5adf5bff7fabe9f32b960c405f249b5d035
2017-10-12 05:18:00 -05:00
Jyotsna Prakash
0eb6b8a5d7 servo: Merge #18747 - Serializing childrenonly (from jdm:serializing-childrenonly); r=jdm
Rebased from #17896.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14975 (github issue number if applicable).
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: e3624e62a4b247d7af5e783fcd4205d2914b6aab
2017-10-09 11:12:53 -05:00
Emilio Cobos Álvarez
acb2f1155f servo: Merge #18696 - layout_thread: Avoid adding the UA sheets multiple times when there's no root flow (from emilio:ua-sheets-reflow); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3dc4614991bad12502bf4c5194f7fd2255872b60
2017-10-03 12:46:53 -05:00
Martin Robinson
4a3faee622 servo: Merge #18684 - Combine ReflowGoal and ReflowQueryType (from mrobinson:reflow-goal); r=emilio
This simplifies the logic in the layout_thread and makes it clearer
which types of reflows generate display lists and cause display updates.

<!-- 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 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: 65d9b345bb2a588f41b0d6cdca1aaca2c3c69205
2017-09-30 14:15:41 -05:00
Emilio Cobos Álvarez
2940384015 servo: Merge #18638 - style: Lazily tweak the traversal root to account for sibling invalidations (from emilio:invalidation-lazy); r=heycam
Bug: 1403078
Reviewed-by: heycam
MozReview-Commit-ID: Ij3nMOKu5FO
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

Source-Repo: https://github.com/servo/servo
Source-Revision: 3dbb97922d75f7ba4c542cb67e9c30c28c7a0699
2017-09-26 06:58:04 -05:00
Anthony Ramine
c5dbf61d7f servo: Merge #18635 - Rename JS<T> to Dom<T>, Root<T> to DomRoot<T>, and other things (from servo:RENAME-ALL-THE-THINGS); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 1282e0d8080ae15307ac8d35941754f9d60f0d76
2017-09-26 03:20:05 -05:00
Emilio Cobos Álvarez
ef053f704c servo: Merge #18620 - style: Remove UnsafeNode (from emilio:bye-unsafe-node); r=glennw
No longer needed since a while ago.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4628db14951667b7ffddb47bdcc0c5ed886cb3b1
2017-09-24 20:04:58 -05:00
Alan Jeffrey
e7ca017bd0 servo: Merge #18514 - Remove sources of panic when laying out an iframe without a nested browsing context (from asajeffrey:layout-dont-panic-if-no-iframe-bc); r=emilio
<!-- Please describe your changes on the following line: -->

At the moment, layout panics if it discovers an iframe without a nested browsing context. Under normal circumstances, this is reasonable, but it requires very tight synchronization between script, layout, the constellation and the compositor. In particular, if a layout is in progress when an iframe's browsing context is discarded, this can trigger panic.

This PR fixes this in two ways:

1. Making the pipeline and browsing context ids optional in layout's representation of an iframe.
2. Shutting down layout before discarding a browsing context, rather than after.

This is belt and braces.

---
<!-- 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 #17482 and #18477
- [X] These changes do not require tests because the PR is fixing a panic caused by a race condition

<!-- 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: c48ef50b7260df7f2e781e15bba37b08f0970062
2017-09-22 09:34:12 -05:00
Bobby Holley
9fdac01539 servo: Merge #18595 - Implement an nth-index cache (from bholley:nth_index_cache); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1334730

Source-Repo: https://github.com/servo/servo
Source-Revision: be9c8ec07a0ca745adf1b412d32b3b32adec122c
2017-09-21 18:10:05 -05:00
Bobby Holley
495b9e636c servo: Merge #18566 - Thread state fixes (from bholley:thread_state_fixes); r=Manishearth
https://bugzilla.mozilla.org/show_bug.cgi?id=1400435

Source-Repo: https://github.com/servo/servo
Source-Revision: c6381c66a0bc2b7cad14a808b000d0e38860c7f6
2017-09-19 15:05:54 -05:00
Emilio Cobos Álvarez
fa46fd409e servo: Merge #18531 - Reland #18519 (from emilio:body-quirk); r=heycam
This relands #18519 as-is.

It was backed-out because some Gecko changes hadn't landed yet, but I just pushed them in a way they wouldn't break the build.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3d2dccf1f3e7bf99cb750ee9fd245c24255ad9e2
2017-09-15 20:21:25 -05:00
Wes Kocher
42e3d8950c Backed out changeset 67769dac78c4 for busting builds CLOSED TREE
MozReview-Commit-ID: 82QTBjYc0jC
2017-09-15 13:38:03 -07:00
Emilio Cobos Álvarez
2b05fbdbad servo: Merge #18519 - style: Implement the body text color quirk in a more straight-forward way (from emilio:body-quirk); r=heycam
This avoids grabbing the body when values that inherit from the body,
whatever that means, aren't under the body.

In that case we'll get a semi-random value, but that's also mishandled by Gecko
anyways (and probably Blink, though haven't tested), and doesn't really make
much sense.

Source-Repo: https://github.com/servo/servo
Source-Revision: 89d5780570894a54774542e79585b79ece3f2dce
2017-09-15 12:43:55 -07:00
Emilio Cobos Álvarez
2052160110 servo: Merge #18502 - style: Unify how servo and Gecko handle UA sheets (from emilio:ua-sheets-unify); r=simonsapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 75e126f139197c447686242082d9e7f61ba92c3f
2017-09-14 15:55:21 -05:00
Emilio Cobos Álvarez
32fbdbefbc servo: Merge #18486 - style: Move ExtraStyleData into CascadeData (from emilio:extra-data-to-cascade-data); r=SimonSapin
It logically belongs there, and the only reason it wasn't there before we were
working around other stuff. Now it's needed to share UA stylesheets across documents.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ab705b0265cac358c3bebb3fec8cbac089f015d
2017-09-13 17:44:21 -05:00
Bobby Holley
6a7fe3a3f6 servo: Merge #18465 - Eliminate RestyleData (from bholley:kill_restyledata); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1399011

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f0fda836ff97d33169cd1fc0d23d2d07ad74c6
2017-09-12 13:16:26 -05:00
Emilio Cobos Álvarez
7d0d7a9aa2 servo: Merge #18268 - style: Recascade the document instead of using the dirty_on_viewport_size_change bit (from emilio:dirty-viewport-followup); r=SimonSapin
This allows us to simplify a lot of code.

On top of #18267.

Source-Repo: https://github.com/servo/servo
Source-Revision: 473934c989c94773c38f585b1c4500cd8c811738
2017-08-29 14:18:58 -05:00
Emilio Cobos Álvarez
8e5c3d75d2 servo: Merge #18267 - style: Don't look for viewport units in stylesheets (from emilio:dirty-on-viewport-size-change); r=SimonSapin
Use whether we've computed any viewport unit instead.

This is more accurate (we avoid restyling unnecessarily if we've found anything
ever on the stylesheet, but that hasn't matched).

This has the benefit of also matching Gecko, and simplify some code and
fishyness around, and also hopefully speeding up stylesheet parsing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96b4e064a1f0b0fc1ee2811d0c1b528f85a718c6
2017-08-28 08:48:47 -05:00
Bobby Holley
9102d239fe servo: Merge #18238 - Replace the sequential/parallel distinction with a unified adaptive traversal (from bholley:adaptive_driver); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1393632

Source-Repo: https://github.com/servo/servo
Source-Revision: 72c59ff830b256ca5bd6df7736a9d9acfc9d3e52
2017-08-25 12:23:41 -05:00
Emilio Cobos Álvarez
ed45d1f32a servo: Merge #18235 - style: Remove SharedStyleContext::quirks_mode (from emilio:shared-context-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 4fca1703cfddc5e52309d3425ae5c2e529606536
2017-08-25 07:59:24 -05:00
Clément DAVID
a6c6efb7e6 servo: Merge #18179 - Automatically verify that derive() lists are alphabetically ordered #… (from davidcl:master); r=jdm
<!-- Please describe your changes on the following line: -->
Automatically verify that derive() lists are alphabetically ordered #18172

---
<!-- 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 #18172 (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: 474369618965569407d127b1e8c481e757cc59d3
2017-08-23 17:18:31 -05:00
Emilio Cobos Álvarez
6a55053fa7 servo: Merge #18170 - style: Move the StyleSheetSet into the Stylist (from emilio:stylist-stylesheet-set); r=SimonSapin
This will allow tracking whether there have been only additions to the
stylesheet set, and in that case don't destroy and completely rebuild the
invalidation map.

This is on top of #18143.

Source-Repo: https://github.com/servo/servo
Source-Revision: 019b125963d4db9b18991d3ab06042e475c83f9f
2017-08-22 11:45:42 -05:00
Fernando Jiménez Moreno
4a91ca54d3 servo: Merge #17876 - Wait for actual paint before setting paint related metrics (from ferjm:pwm.webrender); r=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: 43d1f45b73baa6b70e647f32f1637e05604bcc57
2017-08-22 10:06:30 -05:00
Emilio Cobos Álvarez
9e7f18a1b2 servo: Merge #18143 - style: Remove Stylist::is_device_dirty (from emilio:stylist-stylesheets); r=<try>
More progress on unifying how Gecko and Servo track stylist dirtiness.

Source-Repo: https://github.com/servo/servo
Source-Revision: e60266a72302a0ed332f1dd18d335b6092c47da4
2017-08-21 10:59:10 -05:00
Emilio Cobos Álvarez
99be60945a servo: Merge #18153 - stylo: Remove a lot of the restyle damage related complexity (from emilio:restyle-damage-cleanup); r=heycam
The only reason why we had the `existing_style_for_style_damage` bit is to apply
some optimizations that we don't have anymore.

I still want to reintroduce a few of them, at least for the non-eager
pseudo-element case... But I think I won't need this at all.

This allows us to remove a fair amount of Gecko code too.

<!-- 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: -->
- [ ] `./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 _____

<!-- 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: 87206bd68ee6e870c10dc09d5a7b1f893805c379
2017-08-20 07:00:25 -05:00
Nikhil Shagrithaya
6b2f7ee0ca servo: Merge #18056 - End TreeBuilder's reliance on DOM (from cynicaldevil:remove-treesink-dep-on-dom); r=nox
<!-- 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: -->

Fixed h5e's TreeBuilder so that it does not use `same_tree` and `has_parent_node` methods: d8c2ea5cb6
<!-- 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: 62d0de349debf54c32e865e813eac43fb83df7be
2017-08-18 16:27:05 -05:00
Emilio Cobos Álvarez
1a34bdd5ed servo: Merge #18124 - style: Replicate the list of stylesheets on the layout thread (from emilio:stylist-stylesheets); r=SimonSapin
This is a patch that unifies a bit how Gecko and Stylo stylesheets work, in
order to be able to eventually move the stylesheets into the stylist, and be
able to incrementally update the invalidation map.

This is on top of #18113

Source-Repo: https://github.com/servo/servo
Source-Revision: 81a382cb00134450f3723caf682bb5ca8cca317f
2017-08-18 08:33:35 -05:00
Nazım Can Altınova
15f26a6769 servo: Merge #18115 - stylo: Add a pref checking mechanism for alias properties (from canaltinova:alias-pref); r=Manishearth,xidorn
This pr reviewed by Manishearth and xidorn in bugzilla.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1344314](https://bugzilla.mozilla.org/show_bug.cgi?id=1344314)

Source-Repo: https://github.com/servo/servo
Source-Revision: dca1150ea1ff85d3bf0af70437a24cc32a9b6d94
2017-08-16 15:45:49 -05:00
Cameron McCormack
3d99c448d8 servo: Merge #18060 - style: Don't rebuild cascade origins that haven't changed (from heycam:single-origin); r=emilio
From https://bugzilla.mozilla.org/show_bug.cgi?id=1382925.

Source-Repo: https://github.com/servo/servo
Source-Revision: b1d7b6bfcfa706156940b59f61c9afcfc49da63e
2017-08-13 06:39:40 -05:00
Bobby Holley
5fdff3535c servo: Merge #18053 - Overhaul dirty descendants propagation in preparation for restyle roots (from bholley:descendants_bit_refactor); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1389385

Source-Repo: https://github.com/servo/servo
Source-Revision: faad7ffb457100d35164b132c012e221cbc62bf5
2017-08-11 19:01:15 -05:00
Cameron McCormack
0c10f12be2 servo: Merge #18037 - style: Split collected @font-face / @counter-style rules per origin (from heycam:split-cascade-font-counter); r=emilio
<!-- Please describe your changes on the following line: -->

More refactoring in preparation for rebuilding sheets only from the origin that changed.

---
<!-- 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
- [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: 56f5fc41fae732ba28f63acec6755559da31d47f
2017-08-11 00:40:18 -05:00
Brad Werth
b04db41397 servo: Merge #18024 - Rework MediaType to be an atom-based struct instead of an enum (from bradwerth:mediatypeAtom); r=emilio
MozReview-Commit-ID: 1Tfrs9PBkhA

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1371395
https://reviewboard.mozilla.org/r/163194/

---
<!-- 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: faf5b1f797c243c5036973a191d3abae36de4138
2017-08-09 18:24:48 -05:00
Glenn Watson
36b6d5b2f0 servo: Merge #18002 - Update WR (text optimizations, Linux subpixel positioning / rasterization) (from glennw:update-wr-linux-subpx); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 31582a487437f599005bb96bf94a1942b8e46d24
2017-08-08 16:05:54 -05:00
Matt Brubeck
afc138f440 servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton
Various refactorings of the code for traversing flow trees, including:

* Add a generic inorder traversal method
* Remove unused `traverse_postorder_absolute_flows` method
* Combine `compute_absolute_position` and `build_display_list` into a single traversal
* Move all generic traversal code into the `layout::traversal` module

And some changes to add documentation and more-accurate names:

* Fix spelling of `bottom_up_flow`
* Rename `compute_absolute_position` to `compute_stacking_relative_position`
* Change the mis-named `traverse_flow_tree_preorder` to `reflow`

---
- [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 they are refactoring only

Source-Repo: https://github.com/servo/servo
Source-Revision: ed3c2b95573c355c11c99eb43320d604fc95a5e9
2017-08-08 14:04:23 -05:00
Alan Jeffrey
126613911f 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
2017-07-31 13:13:26 -05:00
Dzmitry Malyshau
383313b6ed servo: Merge #17908 - WR multi-document update - try 2 (from kvark:wr); r=emilio
<!-- Please describe your changes on the following line: -->
Combines #17892 with the patch to detach style_traits from webrender_api

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix  #17907

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

<!-- 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: e5527362f761ad082ca37a033bf5c3f8f196bcfb
2017-07-29 07:38:23 -05:00
Wes Kocher
4ec19a5a45 Backed out changeset c424ad1c5f94 for build failures a=backout CLOSED TREE
MozReview-Commit-ID: 2wv9vOLQSHp
2017-07-28 16:20:27 -07:00
Dzmitry Malyshau
51b7ea167f servo: Merge #17892 - WR multi-document update (from kvark:wr); r=glennw
<!-- Please describe your changes on the following line: -->
The PR updates WR version to support multiple documents (https://github.com/servo/webrender/pull/1509) but doesn't take advantage of this new feature yet.
It also makes Servo to use `DevicePixel` from WR instead of rolling out another one.

---
<!-- 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
- [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 _____ no extra logic

<!-- 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: 12a49dc0be8a8acd12440dd7191b349ca17de7c8
2017-07-28 13:26:52 -05:00
Bobby Holley
c50c3dfc02 servo: Merge #17895 - Clean up traversal modes (from bholley:clean_up_traversal); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1384769

Source-Repo: https://github.com/servo/servo
Source-Revision: 255c9d00da8d6837a5625ad19d9b1cd623286c3b
2017-07-27 18:29:29 -05:00
Simon Sapin
c8457ef407 servo: Merge #17884 - Upgrade to rustc 1.21.0-nightly (599be0d18 2017-07-26) (from servo:rustup); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 9370a0c4b500a1ad9dc29c0ad8a37d47f00d0817
2017-07-27 03:13:34 -05:00
Emilio Cobos Álvarez
5ce9e9139b servo: Merge #17828 - stylo: Visited link fixes (from emilio:visited-now); r=Manishearth
Straight from https://bugzilla.mozilla.org/show_bug.cgi?id=1383307

Source-Repo: https://github.com/servo/servo
Source-Revision: 2241d5879e5d66c52d2b4f17ad730c5de1eff364
2017-07-23 13:46:43 -07:00
Alan Jeffrey
c296f05349 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
2017-07-20 17:09:06 -07:00
Fernando Jiménez Moreno
ef95c91639 servo: Merge #17256 - Implement basic Time To First Paint and First Contentful Paint PWMs (from ferjm:ttfp); r=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: eba573d774dd2ac07ec8d62f1ad8deffca4667a4
2017-07-20 11:34:35 -07:00
Michael Partheil
728ab1f36c servo: Merge #17775 - Replace all uses of the style::stylearc alias with servo_arc (from michael-p:rename-stylearc-to-servo-arc); r=emilio
The `stylearc` alias is left there temporarilly and will be removed completely in a later commit/PR where also `components/style/gecko/generated/structs_{debug|release}.rs` are re-generated (they still use the old alias).

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because no new features / only refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 31228c18499d1c7f68b6b64b559354c768e81215
2017-07-19 06:03:17 -07:00