Add DocumentAnimationSet and AnimationSetKey
This will be used in order to hold animations for pseudo elements in the
DocumentAnimationSet. Also no longer store the OpaqueNode in the
animation and transition data structures. This is already part of the
DocumentAnimationSet key.
---
<!-- 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. -->
build(deps): bump futures-util from 0.3.4 to 0.3.5
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from 0.3.4 to 0.3.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures-util's releases</a>.</em></p>
<blockquote>
<h2>0.3.5</h2>
<ul>
<li>Added <code>StreamExt::flat_map</code>.</li>
<li>Added <code>StreamExt::ready_chunks</code>.</li>
<li>Added <code>*_unpin</code> methods to <code>SinkExt</code>.</li>
<li>Added a <code>cancellation()</code> future to <code>oneshot::Sender</code>.</li>
<li>Added <code>reunite</code> method to <code>ReadHalf</code> and <code>WriteHalf</code>.</li>
<li>Added <code>Extend</code> implementations for <code>Futures(Un)Ordered</code> and <code>SelectAll</code>.</li>
<li>Added support for reexporting the <code>join!</code> and <code>select!</code> macros.</li>
<li>Added <code>no_std</code> support for the <code>pending!</code> and <code>poll!</code> macros.</li>
<li>Added <code>Send</code> and <code>Sync</code> support for <code>AssertUnmoved</code>.</li>
<li>Fixed a bug where <code>Shared</code> wasn't relinquishing control to the executor.</li>
<li>Removed the <code>Send</code> bound on the output of <code>RemoteHandle</code>.</li>
<li>Relaxed bounds on <code>FuturesUnordered</code>.</li>
<li>Reorganized internal tests to work under different <code>--feature</code>s.</li>
<li>Reorganized the bounds on <code>StreamExt::forward</code>.</li>
<li>Removed and replaced a large amount of internal <code>unsafe</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-util's changelog</a>.</em></p>
<blockquote>
<h1>0.3.5 - 2020-05-08</h1>
<ul>
<li>Added <code>StreamExt::flat_map</code>.</li>
<li>Added <code>StreamExt::ready_chunks</code>.</li>
<li>Added <code>*_unpin</code> methods to <code>SinkExt</code>.</li>
<li>Added a <code>cancellation()</code> future to <code>oneshot::Sender</code>.</li>
<li>Added <code>reunite</code> method to <code>ReadHalf</code> and <code>WriteHalf</code>.</li>
<li>Added <code>Extend</code> implementations for <code>Futures(Un)Ordered</code> and <code>SelectAll</code>.</li>
<li>Added support for reexporting the <code>join!</code> and <code>select!</code> macros.</li>
<li>Added <code>no_std</code> support for the <code>pending!</code> and <code>poll!</code> macros.</li>
<li>Added <code>Send</code> and <code>Sync</code> support for <code>AssertUnmoved</code>.</li>
<li>Fixed a bug where <code>Shared</code> wasn't relinquishing control to the executor.</li>
<li>Removed the <code>Send</code> bound on the output of <code>RemoteHandle</code>.</li>
<li>Relaxed bounds on <code>FuturesUnordered</code>.</li>
<li>Reorganized internal tests to work under different <code>--feature</code>s.</li>
<li>Reorganized the bounds on <code>StreamExt::forward</code>.</li>
<li>Removed and replaced a large amount of internal <code>unsafe</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4ceafb384c"><code>4ceafb3</code></a> Stage 0.3.5</li>
<li><a href="5b91728e10"><code>5b91728</code></a> Drop unneeded Send/Sync bound from AssertUnmoved</li>
<li><a href="4b930bb470"><code>4b930bb</code></a> Implement Send + Sync for AssertUnmoved</li>
<li><a href="3bf5ac99e9"><code>3bf5ac9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2128">#2128</a> from Diggsey/snip</li>
<li><a href="1b44548be7"><code>1b44548</code></a> Merge branch 'master' into snip</li>
<li><a href="32005e3f74"><code>32005e3</code></a> fix: Shared must relinquish control to the executor if repolled</li>
<li><a href="dc06edaf54"><code>dc06eda</code></a> Update pin-utils to 0.1</li>
<li><a href="dc00793b38"><code>dc00793</code></a> Make ready and lazy's panic messages easy to understand</li>
<li><a href="127b244ecd"><code>127b244</code></a> Allow pending! and poll! in no_std</li>
<li><a href="dfc6673946"><code>dfc6673</code></a> Update futures-util/src/future/future/flatten.rs</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.4...0.3.5">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=futures-util&package-manager=cargo&previous-version=0.3.4&new-version=0.3.5)
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>
build(deps): bump chrono from 0.4.9 to 0.4.11
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.9 to 0.4.11.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/chronotope/chrono/blob/master/CHANGELOG.md">chrono's changelog</a>.</em></p>
<blockquote>
<h2>0.4.11</h2>
<h3>Improvements</h3>
<ul>
<li>Support a space or <code>T</code> in <code>FromStr</code> for <code>DateTime<Tz></code>, meaning that e.g.
<code>dt.to_string().parse::<DateTime<Utc>>()</code> now correctly works on round-trip.
(<a href="https://github.com/quodlibetor">@quodlibetor</a> in <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/378">#378</a>)</li>
<li>Support "negative UTC" in <code>parse_from_rfc2822</code> (<a href="https://github.com/quodlibetor">@quodlibetor</a> <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/368">#368</a> reported in
<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/102">#102</a>)</li>
<li>Support comparisons of DateTimes with different timezones (<a href="https://github.com/dlalic">@dlalic</a> in <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/375">#375</a>)</li>
<li>Many documentation improvements</li>
</ul>
<h3>Bitrot and external integration fixes</h3>
<ul>
<li>Don't use wasmbind on wasi (<a href="https://github.com/coolreader18">@coolreader18</a> <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/365">#365</a>)</li>
<li>Avoid deprecation warnings for <code>Error::description</code> (<a href="https://github.com/AnderEnder">@AnderEnder</a> and
<a href="https://github.com/quodlibetor">@quodlibetor</a> <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/376">#376</a>)</li>
</ul>
<h3>Internal improvements</h3>
<ul>
<li>Use Criterion for benchmarks (<a href="https://github.com/quodlibetor">@quodlibetor</a>)</li>
</ul>
<h2>0.4.10</h2>
<h3>Compatibility notes</h3>
<ul>
<li>Putting some functionality behind an <code>alloc</code> feature to improve no-std
support (in <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/341">#341</a>) means that if you were relying on chrono with
<code>no-default-features</code> <em>and</em> using any of the functions that require alloc
support (i.e. any of the string-generating functions like <code>to_rfc3339</code>) you
will need to add the <code>alloc</code> feature in your Cargo.toml.</li>
</ul>
<h3>Improvements</h3>
<ul>
<li><code>DateTime::parse_from_str</code> is more than 2x faster in some cases. (<a href="https://github.com/michalsrb">@michalsrb</a>
<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/358">#358</a>)</li>
<li>Significant improvements to no-std and alloc support (This should also make
many format/serialization operations induce zero unnecessary allocations)
(<a href="https://github.com/CryZe">@CryZe</a> <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/341">#341</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>Functions that were accepting <code>Iterator</code> of <code>Item</code>s (for example
<code>format_with_items</code>) now accept <code>Iterator</code> of <code>Borrow<Item></code>, so one can
use values or references. (<a href="https://github.com/michalsrb">@michalsrb</a> <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/358">#358</a>)</li>
<li>Add built-in support for structs with nested <code>Option<Datetime></code> etc fields
(<a href="https://github.com/manifest">@manifest</a> <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/302">#302</a>)</li>
</ul>
<h3>Internal/doc improvements</h3>
</tr></table> ... (truncated)
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e493218d68"><code>e493218</code></a> Update changelog for 0.4.11 (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/399">#399</a>)</li>
<li><a href="725d88e0dc"><code>725d88e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/395">#395</a> from vallentin/master</li>
<li><a href="9041ce5b05"><code>9041ce5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/396">#396</a> from ignatenkobrain/fix-cargo-test</li>
<li><a href="7d37413665"><code>7d37413</code></a> Fix cargo test with latest serde_json</li>
<li><a href="89da02ebd5"><code>89da02e</code></a> Fixed typos</li>
<li><a href="4837b568c2"><code>4837b56</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/381">#381</a> from waldyrious/same-to_same-as</li>
<li><a href="9397ab2b47"><code>9397ab2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/375">#375</a> from dlalic/354</li>
<li><a href="4ad95ee602"><code>4ad95ee</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/378">#378</a> from quodlibetor/round-trip-display</li>
<li><a href="176dfeff87"><code>176dfef</code></a> Reword 'same to' --> 'same as'</li>
<li><a href="b9c967b2ac"><code>b9c967b</code></a> support round tripping display <-> datetime</li>
<li>Additional commits viewable in <a href="https://github.com/chronotope/chrono/compare/v0.4.9...v0.4.11">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=chrono&package-manager=cargo&previous-version=0.4.9&new-version=0.4.11)
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>
build(deps): bump siphasher from 0.3.1 to 0.3.3
Bumps [siphasher](https://github.com/jedisct1/rust-siphash) from 0.3.1 to 0.3.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="003a603a77"><code>003a603</code></a> bump</li>
<li><a href="3015c54e04"><code>3015c54</code></a> Port from Rust 1.44.0, faster short writes</li>
<li><a href="146ba215aa"><code>146ba21</code></a> Bump</li>
<li><a href="aa28777006"><code>aa28777</code></a> Add a serde test for siphash128</li>
<li><a href="7acaef1bba"><code>7acaef1</code></a> Optional serde support and PartialEq deriving (<a href="https://github-redirect.dependabot.com/jedisct1/rust-siphash/issues/12">#12</a>)</li>
<li>See full diff in <a href="https://github.com/jedisct1/rust-siphash/compare/0.3.1...0.3.3">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=siphasher&package-manager=cargo&previous-version=0.3.1&new-version=0.3.3)
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>
build(deps): bump num_cpus from 1.10.1 to 1.13.0
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus) from 1.10.1 to 1.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/num_cpus/releases">num_cpus's releases</a>.</em></p>
<blockquote>
<h2>v1.13.0</h2>
<h3>Features</h3>
<ul>
<li>add Linux cgroups support when calling <code>get()</code>.</li>
</ul>
<hr />
<p>Linux cgroups are a way to restrict the amount of resources a container can use. With this change, most libraries and applications deciding the number of threads to use via <code>num_cpus::get()</code> will spawn less threads, resulting in better usage of the CPU, and typically perform better.</p>
<p><img src="https://user-images.githubusercontent.com/145366/78310804-48a72080-754f-11ea-8ae5-61f97a979d8f.png" alt="image" /></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md">num_cpus's changelog</a>.</em></p>
<blockquote>
<h2>v1.13.0</h2>
<h3>Features</h3>
<ul>
<li>add Linux cgroups support when calling <code>get()</code>.</li>
</ul>
<h2>v1.12.0</h2>
<h4>Fixes</h4>
<ul>
<li>fix <code>get</code> on OpenBSD to ignore offline CPUs</li>
<li>implement <code>get_physical</code> on OpenBSD</li>
</ul>
<h2>v1.11.1</h2>
<h4>Fixes</h4>
<ul>
<li>Use <code>mem::zeroed</code> instead of <code>mem::uninitialized</code>.</li>
</ul>
<h2>v1.11.0</h2>
<h4>Features</h4>
<ul>
<li>add <code>hermit</code> target OS support</li>
<li>removes <code>bitrig</code> support</li>
</ul>
<h4>Fixes</h4>
<ul>
<li>fix <code>get_physical</code> count with AMD hyperthreading.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b347731fc0"><code>b347731</code></a> v1.13.0</li>
<li><a href="b676af138f"><code>b676af1</code></a> Add docker CI</li>
<li><a href="3a56d16215"><code>3a56d16</code></a> Add cgroups support for Linux targets</li>
<li><a href="bfce9402ba"><code>bfce940</code></a> Add MSRV to CI (<a href="https://github-redirect.dependabot.com/seanmonstar/num_cpus/issues/98">#98</a>)</li>
<li><a href="3eadfaa1e0"><code>3eadfaa</code></a> Remove un-supported macOS/iOS targets from CI (<a href="https://github-redirect.dependabot.com/seanmonstar/num_cpus/issues/97">#97</a>)</li>
<li><a href="ae4492e91b"><code>ae4492e</code></a> v1.12.0</li>
<li><a href="b94df797a1"><code>b94df79</code></a> Tweak OpenBSD cpu detection (<a href="https://github-redirect.dependabot.com/seanmonstar/num_cpus/issues/92">#92</a>)</li>
<li><a href="428811d2a0"><code>428811d</code></a> v1.11.1</li>
<li><a href="a24f544dc6"><code>a24f544</code></a> Replace <code>mem::uninitialized()</code> with <code>mem::zeroed()</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/num_cpus/issues/83">#83</a>)</li>
<li><a href="1904840fa1"><code>1904840</code></a> v1.11.0</li>
<li>Additional commits viewable in <a href="https://github.com/seanmonstar/num_cpus/compare/v1.10.1...v1.13.0">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=num_cpus&package-manager=cargo&previous-version=1.10.1&new-version=1.13.0)
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>
Implement GPUSwapChain and GPUCanvasContext and interface with Webrender
<!-- Please describe your changes on the following line: -->
r?@kvark
---
<!-- 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 ___
<!-- 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. -->
Focus correctness improvements
These changes improve the behaviour of focus in Hubs rooms, and are expected to improve web compat around other dynamic pages that receive keyboard events as well.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26901 and fix#26900.
- [x] There are tests for these changes
This will be used in order to hold animations for pseudo elements in the
DocumentAnimationSet. Also no longer store the OpaqueNode in the
animation and transition data structures. This is already part of the
DocumentAnimationSet key.
Implement visibility for layout_2020
<!-- Please describe your changes on the following line: -->
Implement the 'visibility: hidden' (and 'visibility: collapse') css properties.
---
<!-- 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#26841 (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. -->
build(deps): bump num-traits from 0.2.11 to 0.2.12
Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.11 to 0.2.12.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-num/num-traits/blob/master/RELEASES.md">num-traits's changelog</a>.</em></p>
<blockquote>
<h1>Release 0.2.12 (2020-06-11)</h1>
<ul>
<li><a href="https://github-redirect.dependabot.com/rust-num/num-traits/pull/153">The new <code>WrappingNeg</code> trait</a> will wrap the result if it exceeds the
boundary of the type, e.g. <code>i32::MIN.wrapping_neg() == i32::MIN</code>.</li>
<li><a href="https://github-redirect.dependabot.com/rust-num/num-traits/pull/165">The new <code>SaturatingAdd</code>, <code>SaturatingSub</code>, and <code>SaturatingMul</code> traits</a>
will saturate at the numeric bounds if the operation would overflow. These
soft-deprecate the existing <code>Saturating</code> trait that only has addition and
subtraction methods.</li>
<li><a href="https://github-redirect.dependabot.com/rust-num/num-traits/pull/171">Added new constants for logarithms, <code>FloatConst::{LOG10_2, LOG2_10}</code></a>.</li>
</ul>
<p><strong>Contributors</strong>: <a href="https://github.com/cuviper">@cuviper</a>, <a href="https://github.com/ocstl">@ocstl</a>, <a href="https://github.com/trepetti">@trepetti</a>, <a href="https://github.com/vallentin">@vallentin</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f6852e047c"><code>f6852e0</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-num/num-traits/issues/172">#172</a></li>
<li><a href="fb10fe9bf4"><code>fb10fe9</code></a> Release 0.2.12</li>
<li><a href="9d54f39df9"><code>9d54f39</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-num/num-traits/issues/165">#165</a> <a href="https://github-redirect.dependabot.com/rust-num/num-traits/issues/171">#171</a></li>
<li><a href="5f00e22314"><code>5f00e22</code></a> remove an unused pattern from saturating_impl</li>
<li><a href="e9fcdb0730"><code>e9fcdb0</code></a> Add FloatConst::{LOG10_2, LOG2_10}</li>
<li><a href="cf1633836c"><code>cf16338</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-num/num-traits/issues/162">#162</a></li>
<li><a href="86c31265f5"><code>86c3126</code></a> Restore and deprecate Saturating trait. Fix up doc strings for Saturating* tr...</li>
<li><a href="964752f019"><code>964752f</code></a> Fix formatting for SaturatingAdd, SaturatingMul and SaturatingSub traits in l...</li>
<li><a href="052e765df0"><code>052e765</code></a> Add saturating_mul() and refactor Saturating into subtraits. Fixes <a href="https://github-redirect.dependabot.com/rust-num/num-traits/issues/40">#40</a>.</li>
<li><a href="a91bb7b085"><code>a91bb7b</code></a> Use {float}::to_int_unchecked() in Rust 1.44+</li>
<li>Additional commits viewable in <a href="https://github.com/rust-num/num-traits/compare/num-traits-0.2.11...num-traits-0.2.12">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=num-traits&package-manager=cargo&previous-version=0.2.11&new-version=0.2.12)
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>
Fix infinite stream and its missing incumbent script environment when newing a new stream
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26807
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
Move away from Promise.all way and check if we need to finish manually
In the previous Promise.all way, we registered a promise for every
module script which means we will need to do many complex checkings like
"is this top level?" and it will make us much more difficult to understand
how the module script algorithm works.
In the new manual checking way, we will only register promises for top
level modules to notify its owner (e.g. the script element) to finish
the load. So, we can understand it much more easily and would be more
spec-aligned.
Also, I think the `Ready` and `FetchFailed` status are quite confusing
and we actually don't need them so they're removed in this patch. Then,
we will always go to `Finished` instead.
It would basically be following steps:
```
+-----------------+
| Failed to fetch | ----------+
+--------------+ +----------+ / +-----------------+ |
| Fetch module | ----> | Fetching | ---+ v
+--------------+ +----------+ \ +---------+ +---------------------+
| Fetched | | Advance to Finished |
+---------+ +---------------------+
| ^
v |
+-------------------+ |
| Fetch descendants | ----- if no descendants
+-------------------+
|
V
+----------------------+
| Fetching Descendants |
+----------------------+
```
In `Advance to Finished`, it means that module script is about to finished so it will
1. Notify all of its `ready` and `not finished` parents to finish
2. Link (instantiate) the module
3. Resolve its promise to notify owner(s) to finish
<!-- 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#25442
- [x] These changes do not require tests because it basically refactors the script module and should not break anything.
<!-- 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. -->
As discussed in https://github.com/servo/servo/issues/26807#issuecomment-640151804, we'd like to
add a new flag, `in_memory_done`, to `TransmitBodyConnectHandler` so
that we can correctly finish and drop the sender correctly.
When we send the bytes, we will mark the body as done and we can
recognize it's already done in next tick so that we can send a Done
request to finish the sender.
Also, when there comes a redirect request, it will go to `re-extract`
route, we can set the `done` flag to `false` which means we won't
stop the IPC routers yet. Then, if the re-extract sent its bytes, we
will be marked as done again so that we can finish with stopping the IPC
routes when Chunk request comes.
Generate keyup events for printable keys
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26880
- [x] These changes do not require tests because we have no automated way to test user input
In the previous Promise.all way, we registered a promise for every
module script which means we will need to do many complex checkings like
"is this top level?" and it will make us much more difficult to understand
how the module script algorithm works.
In the new manual checking way, we will only register promises for top
level modules to notify its owner (e.g. the script element) to finish
the load. So, we can understand it much more easily and would be more
spec-aligned.
Also, I think the `Ready` and `FetchFailed` status are quite confusing
and we actually don't need them so they're removed in this patch. Then,
we will always go to `Finished` instead.
It would basically be following steps:
+-----------------+
| Failed to fetch | ----------+
+--------------+ +----------+ / +-----------------+ |
| Fetch module | ----> | Fetching | ---+ v
+--------------+ +----------+ \ +---------+ +---------------------+
| Fetched | | Advance to Finished |
+---------+ +---------------------+
| ^
v |
+-------------------+ |
| Fetch descendants | ----- if no descendants
+-------------------+
|
V
+----------------------+
| Fetching Descendants |
+----------------------+
In `Advance to Finished`, it means that module script is about to finished so it will
1. Notify all of its `ready` and `not finished` parents to finish
2. Link (instantiate) the module
3. Resolve its promise to notify owner(s) to finish
build(deps): bump typenum from 1.10.0 to 1.12.0
Bumps [typenum](https://github.com/paholg/typenum) from 1.10.0 to 1.12.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paholg/typenum/blob/master/CHANGELOG.md">typenum's changelog</a>.</em></p>
<blockquote>
<h3>1.12.0 (2020-04-13)</h3>
<ul>
<li>[added] Feature <code>force_unix_path_separator</code> to support building without Cargo.</li>
<li>[added] Greatest common divisor operator <code>Gcd</code> with alias <code>Gcf</code>.</li>
<li>[added] <code>gcd</code> to the <code>op!</code> macro.</li>
<li>[changed] Added <code>Copy</code> bound to <code>Rhs</code> of <code>Mul<Rhs></code> impl for <code><TArr<V, A></code>.</li>
<li>[changed] Added <code>Copy</code> bound to <code>Rhs</code> of <code>Div<Rhs></code> impl for <code><TArr<V, A></code>.</li>
<li>[changed] Added <code>Copy</code> bound to <code>Rhs</code> of <code>PartialDiv<Rhs></code> impl for <code><TArr<V, A></code>.</li>
<li>[changed] Added <code>Copy</code> bound to <code>Rhs</code> of <code>Rem<Rhs></code> impl for <code><TArr<V, A></code>.</li>
<li>[fixed] Make all functions #[inline].</li>
</ul>
<h3>1.11.2 (2019-08-26)</h3>
<ul>
<li>[fixed] Cross compilation from Linux to Windows.</li>
</ul>
<h3>1.11.1 (2019-08-25)</h3>
<ul>
<li>[fixed] Builds on earlier Rust builds again and added Rust 1.22.0 to Travis to prevent future breakage.</li>
</ul>
<h3>1.11.0 (2019-08-25)</h3>
<ul>
<li>[added] Integer <code>log2</code> to the <code>op!</code> macro.</li>
<li>[added] Integer binary logarithm operator <code>Logarithm2</code> with alias <code>Log2</code>.</li>
<li>[changed] Removed <code>feature(i128_type)</code> when running with the <code>i128</code> feature. Kept the feature flag.
for typenum to maintain compatibility with old Rust versions.</li>
<li>[added] Integer <code>sqrt</code> to the <code>op!</code> macro.</li>
<li>[added] Integer square root operator <code>SquareRoot</code> with alias <code>Sqrt</code>.</li>
<li>[fixed] Bug with attempting to create U1024 type alias twice.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/paholg/typenum/commits/v1.12.0">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=typenum&package-manager=cargo&previous-version=1.10.0&new-version=1.12.0)
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>
build(deps): bump bincode from 1.0.0 to 1.2.1
Bumps [bincode](https://github.com/servo/bincode) from 1.0.0 to 1.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/servo/bincode/releases">bincode's releases</a>.</em></p>
<blockquote>
<h2>v1.2.1</h2>
<ul>
<li>Add impl Clone for bincode::Config (<a href="https://github-redirect.dependabot.com/servo/bincode/issues/282">#282</a>, thanks <a href="https://github.com/jean-airoldie">@jean-airoldie</a>)</li>
<li>Fix Emscripten build failures associated with i128 support (<a href="https://github-redirect.dependabot.com/servo/bincode/issues/281">#281</a>, thanks <a href="https://github.com/jstarry">@jstarry</a>)</li>
</ul>
<h2>v1.2.0</h2>
<ul>
<li>Add <a href="https://docs.rs/bincode/1.2.0/bincode/struct.Config.html#method.deserialize_from_seed"><code>Config::deserialize_from_seed</code></a> and <a href="https://docs.rs/bincode/1.2.0/bincode/struct.Config.html#method.deserialize_from_custom_seed"><code>Config::deserialize_from_custom_seed</code></a> (<a href="https://github-redirect.dependabot.com/servo/bincode/issues/275">#275</a>, thanks <a href="https://github.com/alecmocatta">@alecmocatta</a>)</li>
</ul>
<h2>v1.1.4</h2>
<ul>
<li>Specify required version of autcfg dependency (<a href="https://github-redirect.dependabot.com/servo/bincode/issues/268">#268</a>, thanks <a href="https://github.com/quininer">@quininer</a>)</li>
</ul>
<h2>v1.1.3</h2>
<ul>
<li>Add "encoding" category to crates.io metadata (<a href="https://github-redirect.dependabot.com/servo/bincode/issues/264">#264</a>, thanks <a href="https://github.com/kornelski">@kornelski</a>)</li>
</ul>
<h2>v1.1.2</h2>
<ul>
<li>Bump byteorder dependency to require 1.3.0 which performs automatic detection of i128 support (<a href="https://github-redirect.dependabot.com/servo/bincode/issues/262">#262</a>)</li>
</ul>
<h2>v1.1.1</h2>
<p>No release notes provided.</p>
<h2>v1.0.1</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b676754eee"><code>b676754</code></a> Release 1.2.1</li>
<li><a href="8ef223116d"><code>8ef2231</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/bincode/issues/281">#281</a> from jstarry/fix-emscripten-builds</li>
<li><a href="12f1415b9e"><code>12f1415</code></a> Added Clone impl to Config</li>
<li><a href="44d7dcf4c6"><code>44d7dcf</code></a> improve safety of fill_buffer - see issue <a href="https://github-redirect.dependabot.com/servo/bincode/issues/260">#260</a></li>
<li><a href="e2e5ce40e8"><code>e2e5ce4</code></a> Fix emscripten build failures due to lack of i128 support</li>
<li><a href="5e592529bc"><code>5e59252</code></a> Release 1.2.0.</li>
<li><a href="68149dd061"><code>68149dd</code></a> Release 1.1.5.</li>
<li><a href="67d66d7482"><code>67d66d7</code></a> Add tests</li>
<li><a href="a261bef776"><code>a261bef</code></a> add remaining _seed variants of deserialize functions</li>
<li><a href="f6043825a9"><code>f604382</code></a> Readme cleanup</li>
<li>Additional commits viewable in <a href="https://github.com/servo/bincode/compare/v1.0.0...v1.2.1">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=bincode&package-manager=cargo&previous-version=1.0.0&new-version=1.2.1)
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>
build(deps): bump miniz_oxide from 0.3.5 to 0.3.7
Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide) from 0.3.5 to 0.3.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Frommi/miniz_oxide/blob/master/CHANGELOG.md">miniz_oxide's changelog</a>.</em></p>
<blockquote>
<h2>0.3.7 (2020-04-30)</h2>
<h4>Bug Fixes</h4>
<ul>
<li><strong>deflate:</strong>
<ul>
<li>overflow panic with very large input buffer (<a href="https://github.com/Frommi/miniz_oxide/blob/master/f0b0e8fd">https://github.com/Frommi/miniz_oxide/blob/master/f0b0e8fd</a>)</li>
<li>compress_to_vec infinite loop (<a href="https://github.com/Frommi/miniz_oxide/blob/master/f3299c8e">https://github.com/Frommi/miniz_oxide/blob/master/f3299c8e</a>, closes <a href="https://github.com/Frommi/miniz_oxide/blob/master/75">#https://github.com/Frommi/miniz_oxide/blob/master/75</a>)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Frommi/miniz_oxide/commits/0.3.7">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=miniz_oxide&package-manager=cargo&previous-version=0.3.5&new-version=0.3.7)
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>
build(deps): bump gstreamer-audio from 0.15.3 to 0.15.7
Bumps gstreamer-audio from 0.15.3 to 0.15.7.
[](https://dependabot.com/compatibility-score/?dependency-name=gstreamer-audio&package-manager=cargo&previous-version=0.15.3&new-version=0.15.7)
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>
Implement CanvasRenderingContext2d.fillText
The PR consists of broadly two main changes:
- Implementation of Canvas2dRenderingContext.font
- Basic implementation of Canvas2dRenderingContext.fillText
Although I am not fully sure about the long term goals for the canvas backend in Servo, I assumed limited scope for font and text handling (should support simple text drawing with font selection) in the current implementation as I believe a more complete implementation would eventually be brought in as a part of #22957.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#11681
- [x] There are tests for these changes
build(deps): bump vcpkg from 0.2.8 to 0.2.10
Bumps [vcpkg](https://github.com/mcgoo/vcpkg-rs) from 0.2.8 to 0.2.10.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mcgoo/vcpkg-rs/blob/master/CHANGELOG.md">vcpkg's changelog</a>.</em></p>
<blockquote>
<h2>[0.2.10] - 2020-06-10</h2>
<h3>Added</h3>
<ul>
<li>add support for "dynamic crt, static everything else" on Windows, using vcpkg triplet x64-windows-static-md.</li>
</ul>
<h2>[0.2.9] - 2020-05-31</h2>
<h3>Added</h3>
<ul>
<li>add support for <code>cargo-vcpkg</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8ad0bba6b2"><code>8ad0bba</code></a> change 'install' key to be named 'dependencies'</li>
<li><a href="e9625406ff"><code>e962540</code></a> refactor triplet selection</li>
<li><a href="bd5dae9027"><code>bd5dae9</code></a> changelog and version</li>
<li><a href="ab7ccbbedd"><code>ab7ccbb</code></a> clean up</li>
<li><a href="7768418260"><code>7768418</code></a> try to build vcpkg with apple clang >=11 if available</li>
<li><a href="1572e5dd1b"><code>1572e5d</code></a> take a clippy suggestion</li>
<li><a href="e0418237ba"><code>e041823</code></a> add install instructions</li>
<li><a href="eb3001a332"><code>eb3001a</code></a> mention build.rs</li>
<li><a href="1284e7af99"><code>1284e7a</code></a> fix some things suggested by clippy</li>
<li><a href="9095ce67f3"><code>9095ce6</code></a> cargo-vcpkg 0.1.2</li>
<li>Additional commits viewable in <a href="https://github.com/mcgoo/vcpkg-rs/compare/vcpkg-rs-0.2.8...vcpkg-rs-0.2.10">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=vcpkg&package-manager=cargo&previous-version=0.2.8&new-version=0.2.10)
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>