Commit graph

24671 commits

Author SHA1 Message Date
Brian Birtles
ad22c7a369 style: Allow animations and transitions on ::marker
As per the following change to the spec:

6b3d7240b5

The additional failure annotation is added because we don't currently treat
text-combine-upright as non-animatable and this patch exposes the existing bug
(bug 1654195).

Differential Revision: https://phabricator.services.mozilla.com/D84308
2021-02-26 16:44:05 +01:00
Mats Palmgren
5382a99adb style: [css-grid] Make empty and all-whitespace strings in 'grid-template-areas' invalid.
Differential Revision: https://phabricator.services.mozilla.com/D84398
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
780beace00 style: Make stylesheet invalidation faster.
This fixes performance issues when there's a massive number of rules and
a massive DOM.

Instead of going through all rules for all the DOM, we now look stuff in
hashmaps.

Differential Revision: https://phabricator.services.mozilla.com/D83506
2021-02-26 16:44:05 +01:00
Cameron McCormack
5752e4a3a2 style: Don't use attribute selectors for determining if a select is a drop down or a list box.
Instead add a pseudo-class that does the expected size="" attribute parsing.

Removing the Gtk-specific rule setting the text color since it doesn't
seem to have any effect currently.

Differential Revision: https://phabricator.services.mozilla.com/D83448
2021-02-26 16:44:05 +01:00
Cameron McCormack
a2b016157e style: Hide range and number-input appearance values from content.
Forgot to follow up on these two remaining non-standard values that may have
been being used to reset a <meter> or <input type=number> back to its
original appearance, but which telemetry showed no usage of.

Differential Revision: https://phabricator.services.mozilla.com/D83598
2021-02-26 16:44:05 +01:00
Cameron McCormack
da503c4b48 style: Re-order Appearance values.
Differential Revision: https://phabricator.services.mozilla.com/D83437
2021-02-26 16:44:05 +01:00
Cameron McCormack
862b7d1249 style: Make appearance: button behave like auto on various elements.
Differential Revision: https://phabricator.services.mozilla.com/D83434
2021-02-26 16:44:05 +01:00
Cameron McCormack
f03883774b style: Avoid exposing appearance: range-thumb to content.
Differential Revision: https://phabricator.services.mozilla.com/D83433
2021-02-26 16:44:05 +01:00
Cameron McCormack
ab3791234e style: Mark appearance values that are only used internally as chrome-only.
Differential Revision: https://phabricator.services.mozilla.com/D83432
2021-02-26 16:44:05 +01:00
Cameron McCormack
21b6c69322 style: Remove appearance values not used by the browser or Web content.
Differential Revision: https://phabricator.services.mozilla.com/D83431
2021-02-26 16:44:05 +01:00
Cameron McCormack
8457666204 style: Change internal uses of -moz-appearance to appearance and -moz-default-appearance.
Uses of `-moz-appearance: none` are changed to `appearance: none`.

Uses of other values that are simply reverting the appearance back to
its default are changed to `appearance: auto`.

Uses of values in UA sheets that are defining the inherent appearance of
widgets are changed to:

  appearance: auto;
  -moz-default-appearance: <value>;

since those values are either no longer supported on (-moz-)appearance,
or are still supported but only in some limited form.

There are some uses of `-moz-appearance: textfield` on <input
type=number> elements that are renamed to `appearance: textfield`.

Differential Revision: https://phabricator.services.mozilla.com/D83430
2021-02-26 16:44:05 +01:00
Cameron McCormack
7ae2f8602e style: Defer to -moz-default-appearance when appearance is auto.
Differential Revision: https://phabricator.services.mozilla.com/D83429
2021-02-26 16:44:05 +01:00
Cameron McCormack
01efe3a459 style: Add unprefixed appearance property and make -moz-appearance and -webkit-appearance be aliases.
Differential Revision: https://phabricator.services.mozilla.com/D83428
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
9d3876bda0 style: Apply a grayscale filter to pages when monochrome.
This hooks the "monochrome" media query and co to the
nsIPrintSettings.printInColor setting.

This print setting we're using is not exposed in the print preview UI,
but you can test it setting the print.print_in_color preference to
"false", and then print preview will correctly show up greyscale'd.

Once this lands, the UI folks just have to use it as they see fit :)

I would've liked to add a proper rendering test, but the print reftests
check only whether the PDF text matches.

I could add a test to printpreview_helper.xhtml, but I'm refactoring
that file in bug 1648064 so I'd rather wait a bit and add it in a
separate bug. The test for the media feature should make sure that we
test that code path at least.

Differential Revision: https://phabricator.services.mozilla.com/D83552
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
1c8d4be6b2 style: Fix an off-by-one in the transition property iterator.
By the time we get to iterate over the longhands of a shorthand, we've
already advanced the range iterator, so we look at the next duration and
such, which causes this bug.

