Bump brotli from 3.3.0 to 3.3.4
Bumps [brotli](https://github.com/dropbox/rust-brotli) from 3.3.0 to 3.3.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/dropbox/rust-brotli/commits/3.3.4">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Bump unicode-width from 0.1.8 to 0.1.9
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.8 to 0.1.9.
<details>
<summary>Commits</summary>
<ul>
<li><a href="c6a6c72ac6"><code>c6a6c72</code></a> Update to 0.1.9</li>
<li><a href="b58e85b527"><code>b58e85b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/unicode-rs/unicode-width/issues/23">#23</a> from chrisduerr/unicode_14</li>
<li><a href="ce07223db9"><code>ce07223</code></a> Update to Unicode 14</li>
<li>See full diff in <a href="https://github.com/unicode-rs/unicode-width/compare/v0.1.8...v0.1.9">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Bump unwind-sys from 0.1.1 to 0.1.3
Bumps [unwind-sys](https://github.com/sfackler/rstack) from 0.1.1 to 0.1.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/sfackler/rstack/releases">unwind-sys's releases</a>.</em></p>
<blockquote>
<h2>unwind-sys 0.1.3</h2>
<ul>
<li>Fixed definitions for libunwind 1.6.0.</li>
</ul>
<h2>unwind-sys 0.1.2</h2>
<ul>
<li>Added support for i686-unknown-linux-gnu and aarch64-unknown-linux-gnu.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4a78a52a42"><code>4a78a52</code></a> Release unwind-sys 0.1.3</li>
<li><a href="451b1feb53"><code>451b1fe</code></a> continue testing 1.4.0</li>
<li><a href="b06039cbca"><code>b06039c</code></a> Update arm64 getcontext for 1.6.0</li>
<li><a href="4b9e3a795e"><code>4b9e3a7</code></a> fix 1.6.0 aarch64 layout</li>
<li><a href="3459b36d60"><code>3459b36</code></a> import asm</li>
<li><a href="e53fb7fd77"><code>e53fb7f</code></a> Update to stable inline asm</li>
<li><a href="eba1c1b078"><code>eba1c1b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rstack/issues/19">#19</a> from sfackler/dependabot/cargo/env_logger-0.9</li>
<li><a href="2c3e517d49"><code>2c3e517</code></a> Update ci.yml</li>
<li><a href="700e9db2ee"><code>700e9db</code></a> Update env_logger requirement from 0.8 to 0.9</li>
<li><a href="ab49caaa23"><code>ab49caa</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rstack/issues/18">#18</a> from sfackler/dependabot/add-v2-config-file</li>
<li>Additional commits viewable in <a href="https://github.com/sfackler/rstack/compare/rstack-0.1.1...unwind-sys-0.1.3">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Bump half from 1.6.0 to 1.8.2
Bumps [half](https://github.com/starkat99/half-rs) from 1.6.0 to 1.8.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/starkat99/half-rs/releases">half's releases</a>.</em></p>
<blockquote>
<h2>1.8.2</h2>
<h3>Fixed</h3>
<ul>
<li>Remove cargo resolver=2 from manifest to resolve errors in older versions of Rust that still worked with 1.8.0. Going forward, MSRV increases will be major version increases. Fixes <a href="https://github-redirect.dependabot.com/starkat99/half-rs/issues/48">#48</a>.</li>
</ul>
<h2>1.8.1 [YANKED]</h2>
<h3><em><strong>Yanked</strong></em></h3>
<p><em>Not recommended due to introducing compilation error in Rust versions that worked with 1.8.0.</em></p>
<h3>Changed</h3>
<ul>
<li>Now uses cargo resolver version 2 to prevent dev-dependencies from enabling <code>std</code> feature on optional dependencies.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed compile failure when <code>std</code> feature is not enabled and <code>num-traits</code> is enabled under new resolver. Now properly uses <code>libm</code> num-traits feature.</li>
</ul>
<h2>1.8.0</h2>
<h3>Changed</h3>
<ul>
<li>Now always implements <code>Add</code>, <code>Div</code>, <code>Mul</code>, <code>Neg</code>, <code>Rem</code>, and <code>Sub</code> traits. Previously, these were only implemented under the <code>num-traits</code> feature. Keep in mind they still convert to <code>f32</code> and back in the implementation.</li>
<li>Minimum supported Rust version is now 1.51.</li>
<li>Made crate package <a href="https://reuse.software/">REUSE compliant</a>.</li>
<li>Docs now use intra-doc links instead of manual (and hard to maintain) links.</li>
<li>The following methods on both <code>f16</code> and <code>bf16</code> are now <code>const</code>:
<ul>
<li><code>to_le_bytes</code></li>
<li><code>to_be_bytes</code></li>
<li><code>to_ne_bytes</code></li>
<li><code>from_le_bytes</code></li>
<li><code>from_be_bytes</code></li>
<li><code>from_ne_bytes</code></li>
<li><code>is_normal</code></li>
<li><code>classify</code></li>
<li><code>signum</code></li>
</ul>
</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added optional implementations of <code>zerocopy</code> traits <code>AsBytes</code> and <code>FromBytes</code> under <code>zerocopy</code> cargo feature. By <a href="https://github.com/samcrow"><code>@samcrow</code></a>.</li>
<li>Implemented the <code>core::iter::Product</code> and <code>core::iter::Sum</code> traits, with the same caveat as above about converting to <code>f32</code> and back under the hood.</li>
<li>Added new associated const <code>NEG_ONE</code> to both <code>f16</code> and <code>bf16</code>.</li>
<li>Added the following new methods on both <code>f16</code> and <code>bf16</code>:
<ul>
<li><code>copysign</code></li>
<li><code>max</code></li>
<li><code>min</code></li>
<li><code>clamp</code></li>
</ul>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a number of minor lints discovered due to improved CI.</li>
</ul>
<h2>1.7.1</h2>
<h3>Fixed</h3>
<ul>
<li>Docs.rs now generates docs for <code>bytemuck</code> and <code>num-traits</code> optional features.</li>
</ul>
<h2>1.7.0</h2>
<h3>Added</h3>
<ul>
<li>Added optional implementations of <code>bytemuck</code> traits <code>Zeroable</code> and <code>Pod</code> under <code>bytemuck</code> cargo feature. By <a href="https://github.com/charles-r-earp"><code>@charles-r-earp</code></a>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/starkat99/half-rs/blob/main/CHANGELOG.md">half's changelog</a>.</em></p>
<blockquote>
<h2>[1.8.2] - 2021-10-22 <!-- raw HTML omitted --><!-- raw HTML omitted --></h2>
<h3>Fixed</h3>
<ul>
<li>Remove cargo resolver=2 from manifest to resolve errors in older versions of Rust that still
worked with 1.8.0. Going forward, MSRV increases will be major version increases. Fixes <a href="https://github-redirect.dependabot.com/starkat99/half-rs/issues/48">#48</a>.</li>
</ul>
<h2>[1.8.1] - 2021-10-21 - <strong>Yanked</strong> <!-- raw HTML omitted --><!-- raw HTML omitted --></h2>
<h3><em><strong>Yanked</strong></em></h3>
<p><em>Not recommended due to introducing compilation error in Rust versions that worked with 1.8.0.</em></p>
<h3>Changed</h3>
<ul>
<li>Now uses cargo resolver version 2 to prevent dev-dependencies from enabling <code>std</code> feature on
optional dependencies.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed compile failure when <code>std</code> feature is not enabled and <code>num-traits</code> is enabled under new
resolver. Now properly uses <code>libm</code> num-traits feature.</li>
</ul>
<h2>[1.8.0] - 2021-10-13 <!-- raw HTML omitted --><!-- raw HTML omitted --></h2>
<h3>Changed</h3>
<ul>
<li>Now always implements <code>Add</code>, <code>Div</code>, <code>Mul</code>, <code>Neg</code>, <code>Rem</code>, and <code>Sub</code> traits.
Previously, these were only implemented under the <code>num-traits</code> feature. Keep in mind they still
convert to <code>f32</code> and back in the implementation.</li>
<li>Minimum supported Rust version is now 1.51.</li>
<li>Made crate package <a href="https://reuse.software/">REUSE compliant</a>.</li>
<li>Docs now use intra-doc links instead of manual (and hard to maintain) links.</li>
<li>The following methods on both <code>f16</code> and <code>bf16</code> are now <code>const</code>:
<ul>
<li><code>to_le_bytes</code></li>
<li><code>to_be_bytes</code></li>
<li><code>to_ne_bytes</code></li>
<li><code>from_le_bytes</code></li>
<li><code>from_be_bytes</code></li>
<li><code>from_ne_bytes</code></li>
<li><code>is_normal</code></li>
<li><code>classify</code></li>
<li><code>signum</code></li>
</ul>
</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added optional implementations of <code>zerocopy</code> traits <code>AsBytes</code> and <code>FromBytes</code>
under <code>zerocopy</code> cargo feature. By [<a href="https://github.com/samcrow"><code>@samcrow</code></a>].</li>
<li>Implemented the <code>core::iter::Product</code> and <code>core::iter::Sum</code> traits, with the same caveat as above
about converting to <code>f32</code> and back under the hood.</li>
<li>Added new associated const <code>NEG_ONE</code> to both <code>f16</code> and <code>bf16</code>.</li>
<li>Added the following new methods on both <code>f16</code> and <code>bf16</code>:
<ul>
<li><code>copysign</code></li>
<li><code>max</code></li>
<li><code>min</code></li>
<li><code>clamp</code></li>
</ul>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a number of minor lints discovered due to improved CI.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9fbefd4517"><code>9fbefd4</code></a> remove resolver=2 from manifest</li>
<li><a href="28b07e0e52"><code>28b07e0</code></a> bump version to 1.8.1</li>
<li><a href="661708e911"><code>661708e</code></a> fix num-traits implementation bug when no_std</li>
<li><a href="727f5fb4a4"><code>727f5fb</code></a> fix changelog organization</li>
<li><a href="523e79154b"><code>523e791</code></a> bump version to 1.8.0</li>
<li><a href="31d445abbb"><code>31d445a</code></a> clarify math operations in readme</li>
<li><a href="17b590893f"><code>17b5908</code></a> impl Product and Sum traits</li>
<li><a href="1f21fade49"><code>1f21fad</code></a> impl ref versions of traits for ease of use</li>
<li><a href="109a8bc96a"><code>109a8bc</code></a> add copysign, min, max, and clamp fns</li>
<li><a href="78affaaab0"><code>78affaa</code></a> added const to more functions</li>
<li>Additional commits viewable in <a href="https://github.com/starkat99/half-rs/compare/v1.6.0...v1.8.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
add custom debug formatting for display
Signed-off-by: s-maurice <51819025+s-maurice@users.noreply.github.com>
<!-- Please describe your changes on the following line: -->
Implemented `Debug` for `Display` using `debug_struct`.
---
<!-- 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#28755 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is a debug formatting display change.
<!-- 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. -->
Ensure reflow damage is calculated when hypothetical box changes.
The layout traversal code has special handling for deciding whether to traverse text nodes or not. Specifically, unless the parent of a text node is restyled in a way that requires reconstructing the text fragment, we skip processing the text nodes as a performance optimization.
The optimization causes a problem in hypothetical-box-dynamic.html, which tests that the rendering doesn't change when an absolutely-positioned span has an explicit block display removed (because absolutely-positioned elements should have hypothetical block boxes, regardless). However, the code to decide what restyling damage occurs when the block display is removed did not consider the hypothetical display, only the internal display value that treats absolute positioning as block display.
By explicitly comparing the hypothetical display as well as the internal display, we ensure the element is restyled appropriately and the layout matches after the change.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes
Send webrender message's data through IPCBytesChannel
<!-- 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 ##28738 (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. -->
For display list data, I tested with https://svelte.dev/docs in release build. I seems to have 20~30% improvement on `Display List Construction` when I profiling.
For image data, I tested with http://slither.io/ (on the page for you to customize snek). It seems identical and I'm not sure where should I look at when profiling.
Change font serialisation to use IpcBytesReceiver
use `SerializedFontTemplate` and I`pcBytesReceiver` to send font template when responding to GetFontTemplate
---
<!-- 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#28731 (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. -->
move servo_version from out of config crate
`servo_version`'s contents are moved to `simpleservo::servo_version` in `ports/libsimpleservo/api/src/lib.rs`.
`servo_version`'s contents are also duplicated in a new function `servo_version` in `ports/winit/main2.rs`.
It's my first PR, I'm not really sure what is required. Let me know what I need to change to make this work. Thanks!
Signed-off-by: s-maurice <51819025+s-maurice@users.noreply.github.com>
<!-- 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#28719 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they do not change any logic.
<!-- 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. -->
Disable UWP packaging on CI.
Due to #28721, we cannot merge any PRs until we regenerate the code signing certificate for UWP builds. Until that happens, let's turn off UWP packaging on PRs.
Sync WPT with upstream manually (20-01-2022)
This is a follow-up for https://github.com/servo/servo/pull/28592. Because we still have a gap to sync from 2021/09/07, I'd like to merge this one and try to fix the nightly sync action PR. 🙏