remaining components to edition 2018 & cargo-fix & cargo-clippy in mach
Added `cargo fix` and `cargo clippy` wrappers to mach and upgrade remaining components to edition 2018. Currently there are only two `Cargo.toml` (three if you count worspace) that are still on 2015 edition, but they are not in components directory.
In the future we should migrate to workspace inheritance and edition 2021.
---
<!-- 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 are not functional changes.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Warning instead of exception on unsupported Ubuntu
For someone who is always using latest stable Ubuntu version it is pretty annoying to change the script every time, so issuing a warning instead of error would still allow users on unsupported version to continue bootstrapping.
---
<!-- 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 changes are in bootstrap script
<!-- 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. -->
Add intermittent results for transitions related tests
These tests test the behavior of many properties and due to issues in
Servo, the results are incredibly unstable. Since the tests use large
property lists this leads to hundreds of failed subtests every run. We
let these tests either pass or fail so that results in the CI are
stable. The ultimate goal here is to fix the instability in Servo so
that these tests pass or fail consistently.
This change also adds support for intermittent expectations to the
ServoHandler. Before these kind of test results were interpreted as
unexpected results.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they just update test results.
<!-- 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. -->
These tests test the behavior of many properties and due to issues in
Servo, the results are incredibly unstable. Since the tests use large
property lists this leads to hundreds of failed subtests every run. We
let these tests either pass or fail so that results in the CI are
stable. The ultimate goal here is to fix the instability in Servo so
that these tests pass or fail consistently.
This change also adds support for intermittent expectations to the
ServoHandler. Before these kind of test results were interpreted as
unexpected results.
Revert #29331 (Bump exr from 1.5.1 to 1.5.3)
This reverts commit 8a8a587908, reversing changes made to a01035e6fd.
Reason: breaks tidy:
```
./Cargo.lock:1: duplicate versions for package `half`
The following packages depend on version 1.8.2 from 'crates.io':
canvas 0.0.1
The following packages depend on version 2.2.1 from 'crates.io':
exr 1.5.3
```
<!-- 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 only affect dependency versions
<!-- 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. -->
This reverts commit 8a8a587908, reversing
changes made to a01035e6fd.
Reason: breaks tidy:
```
./Cargo.lock:1: duplicate versions for package `half`
The following packages depend on version 1.8.2 from 'crates.io':
canvas 0.0.1
The following packages depend on version 2.2.1 from 'crates.io':
exr 1.5.3
```
Conditionally use certain GStreamer plugins
In old versions of GStreamer gstvideoconvertscale was split into two plugins, gstvideoscale and gstvideoconvert. This change makes the use of these three plugins conditional on their existence and has Windows use the two plugins from the older version of GStreamer. In addition, it starts to clean up the gstreamer.py file which is responsible for managing GStreamer libraries and plugins. This is the first change in a series of changes that seek to clean up the way these libraries are managed during the build.
<!-- 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 do not require tests because they should change behavior except for old GStreamer on Mac.
<!-- 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. -->
In old versions of GStreamer gstvideoconvertscale was split into two
plugins, gstvideoscale and gstvideoconvert. This change makes the use of
these three plugins conditional on their existence and has Windows use
the two plugins from the older version of GStreamer. In addition, it
starts to clean up the gstreamer.py file which is responsible for
managing GStreamer libraries and plugins. This is the first change in a
series of changes that seek to clean up the way these libraries are
managed during the build.
Add support for the intermittent dashboard
<!-- 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 do not require tests because this is a CI change.
<!-- 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. -->
HACKING_QUICKSTART: update vscode guide
This patch updates the vscode section of the hacking quickstart guide to:
* provide examples of errors that happen if vscode is misconfigured
* use the current rust-analyzer settings ids
* tell rust-analyzer to use mach for build scripts
---
<!-- 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 only affect documentation
Bump spin from 0.9.4 to 0.9.5
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.4 to 0.9.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md">spin's changelog</a>.</em></p>
<blockquote>
<h1>[0.9.5] - 2023-02-07</h1>
<h3>Added</h3>
<ul>
<li><code>FairMutex</code>, a new mutex implementation that reduces writer starvation.</li>
<li>A MSRV policy: Rust 1.38 is currently required</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The crate's CI now has full MIRI integration, further improving the confidence you can have in the implementation.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Ensured that the crate's abstractions comply with stacked borrows rules.</li>
<li>Unsoundness in the <code>RwLock</code> that could be triggered via a reader overflow</li>
<li>Relaxed various <code>Send</code>/<code>Sync</code> bound requirements to make the crate more flexible</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/mvdnes/spin-rs/commits">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bump tinyvec_macros from 0.1.0 to 0.1.1
Bumps [tinyvec_macros](https://github.com/Soveu/tinyvec_macros) from 0.1.0 to 0.1.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Soveu/tinyvec_macros/commits">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Use the new intermittent dashboard to report intermittents and get
information about open bugs. This is now used to filter out
known-intermittents from results. In addition, this also allows the
scripts to report bug information to the GitHub. Display that in all
output.
Bump exr from 1.5.1 to 1.5.3
Bumps [exr](https://github.com/johannesvollmer/exrs) from 1.5.1 to 1.5.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/johannesvollmer/exrs/releases">exr's releases</a>.</em></p>
<blockquote>
<h2>Various Performance Improvements by <a href="https://github.com/Shantsel"><code>@Shantsel</code></a></h2>
<p>Various Improvements in encoding and decoding speed, yay!</p>
<p>Huge thanks to <a href="https://github.com/Shnatsel"><code>@Shnatsel</code></a> for all of these:</p>
<ul>
<li>Faster Zip1 & Zip16 & PXR24 decoding (encoding unchaged yet) (by using a new dependency)</li>
<li>Faster RLE encoding and decoding (by utilizing cpu vectorization where supported)</li>
<li>Faster packing and unpacking of RLE & Zip1 & Zip16 images (by utilizing cpu vectorization where supported)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2a27312290"><code>2a27312</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/johannesvollmer/exrs/issues/183">#183</a> from Shnatsel/zune-inflate</li>
<li><a href="213ac22da7"><code>213ac22</code></a> Merge branch 'master' into zune-inflate</li>
<li><a href="a3004cc984"><code>a3004cc</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/johannesvollmer/exrs/issues/181">#181</a> from Shnatsel/better-benches</li>
<li><a href="fc4ade2bf3"><code>fc4ade2</code></a> Merge branch 'master' into better-benches</li>
<li><a href="20df1fcf5e"><code>20df1fc</code></a> Merge branch 'master' into zune-inflate</li>
<li><a href="56f1d0a2cf"><code>56f1d0a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/johannesvollmer/exrs/issues/180">#180</a> from Shnatsel/iterator-size-hint</li>
<li><a href="991e3e719b"><code>991e3e7</code></a> Upgrade to zune-inflate 0.2.3</li>
<li><a href="3c96df154e"><code>3c96df1</code></a> Merge remote-tracking branch 'origin/master' into zune-inflate</li>
<li><a href="5d084f8b07"><code>5d084f8</code></a> Saner benchmarking order</li>
<li><a href="73770a3ce8"><code>73770a3</code></a> Rename benchmarks for consistency and sort the list</li>
<li>Additional commits viewable in <a href="https://github.com/johannesvollmer/exrs/compare/v1.5.1...v1.5.3">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Add a "shmem" feature to selectors to avoid publishing that dependency
<!-- Please describe your changes on the following line: -->
Hopefully as a way to help #29105, this PR adds a `shmem` feature to the selectors crate. This is so that the crate can be released with that feature off by default, as the `ToShmem` derives are only of interest to Servo, I think.
All the places where servo's source code includes the selectors crate are made to turn on this feature.
Bump libdbus-sys from 0.2.2 to 0.2.4
Bumps [libdbus-sys](https://github.com/diwic/dbus-rs) from 0.2.2 to 0.2.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="1dab726dd1"><code>1dab726</code></a> Release libdbus-sys 0.2.4</li>
<li><a href="44246d3f1a"><code>44246d3</code></a> libdbus-sys vendored: Do not turn warnings into errors</li>
<li><a href="7c408602b5"><code>7c40860</code></a> dbus: Make stdfd compile on rust v1.65</li>
<li><a href="3cf507bb77"><code>3cf507b</code></a> Release dbus-crossroads 0.5.2</li>
<li><a href="ad81b09cb9"><code>ad81b09</code></a> Release libdbus 0.2.3, dbus 0.9.7</li>
<li><a href="ecb379de0b"><code>ecb379d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/diwic/dbus-rs/issues/418">#418</a> from diwic/31-ownedfd</li>
<li><a href="65d0a443ac"><code>65d0a44</code></a> dbus: Remove io-lifetimes feature, add stdfd feature</li>
<li><a href="d913c608c6"><code>d913c60</code></a> crossroads: Fixup introspection of children</li>
<li><a href="bf1e745615"><code>bf1e745</code></a> crossroads: Fixup context lost in GetManagedObjects</li>
<li><a href="7fe3b49301"><code>7fe3b49</code></a> crossroads: Test multiple objects in async-property ObjectManager test</li>
<li>Additional commits viewable in <a href="https://github.com/diwic/dbus-rs/compare/libdbus-sys-v0.2.2...libdbus-sys-v0.2.4">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
#26488 Move worklet drop implementation into single droppable member
Signed-off-by: Benjamin Freist <bfreist@soundhound.com>
<!-- Please describe your changes on the following line: -->
Hey @jdm ,
is this issue still free? I would like to start contributing to servo.
This patch is straight from PR 28302, I thought it would be good to start with a small part, I hope that's ok.
---
<!-- 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 will be checked by the compiler.
<!-- 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. -->
Make two small improvements to try result comment
Sort the test names alphabetically so that they are stable between try runs and also include the action URL in the comment when possible.
<!-- 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 do not require tests because they just change CI.
<!-- 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. -->
Aggregate unexpected results into logs
This makes it easier to run `update-wpt` based on results from the bots by writing a new version of the raw log that filters out all tests with expected results. Then aggregate this output into the filtered results archive. A future version of this could aggregate all unexpected results that were not filtered as intermittents.
<!-- 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 do not require tests because they are infrastructure changes.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This makes it easier to run `update-wpt` based on results from the bots.
A future version of this could aggregate all unexpected results that
were not filtered as intermittents.
Bump typed-arena from 2.0.1 to 2.0.2
Bumps [typed-arena](https://github.com/SimonSapin/rust-typed-arena) from 2.0.1 to 2.0.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/SimonSapin/rust-typed-arena/blob/master/CHANGELOG.md">typed-arena's changelog</a>.</em></p>
<blockquote>
<h2>2.0.2</h2>
<p>Released 2023/01/08.</p>
<h3>Fixed</h3>
<ul>
<li>Various fixes for use under miri (soundness and provenance fixes).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="239d236e6d"><code>239d236</code></a> Prep release 2.0.2</li>
<li><a href="b92091aaab"><code>b92091a</code></a> Avoid invalidating provenance of outstanding references in <code>alloc_extend</code>. Fi...</li>
<li><a href="6e8f574228"><code>6e8f574</code></a> Remove <code>#[cfg_attr(miri, ignore)]</code> from tests</li>
<li><a href="6a3e6eef5b"><code>6a3e6ee</code></a> Enable miri in CI and bump MSRV</li>
<li><a href="80d469e7c6"><code>80d469e</code></a> Avoid intermediate slice reference in <code>uninitialized_array</code> (fixes <a href="https://github-redirect.dependabot.com/SimonSapin/rust-typed-arena/issues/54">#54</a>)</li>
<li><a href="afbe7b7256"><code>afbe7b7</code></a> Replace travis with github actions in the README's CI badge</li>
<li><a href="dad4f6d97e"><code>dad4f6d</code></a> Only run CI on {PRs against,pushes to master} and fix MSRV CI</li>
<li><a href="9560241e75"><code>9560241</code></a> Remove travis CI</li>
<li><a href="400b56b8cc"><code>400b56b</code></a> Run <code>rustfmt</code></li>
<li><a href="17738fbb7c"><code>17738fb</code></a> Convert CI to github actions</li>
<li>Additional commits viewable in <a href="https://github.com/SimonSapin/rust-typed-arena/compare/2.0.1...2.0.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Update fs_extra
<!-- Please describe your changes on the following line: -->
I noticed this warning in the log of my previous PR:
"warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.1.0".
So let's update that crate to get rid of the warning.
---
<!-- 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. -->
Don't hold back the delivery of pending animation events
The script event loop can block for an indefinite period despite having pending animation-related events that it needs to deliver immediately.
The bug can cause a test timeout in `/css/css-transitions/events-001.html` but (to my knowledge) never manifested in `master` because any irrelevant messages received by the script thread afterward would unblock the event loop and cause it to process any pending animation-related events. We can reproduce the bug in `master` by removing [the `maybe_observe_paint_time` call][2] in `LayoutThread::compute_abs_pos_and_build_display_list`. This also explains the test failure [seen in #28708][1] because the same call is [commented out][3].
[1]: https://github.com/servo/servo/pull/28708#issuecomment-1080003778
[2]: 5448528279/components/layout_thread/lib.rs (L1156-L1157)
[3]: 03a41ffe32/components/layout_thread/lib.rs (L1186-L1187)
---
- [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)
---
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
Use crates.io release of raqote
<!-- Please describe your changes on the following line: -->
The latest raqote version has been published to crates.io now.
---
<!-- 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. -->
Update gst plugin for videoconvert & videoscale elements
GStreamer 1.22 has [merged](d11f13f476 (0f8c6b125485c13b682ebcb8fd2f7266439ac317)) the 'gstvideoscale' and 'gstvideoconvert' plugins into a new 'gstvideoconvertscale' plugin. Since we hardcode the plugin names [here](https://github.com/servo/servo/blob/master/python/servo/gstreamer.py#L68) and [here](https://github.com/servo/servo/blob/master/python/servo/gstreamer.py#L71), to support packaging them with the binary, the builds on MacOS have started to fail since Homebrew upgraded to 1.22.
This PR is a temporary fix to allow CI builds to succeed & PRs to be merged.
I see code path in the packaging logic for Windows msvc also relies on these plugin names when media-stack is set to 'gstreamer' (I believe it is 'dummy' by default and on nightlies). Ideally, we should fix the packaging logic so that it can handle both older versions of GST (<1.22) and both mac & win platforms. I'll follow up on this with an new issue.
---
<!-- 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#29344
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because we are only changing the release packaging 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. -->