I'm seriously baffled that no existing test caught this when it
landed, neither in our internal test suite nor wpt...  :/

Differential Revision: https://phabricator.services.mozilla.com/D82396
2021-02-26 16:44:05 +01:00
Cameron McCormack
1f9d6ad5ef style: Remove unused function on Appearance.
Differential Revision: https://phabricator.services.mozilla.com/D82124
2021-02-26 16:44:05 +01:00
Cameron McCormack
87612b65c5 style: Remove unused StyleAppearance values.
The parsing of these values was disabled in bug 1554150.

Differential Revision: https://phabricator.services.mozilla.com/D82122
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
75b38efefd style: Have the destructor of CalcNode be never inline.
You tell me which other things need it... Copy-constructor? operator==?
and such?

Differential Revision: https://phabricator.services.mozilla.com/D73385
2021-02-26 16:44:05 +01:00
Zeke Medley
8ff565c86b style: Implement the prefers-contrast media-query.
Differential Revision: https://phabricator.services.mozilla.com/D79553
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
46df06b3e2 style: Use mozilla::Length rather than nscoord to store font sizes.
This avoids arbitrary precision loss when computing REM units and so on,
which is particularly important if we ever change the base of our app
units (but useful regardless).

Differential Revision: https://phabricator.services.mozilla.com/D79928
2021-02-26 16:44:05 +01:00
bors-servo
5916911281
Auto merge of #28201 - servo:rustup, r=jdm
Upgrade to rustc 1.52.0-nightly (a8486b64b 2021-02-24)
2021-02-25 18:40:03 -05:00
Simon Sapin
aa854ec2d2 Upgrade to rustc 1.52.0-nightly (a8486b64b 2021-02-24) 2021-02-25 20:31:43 +01:00
Simon Sapin
479a42a980 Reformat with rustfmt 1.4.36-nightly (7de6968 2021-02-07) 2021-02-25 20:31:42 +01:00
bors-servo
6e1350f3aa
Auto merge of #27647 - jdm:build-std, r=SimonSapin
Use build-std instead of xargo.

The changes to num-integer and indexmap are to work around https://github.com/cuviper/autocfg/issues/34.
2021-02-25 14:28:24 -05:00
bors-servo
30f927f67b
Auto merge of #28203 - jdm:update-truetype, r=SimonSapin
Update truetype dependency.

Closes https://github.com/servo/servo/issues/28101
2021-02-25 13:22:05 -05:00
Josh Matthews
47fc8f9697 Force indexmap to rely on libstd. 2021-02-25 10:15:09 -05:00
Josh Matthews
b29a8a21f7 Update truetype dependency. 2021-02-25 10:10:40 -05:00
Simon Sapin
a0d9f97c8e Fix warnings introduced in newer Rust Nightly
This does not (yet) upgrade ./rust-toolchain

The warnings:

* dead_code "field is never read"
* redundant_semicolons "unnecessary trailing semicolon"
* non_fmt_panic "panic message is not a string literal, this is no longer accepted in Rust 2021"
* unstable_name_collisions "a method with this name may be added to the standard library in the future"
* legacy_derive_helpers "derive helper attribute is used before it is introduced" https://github.com/rust-lang/rust/issues/79202
2021-02-25 15:36:03 +01:00
bors-servo
19d1544b66
Auto merge of #27619 - servo:rustup, r=jdm
Upgrade to rustc 1.48.0-nightly (623fb90b5 2020-09-26)

https://github.com/rust-lang/hashbrown/pull/159 reduced `size_of::<HashMap>()`
2021-02-25 00:11:29 -05:00
Vincent Ricard
a627dde0d0 Port some code to Python3 2021-02-18 09:35:46 -05:00
Josh Matthews
397b9b2601 Implement toStringTag symbol for DOM objects.
This symbol is now required for the expected stringification behaviour in WPT.
2021-02-18 09:35:46 -05:00
Josh Matthews
5c4939599e Update mozjs. 2021-02-18 09:35:45 -05:00
teymour-aldridge
217147b2e4 fmt 2021-02-05 14:46:09 +00:00
teymour-aldridge
ff767b13a9 Remove unused arguments from methods. 2021-02-05 14:29:45 +00:00
teymour-aldridge
466e895cdf Fix errors 2021-02-05 14:29:30 +00:00
teymour-aldridge
0854953e35 Mark methods as unsafe. 2021-02-05 14:29:30 +00:00
Simon Sapin
173123a768 Upgrade to rustc 1.48.0-nightly (623fb90b5 2020-09-26) 2021-01-26 09:23:03 +01:00
Andreu Botella
d2b9e64cf3 Clean up the code to BOM sniff.
See https://github.com/servo/servo/pull/28006#discussion_r551968553
2021-01-09 19:18:22 +01:00
Andreu Botella
cd34f156f6 Fix document.characterSet not reflecting byte order marks.
The process of decoding the network byte stream to Unicode is backed by
an instance of `encoding_rs::Decoder`, which will switch the encoding it
uses if it finds a BOM in the byte stream. However, this change in
encoding is not communicated back to the caller and so
`document.characterSet` gives the wrong result. This change fixes that.

