Update wgpu and WebGPU CTS to include copy validation tests
<!-- 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
<!-- 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. -->
Bump smallvec from 1.4.1 to 1.4.2
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.4.1 to 1.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/servo/rust-smallvec/releases">smallvec's releases</a>.</em></p>
<blockquote>
<h2>v1.4.2</h2>
<ul>
<li><code>insert_many</code> no longer leaks elements if the provided iterator panics (<a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/213">#213</a>).</li>
<li>The unstable <code>const_generics</code> and <code>specialization</code> features are updated to work with the most recent nightly Rust toolchain (<a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/232">#232</a>).</li>
<li>Internal code cleanup (<a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/229">#229</a>, <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/231">#231</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9ae70763ec"><code>9ae7076</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/233">#233</a> - mbrubeck:bump, r=jdm</li>
<li><a href="ba0f462138"><code>ba0f462</code></a> Version 1.4.2</li>
<li><a href="87500c3730"><code>87500c3</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/232">#232</a> - c410-f3r:patch-1, r=mbrubeck</li>
<li><a href="0e23d2a307"><code>0e23d2a</code></a> Use min_const_generics</li>
<li><a href="f7e01ef268"><code>f7e01ef</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/230">#230</a> - Atul9:add-cargo-fmt-to-travis-config, r=mbrubeck</li>
<li><a href="f7c7157426"><code>f7c7157</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/231">#231</a> - Atul9:cargo-fmt, r=mbrubeck</li>
<li><a href="7f7ac30ef0"><code>7f7ac30</code></a> Format code using 'cargo fmt'</li>
<li><a href="b3fada197f"><code>b3fada1</code></a> Add cargo fmt to travis build config</li>
<li><a href="cce91caf4c"><code>cce91ca</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/servo/rust-smallvec/issues/213">#213</a> - mbrubeck:leak, r=jdm</li>
<li><a href="8ddf61330d"><code>8ddf613</code></a> Fix leak on panic in <code>insert_many</code>.</li>
<li>Additional commits viewable in <a href="https://github.com/servo/rust-smallvec/compare/v1.4.1...v1.4.2">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=smallvec&package-manager=cargo&previous-version=1.4.1&new-version=1.4.2)
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>
Bump serde from 1.0.111 to 1.0.115
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.111 to 1.0.115.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.115</h2>
<ul>
<li>Support <code>#[serde(flatten)]</code> on a field whose type is a type parameter and concrete type is <code>()</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1873">#1873</a>)</li>
</ul>
<h2>v1.0.114</h2>
<ul>
<li>Improve <code>packed</code> repr matching to support deriving Serialize for structs having <code>repr(C, packed)</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1813">#1813</a>, thanks <a href="https://github.com/TannerRogalsky">@TannerRogalsky</a>)</li>
</ul>
<h2>v1.0.113</h2>
<ul>
<li>Improve diagnostic when a serde trait is not implemented (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1827">#1827</a>, thanks <a href="https://github.com/taiki-e">@taiki-e</a>)</li>
</ul>
<h2>v1.0.112</h2>
<ul>
<li>Support <code>serde(flatten)</code> on map types where the Serializer only works with serialize_entry (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1837">#1837</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2ef60b62ac"><code>2ef60b6</code></a> Release 1.0.115</li>
<li><a href="e6f086d85e"><code>e6f086d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1874">#1874</a> from dtolnay/flatunit</li>
<li><a href="bf76f50294"><code>bf76f50</code></a> Support deserializing flattened unit</li>
<li><a href="ba07075590"><code>ba07075</code></a> Support serializing flattened unit</li>
<li><a href="26186bddd1"><code>26186bd</code></a> Add test for flattened unit</li>
<li><a href="53b9871b17"><code>53b9871</code></a> Quote no longer requires high recursion</li>
<li><a href="f8787c3ca8"><code>f8787c3</code></a> Suppress match_like_matches_macro clippy lint</li>
<li><a href="3022064f84"><code>3022064</code></a> Suppress option_if_let_else clippy pedantic lint</li>
<li><a href="9e140a2071"><code>9e140a2</code></a> Tweak yaml format blurb</li>
<li><a href="24e6acbfae"><code>24e6acb</code></a> Drop 'help or discussion' issue template</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.111...v1.0.115">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=serde&package-manager=cargo&previous-version=1.0.111&new-version=1.0.115)
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 GPUUncapturedErrorEvent
<!-- Please describe your changes on the following line: -->
A new `uncapturederror` variant is added to atoms/static-atoms.txt. `GPUUncapturedErrorEvent` is fired when an error is not captured by any `ErrorScope`.
All tests for error scopes `PASS` now.
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: -->
- [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. -->
Notify devtools of session history traversals
This makes the remote devtools and devtools panel in FxR clear the console when going backwards and forwards through session history.
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#27525
- [x] These changes do not require tests because no devtools tests.
Fix missing canvas text on UWP
This addresses the missing fonts under UWP by updating font-kit and assorted dependencies that all depend on older incompatible versions of freetype. This also works around #27492 by using a fork of webrender that cherry-picks required dependency updates without bringing in the commit that exposes an ANGLE crash.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#27515
- [x] These changes do not require tests because no UWP tests.
Do not load srcdoc iframes synchronously
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#24718
- [x] There are tests for these changes
Canvas text and macOS font fixes
These changes work around a source of panics by skipping glyphs that don't exist when drawing text to the canvas. Ideally we would have font fallback and/or tofu characters, but that's a larger project than I wanted to get into right now.
Relatedly, while investigating the non-panic errors observed in #27476, I realized that the underlying source of #24622 could be dealt with because we shouldn't actually need to open the CTFont by a file path to get the bytes, since we already have bytes available that we use to create the CTFont.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#24622 and fix#27476 and fix the panic observed in #20445.
- [x] There are tests for these changes
Bump hashbrown from 0.8.1 to 0.8.2
Bumps [hashbrown](https://github.com/rust-lang/hashbrown) from 0.8.1 to 0.8.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md">hashbrown's changelog</a>.</em></p>
<blockquote>
<h2>[v0.8.2] - 2020-08-08</h2>
<h3>Changed</h3>
<ul>
<li>Avoid closures to improve compile times. (<a href="https://github-redirect.dependabot.com/rust-lang/hashbrown/issues/183">#183</a>)</li>
<li>Do not iterate to drop if empty. (<a href="https://github-redirect.dependabot.com/rust-lang/hashbrown/issues/182">#182</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="18ea4fe99a"><code>18ea4fe</code></a> Version 0.8.2</li>
<li><a href="4c55714885"><code>4c55714</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-lang/hashbrown/issues/184">#184</a> from Amanieu/rawiter_rules</li>
<li><a href="845b0f0a41"><code>845b0f0</code></a> Document RawIter guarantees</li>
<li><a href="09e43a8cf9"><code>09e43a8</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/rust-lang/hashbrown/issues/183">#183</a> - nnethercote:avoid-closures, r=Amanieu</li>
<li><a href="e47bec1556"><code>e47bec1</code></a> Avoid closures to improve compile times.</li>
<li><a href="7593ec95d0"><code>7593ec9</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/rust-lang/hashbrown/issues/182">#182</a> - jonhoo:fast-drop-empty, r=Amanieu</li>
<li><a href="284960cd74"><code>284960c</code></a> Do not iterate to drop if empty</li>
<li><a href="853d88d039"><code>853d88d</code></a> Auto merge of <a href="https://github-redirect.dependabot.com/rust-lang/hashbrown/issues/181">#181</a> - cbarrick:iter-probe, r=Amanieu</li>
<li><a href="28fab730dd"><code>28fab73</code></a> Fix a rustfmt error</li>
<li><a href="1434cf3319"><code>1434cf3</code></a> Refactor probing logic into an external iterator</li>
<li>See full diff in <a href="https://github.com/rust-lang/hashbrown/compare/v0.8.1...v0.8.2">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=hashbrown&package-manager=cargo&previous-version=0.8.1&new-version=0.8.2)
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>
Bump tungstenite from 0.11.0 to 0.11.1
Bumps [tungstenite](https://github.com/snapview/tungstenite-rs) from 0.11.0 to 0.11.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9d67240cab"><code>9d67240</code></a> cargo: add author</li>
<li><a href="1de6da9a3c"><code>1de6da9</code></a> Bump version</li>
<li><a href="939c4d181c"><code>939c4d1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/snapview/tungstenite-rs/issues/132">#132</a> from sdroege/sha-1-0.9</li>
<li><a href="849f248a94"><code>849f248</code></a> Update to sha-1 0.9</li>
<li><a href="fd7de42347"><code>fd7de42</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/snapview/tungstenite-rs/issues/110">#110</a> from najamelan/doc/mib</li>
<li><a href="6791dcc0d6"><code>6791dcc</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/snapview/tungstenite-rs/issues/119">#119</a> from kids300/master</li>
<li><a href="744bd87a41"><code>744bd87</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/snapview/tungstenite-rs/issues/130">#130</a> from Krisa/patch-1</li>
<li><a href="fe4d631c97"><code>fe4d631</code></a> Allow statically linking</li>
<li><a href="fb83e8c791"><code>fb83e8c</code></a> rm to_string</li>
<li><a href="16a33df195"><code>16a33df</code></a> fix ws subportocol lowercase header</li>
<li>Additional commits viewable in <a href="https://github.com/snapview/tungstenite-rs/compare/v0.11.0...v0.11.1">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=tungstenite&package-manager=cargo&previous-version=0.11.0&new-version=0.11.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>