Update mozjs
Requires:
https://github.com/servo/mozjs/pull/268https://github.com/servo/rust-mozjs/pull/535
---
<!-- 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. -->
build(deps): bump openssl-sys from 0.9.60 to 0.9.61
Bumps [openssl-sys](https://github.com/sfackler/rust-openssl) from 0.9.60 to 0.9.61.
<details>
<summary>Commits</summary>
<ul>
<li><a href="4e4e9b07fa"><code>4e4e9b0</code></a> Release openssl-sys v0.9.61</li>
<li><a href="5fa5654fa2"><code>5fa5654</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1431">#1431</a> from nospam3089/fix/modern_generate_parameters</li>
<li><a href="c7f6f24ef3"><code>c7f6f24</code></a> Update openssl/src/dh.rs</li>
<li><a href="6a32dc99a9"><code>6a32dc9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1429">#1429</a> from baloo/baloo/cipher-nid</li>
<li><a href="62acbe3a3e"><code>62acbe3</code></a> Use DH_generate_parameters_ex()</li>
<li><a href="9257c55bfa"><code>9257c55</code></a> Expose NID from cipher</li>
<li><a href="ff94c7f503"><code>ff94c7f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1427">#1427</a> from jiegec/add-sm3</li>
<li><a href="fb5f94e034"><code>fb5f94e</code></a> Pass OPENSSL_NO_SM3 definition to rust properly</li>
<li><a href="6bb010f476"><code>6bb010f</code></a> Fix NID of SM3 series in libreSSL</li>
<li><a href="7819f3e7d8"><code>7819f3e</code></a> Fix NID definitions of SM3</li>
<li>Additional commits viewable in <a href="https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.60...openssl-sys-v0.9.61">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=openssl-sys&package-manager=cargo&previous-version=0.9.60&new-version=0.9.61)
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 unicode-xid from 0.2.0 to 0.2.1
Bumps [unicode-xid](https://github.com/unicode-rs/unicode-xid) from 0.2.0 to 0.2.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/unicode-rs/unicode-xid/commits/v0.2.1">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=unicode-xid&package-manager=cargo&previous-version=0.2.0&new-version=0.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 regex from 1.4.2 to 1.4.5
Bumps [regex](https://github.com/rust-lang/regex) from 1.4.2 to 1.4.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.4.5 (2021-03-14)</h1>
<p>This is a small patch release that fixes a regression in the size of a <code>Regex</code>
in the 1.4.4 release. Prior to 1.4.4, a <code>Regex</code> was 552 bytes. In the 1.4.4
release, it was 856 bytes due to internal changes. In this release, a <code>Regex</code>
is now 16 bytes. In general, the size of a <code>Regex</code> was never something that was
on my radar, but this increased size in the 1.4.4 release seems to have crossed
a threshold and resulted in stack overflows in some programs.</p>
<ul>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/750">#750</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/pull/750">rust-lang/regex#750</a>):
Fixes stack overflows seemingly caused by a large <code>Regex</code> size by decreasing
its size.</li>
</ul>
<h1>1.4.4 (2021-03-11)</h1>
<p>This is a small patch release that contains some bug fixes. Notably, it also
drops the <code>thread_local</code> (and <code>lazy_static</code>, via transitivity) dependencies.</p>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/362">#362</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/pull/362">rust-lang/regex#362</a>):
Memory leaks caused by an internal caching strategy should now be fixed.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/576">#576</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/pull/576">rust-lang/regex#576</a>):
All regex types now implement <code>UnwindSafe</code> and <code>RefUnwindSafe</code>.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/728">#728</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/pull/749">rust-lang/regex#749</a>):
Add missing <code>Replacer</code> impls for <code>Vec<u8></code>, <code>String</code>, <code>Cow</code>, etc.</li>
</ul>
<h1>1.4.3 (2021-01-08)</h1>
<p>This is a small patch release that adds some missing standard trait
implementations for some types in the public API.</p>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/734">#734</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/pull/734">rust-lang/regex#734</a>):
Add <code>FusedIterator</code> and <code>ExactSizeIterator</code> impls to iterator types.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/735">#735</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/pull/735">rust-lang/regex#735</a>):
Add missing <code>Debug</code> impls to public API types.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ff283badce"><code>ff283ba</code></a> 1.4.5</li>
<li><a href="78c7cefbc9"><code>78c7cef</code></a> impl: substantially reduce regex stack size</li>
<li><a href="951b8b93bb"><code>951b8b9</code></a> 1.4.4</li>
<li><a href="5a3570163b"><code>5a35701</code></a> regex-syntax-0.6.23</li>
<li><a href="967a0905a3"><code>967a090</code></a> changelog: 1.4.4</li>
<li><a href="e040c1b063"><code>e040c1b</code></a> impl: drop thread_local dependency</li>
<li><a href="5107293238"><code>5107293</code></a> doc: refine use of the word 'unsafe'</li>
<li><a href="691ec58171"><code>691ec58</code></a> bench: reduce huge regex a bit</li>
<li><a href="f858ff321d"><code>f858ff3</code></a> deps: update quickcheck and rand</li>
<li><a href="bf7f8f19c6"><code>bf7f8f1</code></a> doc: use 'text' instead of 'ignore' for regexes</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/regex/compare/1.4.2...1.4.5">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=regex&package-manager=cargo&previous-version=1.4.2&new-version=1.4.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>
Winit 0.24.0 and surfman
<!-- Please describe your changes on the following line: -->
I've updated Servo to Winit 0.24.0 based on the previous work in #26394.
I've basically rebased master onto his jdm/winit branch which had the bulk of the work and I brute forced it till it built correcting things here and there as I could.
The build reports a few warnings:
```
00:04:59 Mar 03 10:20:06 warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
00:04:59 Mar 03 10:20:06 --> ports/winit/headed_window.rs:753:12
00:04:59 Mar 03 10:20:06 |
00:04:59 Mar 03 10:20:06 753 | if input.modifiers.shift() {
00:04:59 Mar 03 10:20:06 | ^^^^^^^^^^^^^^^
00:04:59 Mar 03 10:20:06 |
00:04:59 Mar 03 10:20:06 = note: `#[warn(deprecated)]` on by default
00:04:59 Mar 03 10:20:06
00:04:59 Mar 03 10:20:06 warning: use of deprecated field `winit::event::KeyboardInput::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
00:04:59 Mar 03 10:20:06 --> ports/winit/keyutils.rs:263:34
00:04:59 Mar 03 10:20:06 |
00:04:59 Mar 03 10:20:06 263 | modifiers: get_modifiers(input.modifiers),
00:04:59 Mar 03 10:20:06 | ^^^^^^^^^^^^^^^
00:04:59 Mar 03 10:20:06
00:07:06 Mar 03 10:22:13 warning: 2 warnings emitted
00:07:06 Mar 03 10:22:13
00:07:06 Mar 03 10:22:13 Completed servo v0.0.1 bin "servo" in 132.7s
00:07:06 Mar 03 10:22:13 Finished dev [unoptimized + debuginfo] target(s) in 6m 59s
00:07:08 Mar 03 10:22:15 [Warning] Could not generate notification!
00:07:08 Mar 03 10:22:15 Build Completed in 0:07:01
```
And there are a few commits namely b27e09e009 which I'm not entirely sure of.
I've intentionally left the surfman patch in Cargo.toml so someone else can validate this branch.
Unit tests and smoke test run successfully.
Servo runs but I'm not familiar enough with it to validate how well it does. The window opens and content loads though.
My Rust foo is not great and I could use some help fixing those warnings.
Regards,
PECastro
---
<!-- 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
A few warnings ...
- [x ] `./mach test-tidy` does not report any errors
A few duplicate version statements but no errors.
- [x] These changes fix#26394
- [x] There are tests for these changes
- [ ] 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 byteorder from 1.4.2 to 1.4.3
Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.4.2 to 1.4.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="abffade823"><code>abffade</code></a> 1.4.3</li>
<li><a href="83f9eeaa7f"><code>83f9eea</code></a> impl: change as_ptr to as_mut_ptr to fix Miri error</li>
<li><a href="5d9d038648"><code>5d9d038</code></a> impl: prefix unsafe macros with 'unsafe_'</li>
<li><a href="2819796bd5"><code>2819796</code></a> doc: use HTTPS in links</li>
<li>See full diff in <a href="https://github.com/BurntSushi/byteorder/compare/1.4.2...1.4.3">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=byteorder&package-manager=cargo&previous-version=1.4.2&new-version=1.4.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>
Add PRECONDITION_FAILED to grouping_formatter.py
<!-- Please describe your changes on the following line: -->
Port some code as described in #25756
---
<!-- 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#25756 (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. -->
Use swap() instead of load()/store() in get_and_reset_text_shaping_performance_counter()
<!-- Please describe your changes on the following line: -->
Replaced usage of `.load()` then `.store()` with `.swap()` to prevent possible atomicity issues.
---
<!-- 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#28245
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because: They do not change function of the code.
<!-- 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. -->