See whatwg/html#5359 and whatwg/encoding#203 for the spec-level backing
for this change.

Signed-off-by: Andreu Botella <abb@randomunok.com>
2020-12-31 13:43:33 +01:00
teymour-aldridge
1f38e3411d Fix num_threads to avoid divide by zero error when running without a thread pool
Signed-off-by: teymour-aldridge <teymour.aldridge@icloud.com>
2020-12-28 11:01:38 +00:00
YUAN LYU
e15bc7516c Fix mouse button handling 2020-12-06 00:21:21 -05:00
YUAN LYU
a999850b24 Implement referrerPolicy for HTMLLinkElement and HTMLScriptElement 2020-12-01 00:37:16 -05:00
Sean Joseph
9e22804983 Added is_platform_object_static check to is_dom_object 2020-11-26 18:40:41 -05:00
Sean Joseph
823cca30d6 Added is_platform_obj_static 2020-11-26 18:30:52 -05:00
Sean Joseph
3c8680f273 Add back code to identify JSObjects that should be counted in memory profiling 2020-11-26 10:43:30 -05:00
Jonathan Kingston
0e1479cc84 Add creation url and Secure Contexts 2020-11-25 18:30:50 +00:00
bors-servo
95fd0dddb9
Auto merge of #27813 - servo:dependabot/cargo/env_logger-0.8.2, r=jdm
Bump env_logger from 0.7.1 to 0.8.2

Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.7.1 to 0.8.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/env-logger-rs/env_logger/releases">env_logger's releases</a>.</em></p>
<blockquote>
<h2>0.8.2</h2>
<p>Fixed a panic on io errors when writing to stdout / stderr (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/184">#184</a>).</p>
<h2>0.8.1</h2>
<p>Update links in the documentation that were pointing to the old repository location.</p>
<h2>0.8.0</h2>
<p>Breaking changes:</p>
<ul>
<li>Update public dependency humantime to 2.0</li>
</ul>
<p>Improvements:</p>
<ul>
<li>Update default colors for debug (white =&gt; blue) and trace (black =&gt; cyan)</li>
</ul>
<p>Deprecations:</p>
<ul>
<li><code>env_logger::from_env</code> has been deprecated in favor of <code>env_logger::Builder::from_env</code></li>
</ul>
<p>This release raises the minimum supported Rust version to 1.41.0.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0f53c8dd5b"><code>0f53c8d</code></a> Release version 0.8.2</li>
<li><a href="26e821b94f"><code>26e821b</code></a> Update repository links and release 0.8.1</li>
<li><a href="9ffe00de4f"><code>9ffe00d</code></a> Release version 0.8.0</li>
<li><a href="2b33c97117"><code>2b33c97</code></a> Fix rustc &amp; clippy lints</li>
<li><a href="b8c3754a1d"><code>b8c3754</code></a> chore(examples): add syslog friendly format (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/174">#174</a>)</li>
<li><a href="a5a7ddc34e"><code>a5a7ddc</code></a> ci(docs): remove ci crate (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/173">#173</a>)</li>
<li><a href="3a331e4636"><code>3a331e4</code></a> chore(readme): fix badge links</li>
<li><a href="eeedfa99be"><code>eeedfa9</code></a> ci(docs): add manual run trigger (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/171">#171</a>)</li>
<li><a href="2793bb5696"><code>2793bb5</code></a> ci(workflow): add documentation workflow (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/170">#170</a>)</li>
<li><a href="0ef5cffa29"><code>0ef5cff</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/168">#168</a> from KodrAus/chore/build-fn-cleanup</li>
<li>Additional commits viewable in <a href="https://github.com/env-logger-rs/env_logger/compare/v0.7.1...v0.8.2">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=env_logger&package-manager=cargo&previous-version=0.7.1&new-version=0.8.2)](https://dependabot.com/compatibility-score/?dependency-name=env_logger&package-manager=cargo&previous-version=0.7.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>
2020-11-24 20:30:24 -05:00
dependabot-preview[bot]
056a0380bd Bump env_logger from 0.7.1 to 0.8.2
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.7.1 to 0.8.2.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.7.1...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-24 16:24:21 -05:00
Tyler Wilcock
61c5ab8f69 Replace generic 'value' variable name with 'id' and 'name' to reduce confusion 2020-11-23 23:31:34 -06:00
bors-servo
30347a4934
Auto merge of #27738 - ghostd:update-bad-ports, r=jdm
Update the "bad ports" list

https://github.com/whatwg/fetch/issues/1108

<!-- 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
- [ ] These changes fix #___ (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. -->
2020-11-19 11:54:31 -05:00