<!-- 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 _____
<!-- 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: 6bb5d0e8468797e057ce0f38f09338042823dd88
<!-- Please describe your changes on the following line: -->
Added a `license = "MPL-2.0"` field to all our `Cargo.toml` files, and added a check to `test-tidy` that the license is present.
---
<!-- 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#12434
- [X] There are tests for these changes
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 650d1d1185eecdc4c8b605bb0290ece7de839015
Doesn't yet work, because I can't grow nsTArrays from Rust. If anyone knows how to add bindings for that, let me know!
Thoughts on the design so far? Once this PR lands, all of the array-accepting background- properties can just use gecko_autoarray_longhand and some iterators in the geckolib implementation without changing much other code to work with arrays.
cc @emilio @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: ed985f75ecbb4f0df6231c58b2bfae1e82b255b6
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because geckolib-only changes.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
r? @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a5a0a417bb55971fe70e7066c8d8c9a0ab36b3b
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix (partially) #12354
- [X] These changes do not require tests because no automated performance tests
Source-Repo: https://github.com/servo/servo
Source-Revision: 6e8eec21bf4ea5eaebd5a72ce24c6171c6032794
<!-- 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#12412 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because simple removal of assert, no logic added or changed.
<!-- 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: 39a0940d2e2b777a4ca33ea53b193125d273793a
<!-- Please describe your changes on the following line: -->
This patch adds code to Atom binding generating script to make it able to generate binding compatible with MSVC.
r? @bholley
---
<!-- 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 it is a geckolib-only change
<!-- 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: 82a1d09926269a65e4992e1498870c30e3276730
This makes it much easier to run rustfix on servo
(rustfix is still pretty buggy though)
Source-Repo: https://github.com/servo/servo
Source-Revision: 74925460952ac070ff5e365b6fe6b886fd81861b
These changes address two sources of performance loss seen while profiling in #12354. #12358 and https://github.com/rust-lang/rust/issues/34727 are still the biggest offenders, however.
---
- [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 don't have performance tests and these are only optimizations
Source-Repo: https://github.com/servo/servo
Source-Revision: 01ec8491d3200d6710336da1bb0f4e01b49dc4bc
<!-- 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#11815 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because CI already runs `./mach build-geckolib`
<!-- 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: e50e4f99bf4668d183226251d8ea55fa36f72fe0
It contains several fixes to make `./mach build-geckolib` work on Windows.
Source-Repo: https://github.com/servo/servo
Source-Revision: 35a23bfef394fe451879f09979167b048a7bdc88
Mostly just want to get the blacklist fix in-tree.
r? emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: bc45f85a60cc1f0e7a3419e84f809fcfa16d3baf
Update browserhtml version to 0.1.15
---
<!-- 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 it just updates dependency
<!-- 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: 0eed0e0b1e5ab2fc69ce64d5a0dd8c21d770092b
<!-- Please describe your changes on the following line: -->
This brings these two scripts in line with the style guidelines.
---
<!-- 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 it's a small change to bring some shell scripts in line with the style guide
<!-- 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: 1f5c26a320af170a44f43dee4dcb076a6c5593e2
Using the ReceivedCharacter event from glutin, we can obtain the actual key characters that the user is pressing and releasing. This gets passed to the script thread along with the physical key data, since KeyboardEvent needs both pieces of information, where they get merged into a single logical key that gets processed by clients like TextInput without any special changes.
Tested by switching my macbook keyboard to dvorak and looking at the output of keypress/keyup/keydown event listeners, as well as playing with tests/html/textarea.html. Non-content keybindings like reload work as expected, too - the remapped keybinding triggers the reload action.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#4144
- [X] These changes do not require tests because I can't think of a way to test remapped keyboard input
Fixes #11991.
Source-Repo: https://github.com/servo/servo
Source-Revision: 68fb9ebc413f9cfc1ad4ca578d904c164836db74
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because tooling
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
---
This not only makes us more consistent with the rest of the codebase but also:
* Makes us repeat less code like common flags and all that stuff.
* Reduces the noise of the build: You only get the output of the commands on
failure or when you pass the -v flag.
* Makes you able to select a single kind of build or multiple in the same
place.
I've basically kept the regen.sh script because of the LIBCLANG_PATH checks, but
at least from Linux I don't need them anymore. Also, that logic could be moved
to the new script.
The whole point of this isn't only making it prettier and easier to use, but
also allowing me to write more complex logic in the binding generator scripts,
that I will probably need to integrate the DOM enum types we need for animations
and such easily (can't be just an include, because that pulls in another header
with the same name bringing a lot of DOM and IDL churn).
For reference, here's a successful regen round with the script:
```
./regen.py --target all /home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/
[BINDGEN] structs::release in "/home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/"... OK
[RUSTC]... OK
[RUSTC_TEST]... OK
test result: ok. 168 passed; 0 failed; 0 ignored; 0 measured
[BINDGEN] structs::debug in "/home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/"... OK
[RUSTC]... OK
[RUSTC_TEST]... OK
test result: ok. 169 passed; 0 failed; 0 ignored; 0 measured
[BINDGEN] bindings::None in "/home/emilio/projects/moz/stylo/gecko/obj-x86_64-pc-linux-gnu/"... OK
```
---
r? @bholley
Maybe @jgraham and/or @Wafflespeanut want to take a look to criticize my (lack of) pythonism ;-)
Source-Repo: https://github.com/servo/servo
Source-Revision: e78459e6670b218970dfebb189a0c8ef7614951f
This marshaling is slow, because Gecko stores attributes as UTF-16 and does not atomize them in all cases, and it turns out that the need for them in Servo is pretty minimal. With some refactoring across servo and rust-selectors we can fix this.
Source-Repo: https://github.com/servo/servo
Source-Revision: abdf2f28a0bd25a76a31b4fd2410c7a87448ed54
<!-- Please describe your changes on the following line: -->
More for https://github.com/servo/servo/issues/11815
r? @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
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] 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: 3d557b6f25eb9dbd084cb53bbc9a9cf93bad825b
<!-- 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
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11130 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because these cannot be tested automated.
<!-- 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: d99ff8d8570dbf56b1812ef9451a6a8c3784c6c8
<!-- Please describe your changes on the following line: -->
Added mach subcommand (build-stable) to build servo and its dependencies using a stable version of rustc.
---
<!-- 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#11806 (github issue number if applicable).
<!-- Either: -->
- [X] These changes do not require tests because they're in the build process. I've manually tested both build and build-stable several times and in different orders and it seems to work. If the mach subcommands are tested automatically somewhere, I'll be happy to add a test, but I couldn't find it.
This is an example of output I get, which is what I'd expect:
```plain
[gpoesia@gabriel-notebook servo]$ ./mach build
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/2016-06-24/rustc-nightly-x86_64-unknown-linux-gnu/rustc/bin/rustc
Downloading Rust compiler...
Downloading Rust compiler: 100.0%
Extracting Rust compiler...
Rust compiler ready.
Downloading Host rust library for target x86_64-unknown-linux-gnu...
Downloading Host rust library for target x86_64-unknown-linux-gnu: 100.0%
Extracting Rust stdlib for target x86_64-unknown-linux-gnu...
Rust x86_64-unknown-linux-gnu libs ready.
Build completed in 0:00:01
[gpoesia@gabriel-notebook servo]$ ./mach build
Build completed in 0:00:02
[gpoesia@gabriel-notebook servo]$ ./mach build-stable
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc
Rust compiler already downloaded. Use |bootstrap-rust --force| to download again.
Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again.
Compiling log v0.3.6
Compiling tenacious v0.2.1
Compiling traitobject v0.0.1
Compiling azure v0.4.6 (https://github.com/servo/rust-azure#4d72934a)
Compiling crossbeam v0.2.9
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1:1: 1:42 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1 #![feature(plugin_registrar, box_syntax)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3:1: 3:27 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3 #![feature(rustc_private)]
^~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 2 previous errors
Build failed, waiting for other jobs to finish...
error: Could not compile `tenacious`.
To learn more, run the command again with --verbose.
Build completed in 0:00:03
[gpoesia@gabriel-notebook servo]$ ./mach build-stable
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc
Rust compiler already downloaded. Use |bootstrap-rust --force| to download again.
Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again.
Compiling js v0.1.3 (https://github.com/servo/rust-mozjs#707bfb4f)
Compiling serde_item v0.2.0
Compiling encoding-index-tradchinese v1.20141219.5
Compiling angle v0.1.0 (https://github.com/servo/angle?branch=servo#d0a2db05)
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3:43: 3:74 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3 #![cfg_attr(not(feature = "with-syntex"), feature(rustc_private, plugin))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Build failed, waiting for other jobs to finish...
error: Could not compile `serde_item`.
To learn more, run the command again with --verbose.
Build completed in 0:00:37
[gpoesia@gabriel-notebook servo]$
```
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Github issue: #11806
Building with current stable rust (1.9.0) still fails because of
feature pragmas in some dependencies (e.g. serde_item).
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e1db061c039d6e7635310c0c728cfb959322249
--HG--
rename : servo/resources/shaders/debug_color.fs.glsl => servo/ports/stable-rust/src/lib.rs
The existing `Rooted` and `RootedVec` users were migrated the the following two macros:
```rust
let x = Rooted::new(cx, value);
// Was changed to:
rooted!(in(cx) let x = value);
// Which expands to:
let mut __root = Rooted::new_unrooted(value);
let x = RootedGuard::new(cx, &mut __root);
```
```rust
let mut v = RootedVec::new();
v.extend(iterator);
// Was changed to:
rooted_vec!(let v <- iterator);
// Which expands to:
let mut __root = RootableVec::new();
let v = RootedVec::new(&mut __root, iterator);
```
The `rooted!` macro depends on servo/rust-mozjs#272.
These APIs based on two types, a container to be rooted and a rooting guard, allow implementing both `Rooted`-style rooting and `Traceable`-based rooting in stable Rust, without abusing `return_address`.
Such macros may have been tried before, but in 1.9 their hygiene is broken, they work only since 1.10.
Sadly, `Rooted` is a FFI type and completely exposed, so I cannot prevent anyone from creating their own, although all fields but the value get overwritten by `RootedGuard::new` anyway.
`RootableVec` OTOH is *guaranteed* to be empty when not rooted, which makes it harmless AFAICT.
By fixing rust-lang/rust#34227, this PR enables Servo to build with `-Zorbit`.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fixrust-lang/rust#34227
- [x] These changes do not require tests because they are not functional changes
Source-Repo: https://github.com/servo/servo
Source-Revision: 80cb0cf8214fd52d2884724614c40cb278ee7575
Basically three major changes:
1. More complete origin check in `FileManagerThreadMsg`
2. Add reference counting logic to file manage store and script API
3. Integrate the support of slicing
r? @Manishearth
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] 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: 36974f0746261b971c93ed7dfb9bd726675ccf69
<!-- 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#11933.
<!-- Either: -->
- [x] These changes do not require tests (I hope) because no new behavior was introduced
<!-- 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: c8b048e368d4f9de08011b89e530ba9075e08ec3
<!-- 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 _____
<!-- 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: b0a8ce5341f5148e36523fee0b0fcbc2684c0a68
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because refactoring + geckolib
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
@bholley: I was going to do this "the good way", but that involves quite a few properties, so I thought I'd rather unlock stylo before :)
r? @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: a77cc9950fb13ccd674a10e46c2327bfa0735dab
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because refactoring.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
As a follow-up, we could move all the data living under a mutex in the
SharedLayoutContext only in order to create the local context to the same place.
This should increase animation performance when there are multiple animations in
one page that happen to be on different threads.
r? @SimonSapin/@mbrubeck for the style/layout, @bholley for the geckolib changes
Source-Repo: https://github.com/servo/servo
Source-Revision: ec0d3e084dbaecf749a67ba52e5f680262960a29
<!-- 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 _____
<!-- 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: 851931124d1258b235a696a28d9c2277984726eb
<!-- 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#11935 .
<!-- Either: -->
- [X] These changes do not require tests because: @jdm said so :P
Source-Repo: https://github.com/servo/servo
Source-Revision: 87d08eb4e8282f591261250d6b1d061fbb0584b6
See the comments in compositor.rs for more details.
Fixes#11658.
Source-Repo: https://github.com/servo/servo
Source-Revision: 26d2ee635589776a08e5671b6b6d673d165a5dc6
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because they are infra changes.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
The clang-3.8 instead of clang++-3.8 check is because on some Linux distros
clang++-3.8 doesn't exists, while the former does.
r? @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 77a0e269674fc09f4f8b37c4f91e05f2f2d3d6bd
<!-- Please describe your changes on the following line: -->
Fix#11905
Source-Repo: https://github.com/servo/servo
Source-Revision: 62f7e8fe4bff080b42831e087ee69428424927cc
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
<!-- Either: -->
- [x] There are tests for these changes
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This adds support for parsing `@keyframes` rules, and animation properties. Stylo will need it sometime soonish, plus I want to make animations work in Servo.
The remaining part is doin the math and trigger the animations correctly from servo. I don't expect it to be *that* hard, but probaby I'll need to learn a bit more about the current animation infra (e.g. why the heck is the `new_animations_sender` guarded by a `Mutex`?).
I'd expect to land this, since this is already a bunch of work, this is the part exclusively required by stylo (at least if we don't use Servo's machinery), the media query parsing is tested, and the properties land after a flag, but if you prefer to wait until I finish this up it's fine for me too.
r? @SimonSapin
cc @pcwalton @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: d3a81373e44634c30d31da0457e1c1e86c0911ed
<!-- Please describe your changes on the following line: -->
Mutates the header directly with get_mut instead of using get(), remove(), and set().
---
<!-- 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#11811 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because there are existing web tests
<!-- 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: a3f43076b6b30491dcb4d9b8cc1ae32261a82f99
<!-- Please describe your changes on the following line: -->
Replace usage of `std::intrinsics::discriminant_value` with per-enum generated code that uses `match` expressions. The LLVM IR shows that this optimizes well in release mode.
---
<!-- 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 part of #11815.
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require new tests because they shouldn’t change any 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: 810735a846c65b2a6a2dd2ef6b7e476931ff55a1