Allow BabylonJS playground to load
These changes fix the JS errors that currently appear when loading the page. You can't use the editor, but the webgl canvas works just fine.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26428 and fix#25478
- [x] There are tests for these changes
Handle cancelAnimationFrame() when called within a requestAnimationFr…
…ame() callback
<!-- Please describe your changes on the following line: -->
In order to handle `cancelAnimationFrame()` in the callback, the `raf_callback_list` is moved to
`current_raf_callback_list`, and each callback is cloned in the iteration of `current_raf_callback_list` to avoid "borrowed twice".
---
<!-- 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#26251
<!-- 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. -->
Bump libc from 0.2.62 to 0.2.70
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.62 to 0.2.70.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/libc/releases">libc's releases</a>.</em></p>
<blockquote>
<h2>0.2.70</h2>
<p>Bump patch version to 0.2.70</p>
<h2>0.2.69</h2>
<p>Bump patch version to 0.2.69</p>
<h2>0.2.68</h2>
<p>Bump patch version to 0.2.68</p>
<h2>0.2.67</h2>
<p>Bump patch version to 0.2.67</p>
<h2>0.2.66</h2>
<p>No release notes provided.</p>
<h2>0.2.65</h2>
<p>No release notes provided.</p>
<h2>0.2.64</h2>
<p>No release notes provided.</p>
<h2>0.2.63 (yanked)</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b61d8c617a"><code>b61d8c6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/libc/issues/1758">#1758</a> from tblah/version-0.2.70</li>
<li><a href="88cfeb1a4c"><code>88cfeb1</code></a> Bump version to 0.2.70</li>
<li><a href="87de9103f5"><code>87de910</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/libc/issues/1752">#1752</a> from JohnTitor/i686-2004</li>
<li><a href="cf63ea1002"><code>cf63ea1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/libc/issues/1587">#1587</a> from Susurrus/termios_breaks_consts</li>
<li><a href="23d73d5983"><code>23d73d5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/libc/issues/1753">#1753</a> from overdrivenpotato/psp</li>
<li><a href="524ec8f2f5"><code>524ec8f</code></a> Add TIOCSBRK/TIOCCBRK to more supported platforms</li>
<li><a href="d44f9b7ef9"><code>d44f9b7</code></a> Reorder consts for sparc64 to match header</li>
<li><a href="5dfe01320f"><code>5dfe013</code></a> Add c typedefs for the Sony PSP</li>
<li><a href="ecfd7a3d01"><code>ecfd7a3</code></a> Update Ubuntu image to 20.04</li>
<li><a href="bb734e321f"><code>bb734e3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/libc/issues/1754">#1754</a> from JohnTitor/armeabi</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/libc/compare/0.2.62...0.2.70">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=libc&package-manager=cargo&previous-version=0.2.62&new-version=0.2.70)
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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Dedupe dwrote
<!-- 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. -->
Bump backtrace from 0.3.46 to 0.3.47
Bumps [backtrace](https://github.com/rust-lang/backtrace-rs) from 0.3.46 to 0.3.47.
<details>
<summary>Commits</summary>
<ul>
<li><a href="fbcfd0eaae"><code>fbcfd0e</code></a> Bump to 0.3.47</li>
<li><a href="5ad0b762eb"><code>5ad0b76</code></a> Switch to <code>gimli-symbolize</code> by default (<a href="https://github-redirect.dependabot.com/rust-lang/backtrace-rs/issues/324">#324</a>)</li>
<li><a href="bb5aa64804"><code>bb5aa64</code></a> Enable gimli on all platforms</li>
<li><a href="67ccecbca4"><code>67ccecb</code></a> Update comments in <code>Cargo.toml</code></li>
<li><a href="29af39088b"><code>29af390</code></a> Automatically enable <code>std</code> feature with <code>gimli-symbolize</code></li>
<li><a href="3af3ec7db5"><code>3af3ec7</code></a> Tweak some CI testing</li>
<li><a href="40f3954554"><code>40f3954</code></a> Migrate towards sunsetting features on this crate (<a href="https://github-redirect.dependabot.com/rust-lang/backtrace-rs/issues/323">#323</a>)</li>
<li><a href="7a95a02c8e"><code>7a95a02</code></a> Reorganize gimli internals slightly (<a href="https://github-redirect.dependabot.com/rust-lang/backtrace-rs/issues/322">#322</a>)</li>
<li><a href="301358d42a"><code>301358d</code></a> Update <code>addr2line</code> dependency (<a href="https://github-redirect.dependabot.com/rust-lang/backtrace-rs/issues/321">#321</a>)</li>
<li><a href="1ffdc8ae1c"><code>1ffdc8a</code></a> Remove dladdr fallback and implementation (<a href="https://github-redirect.dependabot.com/rust-lang/backtrace-rs/issues/317">#317</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/backtrace-rs/compare/0.3.46...0.3.47">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=backtrace&package-manager=cargo&previous-version=0.3.46&new-version=0.3.47)
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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Remove AnimatedProperty
This removes an extra layer of abstraction and allows Servo to share
more code with Gecko. In addition, we will need to handle raw
`AnimationValue` structs soon in order to fully implement "faster
reversing of interrupted transitions."
<!-- 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] There are tests for these 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 removes an extra layer of abstraction and allows Servo to share
more code with Gecko. In addition, we will need to handle raw
`AnimationValue` structs soon in order to fully implement "faster
reversing of interrupted transitions."
Use an appropriate graphics adapter when openxr is present.
The surfman upgrade broke our fragile process of choosing a graphics adapter that is always compatible with openxr. These changes ensure that won't happen in the future.
Depends on https://github.com/servo/webxr/pull/174.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26474
- [x] These changes do not require tests because we can't test the emulator configuration
Fix radial gradients for html canvas element
<!-- Please describe your changes on the following line: -->
The latest version of raqote provides a fix for properly handling boundary conditions for TwoCircleRadialGradients.
---
<!-- 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 #25331
<!-- Either: -->
- [x] There are tests for these 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. -->
Move most animation processing to script
This is preparation for sharing this code with layout_2020 and
implementing selective off-the-main-thread animations.
We still look for nodes not in the flow tree in the layout thread.
<!-- 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 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. -->
This is preparation for sharing this code with layout_2020 and
implementing selective off-the-main-thread animations.
We still look for nodes not in the flow tree in the layout thread.
Add support for getComputedStyle() to layout_2020
These changes add support for `getComputedStyle()` to layout_2020.
---
<!-- 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] There are tests for these 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 implementation is more-or-less on par with the one from layout_2013
and in some cases better. There are still some cases where we don't
return the correct "resolved value," but this is enough to test
animations and transitions.
layout_2020: Add support for transform-style
This requires creating a matching stacking context for every reference
frame and also properly placing those stacking contexts inside them.
<!-- 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] There are tests for these 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. -->
Implement EXT_frag_depth
<!-- Please describe your changes on the following line: -->
Fixes 26341
---
<!-- 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#26341 (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. -->
Remove a TODO from the implementation of getComputedStyle
The spec is now clear that disconnected elements shouldn't return a
style.
Closes#6860.
<!-- 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#6860
- [x] These changes do not require tests because they just update a comment.
<!-- 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. -->