I accidentally removed this code in #10936.
Fixes transitions.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: c1252a40d9925aea69346b1b2e35151f7fa397a4
This builds on top of #10815, so it's really just the last commit the one that should be reviewed.
I tried to apply the new infrastructure to servo, but failed (for now?).
The problem with it is that it'd require `ThreadSafeLayoutElement` to implement `selectors::Element`, which is a lot of work and might be racy (not totally sure about it though). Thus, I prefered to keep selectors eager until knowing that it's safe to do it.
r? @mbrubeck for style changes, @bholley for the geckolib changes (minimal for now, glue + a list of lazy PEs must be added)
Source-Repo: https://github.com/servo/servo
Source-Revision: 29823cb378ad0b05a82cfdd133c401a678a19007
Use `mem::replace` to perform the lifetime-trick without allocating a whole new buffer.
(An older of this switched from the built-in heapsort to a non-allocating introsort. Unfortunately, introsort is not a stable sorting algorithm, and the display list system relies on it being stable.)
Source-Repo: https://github.com/servo/servo
Source-Revision: 2e849b7064bdb30beedc4af13033b3f6a407f4b1
This gets us to the point where we can start playing with actually integrating rust-media to process the data received by the network request, as currently it's just ignored.
Source-Repo: https://github.com/servo/servo
Source-Revision: f9d9cd3aaed3326e8935f710f800288a50156c71
Fixes#10904
Note that the related web-platform-tests failed both before and after this commit
Source-Repo: https://github.com/servo/servo
Source-Revision: 3128a71ac703bf7579f0fcac9d03655756e8b6c7
When I originally rewrote Servo's mach bootstrapping (using virtualenv
w/ requirements.txt in #7103), I didn't specify mach as a requirement
because a new version hadn't been published in a while. Now that 0.6
is out, I asked the mach maintainers to publish a new version on PyPI,
so now we can fetch it like the other Python dependencies.
Fixes https://github.com/servo/servo/issues/10728.
Source-Repo: https://github.com/servo/servo
Source-Revision: e39ed932cb8c67eac98d44d00ed5bf642c026846
Adds a temporary exception to allow multiple versions of lazy_static. PRs have already been filed on the packages that are still using the old version.
Source-Repo: https://github.com/servo/servo
Source-Revision: 361b2b900eeea821a9a79d8566f8cd31dfb1b1ea
This was easier to throw together than per-attribute/method support, and it gets rid of some nonstandard properties from our globals.
Fixes#7626.
r? @Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8255e74a61d62be94ef53caa9ebe6cd5082dcb4d
Fixes#10532.
Replaces #10553 since @Sendoushi had problems getting a proper rebase locally, so helping him out to get this merged.
(Credits to Sendoushi who did the actual changes; I'm just helping out to getting things into a mergeable state.)
Source-Repo: https://github.com/servo/servo
Source-Revision: e65009f317e64b480bd6f6ff4a09fde54507484f
This uses the xi-unicode crate by @raphlinus to detect line-break opportunities, replacing Servo's custom code that only detects ASCII whitespace. xi-unicode is licensed under the Apache-2.0 license.
See mbrubeck/servo#2 for some discussion on an earlier draft of this code. This PR implements the "search backward to find trailing whitespace" solution discussed there.
r? @pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: fc1e4c808541ca11e25831c7c6b5cfa924945fa5
Scheduling composition on scroll and so forth is unnecessary and can
cause us to miss frames if the code happens to start the composition
while the WebRender backend is still in the process of preparing the
frame. This is most easily seen when scrolling in full-screen mode in
release builds on Mac.
Closes#9879.
r? @glennw
cc @paulrouget
cc @tschneidereit
Source-Repo: https://github.com/servo/servo
Source-Revision: a868bb2a90a5fabf0af8125bae14120e3439d1ed
...or also when outputting a file.
Fixes servo#10836.
Source-Repo: https://github.com/servo/servo
Source-Revision: f6a5ecb4a992e35f1673673df4f680154f217d2d
Fixes#10864, and adds a check to `/etc/ci/check_no_unwrap.sh`.
r? @aneeshusa
Source-Repo: https://github.com/servo/servo
Source-Revision: f75fa5283e54aeca291fe865cd589e37b86cd8fe
Add a test to `/etc/ci` which runs a subset of `test-wpt` with `--random-pipeline-failure-probability=0.2`, and checks to make sure that there's no `CRASH` reports, so the constellation survived the experience, even if a lot of tests failed.
IRC conversation at http://logs.glob.uno/?c=mozilla%23servo&s=27+Apr+2016&e=27+Apr+2016#c416510Fixes#10568.
r? @aneeshusa
Source-Repo: https://github.com/servo/servo
Source-Revision: a7a8eba13e799b707495a851b786009aa9652fea
This is a work-in-progress that:
* Adds support for some pseudo-elements to skip the cascade entirely, in an analogous way to Gecko's anonymous box pseudo-elements.
* Takes rid of `StylistWrapper`, and uses `Arc::get_mut` instead.
* Uses the first bullet to precompute the `-servo-details-content` pseudo's style.
I'd like @bholley to take a look before following, do you think that the aproach is the correct?
Also, @SimonSapin could want to put some eyes on it.
Depends on https://github.com/servo/rust-selectors/pull/81
Source-Repo: https://github.com/servo/servo
Source-Revision: 407f991c8aba5dcf5312bb2c34a3dd4fe12e5471
Following up on #10813, here is a similar extraction of the shorthand stuff as well.
I've deliberately tried to keep things similarly structured as in the longhand files. I.e. if a given property is in e.g. longhand/box.mako.rs, the shorthand stuff that relates to the same property is in shorthand/box.mako.rs and so forth.
----
The file is now down from ~7000 LoC to ~1750. A big improvement in my eyes, but there's still room for improving more. However, that shouldn't be done until we've had a bit of discussion about it. What we've done so far has been more-or-less obvious (after resolving the underlying Python/Mako issues with how to get things to properly communicate when things got split into multiple files etc). The remaining stuff is basically a plethora of anything from enums to structs to impls to... you name it.
One way to try and sort this out is to continue abusing Mako %include:s for this. I'm not sure it's the right way, but it would be a reasonably _easy_ way to do it. Another way would be to use Rust modules/crates etc. for sorting it out. I feel like too much of a novice on the Rust side of stuff yet to have any sensible opinions on how to get that done, so here I'd very much like suggestions from other people in the project.
(This is more of an entry point for discussion, and we could very well move that to a separate issue if you like. I think the more important short-term point is to try and get this merged. 😊 Please let me know if you feel it is OK, and if not, feel free to suggest adjustments.)
Source-Repo: https://github.com/servo/servo
Source-Revision: 160a44c286a6120a9c7e73864992da9d3237e3c0
Part of #10334. Once #10824 lands, we can include the panic reason and backtrace in the error report.
Source-Repo: https://github.com/servo/servo
Source-Revision: 990dd72da7d69ffa98a5d1b266f48d14d24852aa