Add stubs for HTMLCanvasElement.captureStream and WebRTC transceiver APIs
These stubs are hidden by default and only exist to allow getting past the relevant code that invokes them on hubs.mozilla.org.
Specifically, I changed the `text` field of `ScriptOrigin` from a
`DOMString` to an `Rc<DOMString>`. Then I updated all the related code
to work with an `Rc`.
This is just a first pass to get the code to compile. There are probably
more things I can do that will improve the code and further reduce
cloning.
Implemented HTMLFormElement.relList
<!-- Please describe your changes on the following line: -->
Updated the tests to reflect addition of rel and relList for HTMLFormElement, as well as porting those code snippets from HTMLAnchorElement.
---
<!-- 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#27252 (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. -->
Updated tests to reflect rel and relList in HTMLFormElement
Added AttrValue as style
Added attr
Updated outstanding test cases
Fixed formatting. Hopefully this time works
Implemented HTMLFormElement.relList
build(deps): bump adler from 0.2.2 to 0.2.3
Bumps [adler](https://github.com/jonas-schievink/adler) from 0.2.2 to 0.2.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jonas-schievink/adler/releases">adler's releases</a>.</em></p>
<blockquote>
<h2>v0.2.3</h2>
<ul>
<li>Process 4 Bytes at a time, improving performance by up to 50% (<a href="https://github-redirect.dependabot.com/jonas-schievink/adler/issues/2">#2</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/jonas-schievink/adler/blob/master/CHANGELOG.md">adler's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/jonas-schievink/adler/releases/tag/v0.2.3">0.2.3 - 2020-07-11</a></h2>
<ul>
<li>Process 4 Bytes at a time, improving performance by up to 50% (<a href="https://github-redirect.dependabot.com/jonas-schievink/adler/issues/2">#2</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="052fb30a86"><code>052fb30</code></a> Release 0.2.3</li>
<li><a href="b32d526574"><code>b32d526</code></a> Update changelog</li>
<li><a href="a875252c94"><code>a875252</code></a> Move algorithm into its own module</li>
<li><a href="1aad4dbcd4"><code>1aad4db</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/jonas-schievink/adler/issues/2">#2</a> from NathanaelLane/master</li>
<li><a href="d7f0da2743"><code>d7f0da2</code></a> rustfmt import alphabetization</li>
<li><a href="6caed1f1bd"><code>6caed1f</code></a> Remove all unsafe code and related infrastructure, thanks to insight from <a href="https://github.com/ja">@ja</a>...</li>
<li><a href="0cb41e6b8e"><code>0cb41e6</code></a> various improvements:</li>
<li><a href="4bc0273554"><code>4bc0273</code></a> Improve performance for short input slices.</li>
<li><a href="082e3cd7dd"><code>082e3cd</code></a> add alignment test and coerce intended alignment with repr ([u8; N] is by def...</li>
<li><a href="b0b72f247b"><code>b0b72f2</code></a> fix upstream rustfmt issues</li>
<li>Additional commits viewable in <a href="https://github.com/jonas-schievink/adler/compare/v0.2.2...v0.2.3">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=adler&package-manager=cargo&previous-version=0.2.2&new-version=0.2.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>
devtools: TabDescription actor
We could do better by creating the browsing context actor lazily, but that's good enough to re-enable devtools with a recent version of Firefox. fix#27113.
Support depth and stencil in webxr
<!-- Please describe your changes on the following line: -->
Creates a `DEPTH_STENCIL` attachment if one is provided by the webxr device.
---
<!-- 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 we don't reftest webxr
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Add a sessionavailable event that allows content to enter an XR session without a user gesture
<!-- Please describe your changes on the following line: -->
This allows servo to implement immersive web apps. https://immersive-web.github.io/webxr/#application-launch
---
<!-- 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 I'm not sure we should have a WPT for something this non-standard.
<!-- 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. -->
Mediadevices.enumeratedevices
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#26877
Add support for webxr cubemap and spherical 360 rendering
<!-- Please describe your changes on the following line: -->
Part of rendering webxr content as 360 video
---
<!-- 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 it's back-end rendering
<!-- 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. -->