build(deps): bump serde_json from 1.0.62 to 1.0.64
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.62 to 1.0.64.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.64</h2>
<ul>
<li>Fix deserialization panic on deserializing <code>RawValue</code> from a slice containing non-utf8 bytes (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/755">#755</a>)</li>
</ul>
<h2>v1.0.63</h2>
<ul>
<li>Provide <code>Entry::and_modify</code> method on <a href="https://docs.rs/serde_json/1.0/serde_json/map/enum.Entry.html">serde_json::map::Entry</a> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/754">#754</a>, thanks <a href="https://github.com/Krout0n"><code>@Krout0n</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d0d80783d3"><code>d0d8078</code></a> Release 1.0.64</li>
<li><a href="8d3b890ef8"><code>8d3b890</code></a> Fix IoRead's raw buffering on invalid utf-8 as well</li>
<li><a href="054326ea8a"><code>054326e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/757">#757</a> from serde-rs/panicraw</li>
<li><a href="c64c1d7429"><code>c64c1d7</code></a> Fix panic deserializing RawValue from invalid utf-8 bytes</li>
<li><a href="2f812d0363"><code>2f812d0</code></a> Add test of RawValue deserialization from invalid utf-8</li>
<li><a href="9bcb08fd92"><code>9bcb08f</code></a> Fix unnecessary trailing semicolon lints in test suite</li>
<li><a href="d400899cbd"><code>d400899</code></a> Release 1.0.63</li>
<li><a href="461f2bfc39"><code>461f2bf</code></a> Merge pull request 754 from Krout0n/entry#and_modify</li>
<li><a href="6e140a9192"><code>6e140a9</code></a> Add Entry::and_modify</li>
<li><a href="64dd1e03e0"><code>64dd1e0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/752">#752</a> from SamuelQZQ/patch-2</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.62...v1.0.64">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.62&new-version=1.0.64)
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>
This fixes the failures in bug 1671573 and just works thanks to the
invalidation improvements I did for :is / :where.
Added a couple tests for invalidation which is the tricky bit. 001 is a
very straight-forward test, 002 is the :is test but with :is() replaced
by double-:not().
This also fixes default namespaces inside :is() / :where(), which are
supposed to get ignored, but aren't. Added tests for that and for the
pre-existing :not() behavior which Chrome doesn't quite get right.
Differential Revision: https://phabricator.services.mozilla.com/D94142
Adjust is-where-parsing.html to work with both the new and old behavior,
and add a test for the new behavior.
Depends on D90049
Differential Revision: https://phabricator.services.mozilla.com/D90050
Adjust is-where-parsing.html to work with both the new and old behavior,
and add a test for the new behavior.
Depends on D90049
Differential Revision: https://phabricator.services.mozilla.com/D90050
This is strictly better and more flexible, but can change specificity so
have a pref in case it causes trouble. I doubt it will though, the
specificity rules of :is() make more sense, and my gut feeling is that
:-moz-any is not very used on the wild.
Make it early-beta-or-earlier for now to minimize risk, once this is on
nightly for a bit we can enable it everywhere.
Differential Revision: https://phabricator.services.mozilla.com/D86696
I also update the wpt becasue it seems the original one lets <ratio>
support the addition. However, the spec says "Addition of <ratio>s is not
possible".
Differential Revision: https://phabricator.services.mozilla.com/D106219
And alias :-moz-ui-valid and :-moz-ui-invalid to them.
There are CSSWG resolutions for these for quite a while, and spec for
user-invalid.
Differential Revision: https://phabricator.services.mozilla.com/D105966
No other browser supports anything like this and we don't even have
internal users. Only uses of this I've found on the wild were just
resetting the box shadow internal styling we added in bug 582277 (and
since removed in bug 600151).
Differential Revision: https://phabricator.services.mozilla.com/D105955
This reduces the amount of assembly instructions generated by this
function from 18k+ to ~800.
This should make reasoning about its stack space usage sane, and should
fix the ASAN stack overflows, but also we should take this regardless,
because it's saner and makes reading it simpler.
I also think that the writing_mode shenanigans is fixing a bug (I think
before this, we'd pick the first physical value which mapped to any of
the properties, which is wrong), but I haven't bothered looking for a
test-case that fails before my patch. The relevant WPTs
(css/css-logical/animation*) still pass.
Differential Revision: https://phabricator.services.mozilla.com/D105342
This brings the time down to 1.6ms from 4.8ms on the test-case in the
bug. This should be improvable too, but I think this is a nice
improvement for regular styling as well.
Differential Revision: https://phabricator.services.mozilla.com/D105187
This doesn't use a full bitmap for every single rule type, as we only expect
that keyframe, page, and style rules will be checked.
Differential Revision: https://phabricator.services.mozilla.com/D104949
Actually, there's not so much we can improve right now, in the sense
that:
* We need the ::-moz-page-content pseudo-element to be able to set
`display` on the page, since that's a style rule rather than a @page
rule. We could get away without it.
* Keeping the current code-path (slightly cleaned up) is less code, for
now at least. We can have a separate code-path or what not that
actually performs the @page rule selector-matching and what not if
needed when we get to named pages or other page selectors. Selectors
like :first should be pretty trivial to implement, actually.
We make some paged mode anon boxes non-inheriting anon boxes. This
allows us to share the styles and is generally nicer. They don't need to
inherit from anywhere.
We could remove the origin handling and don't look at UA rules or what
not, but it seems pretty harmless to do that.
We also fix the name of the pseudo-elements to match the capitalization.
Differential Revision: https://phabricator.services.mozilla.com/D104772
Some GTK themes use very soft colors for selection backgrounds, using
darker colors for the text. This makes the tab and focus outlines in the
tab bar not have sufficient contrast with usual backgrounds.
I needed to do this for bug 1690778, but it seems worth doing it on the
front-end as well.
Differential Revision: https://phabricator.services.mozilla.com/D104547