Commit graph

47362 commits

Author SHA1 Message Date
dependabot[bot]
7bcb25c85c
build(deps): bump slotmap from 1.0.6 to 1.0.7 (#30812)
Bumps [slotmap](https://github.com/orlp/slotmap) from 1.0.6 to 1.0.7.
- [Changelog](https://github.com/orlp/slotmap/blob/master/RELEASES.md)
- [Commits](https://github.com/orlp/slotmap/compare/v1.0.6...v1.0.7)

---
updated-dependencies:
- dependency-name: slotmap
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 16:49:05 +00:00
dependabot[bot]
d837eb9055
build(deps): bump linux-raw-sys from 0.4.11 to 0.4.12 (#30809)
Bumps [linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys) from 0.4.11 to 0.4.12.
- [Commits](https://github.com/sunfishcode/linux-raw-sys/compare/v0.4.11...v0.4.12)

---
updated-dependencies:
- dependency-name: linux-raw-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 16:47:35 +00:00
dependabot[bot]
49e8517b3a
build(deps): bump core-graphics-types from 0.1.2 to 0.1.3 (#30810)
Bumps [core-graphics-types](https://github.com/servo/core-foundation-rs) from 0.1.2 to 0.1.3.
- [Commits](https://github.com/servo/core-foundation-rs/compare/core-graphics-types-v0.1.2...core-graphics-types-v0.1.3)

---
updated-dependencies:
- dependency-name: core-graphics-types
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 16:45:08 +00:00
Martin Robinson
20a122c2f6
Use git2 version of vergen (#30804)
When compiling Servo on MacOS, the version of libintl that comes bundled
with GStreamer is not compatible with the one used by Homebrew. This can
cause issues when adding GStreamer shared objects to the library
resolution path and then trying to run Homebrew git. Using libgit seems
to work around this issue.

The failure case means that the version compiled into Servo does not
properly include the git hash.
2023-12-01 16:05:17 +00:00
Samson
604979e367
Replace script_plugins with a clippy like rustc driver (named crown) (#30508)
* Remove script_plugins

* Use crown instead of script_plugins

* crown_is_not_used

* Use crown in command base

* bootstrap crown

* tidy happy

* disable sccache

* Bring crown in tree

* Install crown from tree

* fix windows ci

* fix warning

* fix mac

libscript_plugins.dylib is not available anymore

* Update components/script/lib.rs

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update for nightly-2023-03-18

Mostly just based off https://github.com/servo/servo/pull/30630

* Always install crown

it's slow only when there is new version

* Run crown test with `mach test-unit`

* Small fixups; better trace_in_no_trace tests

* Better doc

* crown in config.toml

* Fix tidy for real

* no sccache on rustc_wrapper

* document rustc overrides

* fixup of compiletest

* Make a few minor comment adjustments

* Fix a typo in python/servo/platform/base.py

Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>

* Proper test types

* Ignore tidy on crown/tests

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2023-12-01 15:50:52 +00:00
Martin Robinson
20a73721de
Remove a comment that is no longer valid (#30806)
The update of `max_block_size` here no longer happens.
2023-12-01 12:48:22 +00:00
Martin Robinson
cdbd60fe53
Extend character-based soft wrap prevention to before atomics (#30800)
The changes in #30740, fixed an issue where certain characters should
prevent line break opportunity after atomics. This change extends that
to also apply to before atomics, which is what the specification says
should happen.
2023-12-01 09:26:49 +00:00
dependabot[bot]
b125bb6b6a
build(deps): bump core-foundation from 0.9.3 to 0.9.4 (#30801)
Bumps [core-foundation](https://github.com/servo/core-foundation-rs) from 0.9.3 to 0.9.4.
- [Commits](https://github.com/servo/core-foundation-rs/commits)

---
updated-dependencies:
- dependency-name: core-foundation
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-30 16:54:23 +00:00
Martin Robinson
f1c291853e
Stop sending " " to linebreaker for replaced content (#30740)
We previously sent a " " to the linebreaker in order to ensure that the
next text had a soft wrap opportunity at the start. Calling `next(" ")`
without waiting until the returned index was 1, violated some
invariants of linebreaker ultimately causing a panic.

Instead of using the linebreaker for this, simply keep a flag in the
IFC layout state, which avoids the problem entirely.

Fixes #30703.
2023-11-30 14:46:14 +00:00
season
53b0fa827d
Fix build script error.because starting with Python 3.9, the util module was moved from importlib to a separate top-level module called importlib.util. Therefore, if you are using Python 3.9 or later and you receive an AttributeError stating that module 'importlib' has no attribute 'util', it is likely due to a compatibility issue with your code. You can fix this issue by updating your code to import importlib.util directly (#30796) 2023-11-29 16:45:51 +00:00
dependabot[bot]
dd9366bfe7
build(deps): bump ring from 0.17.5 to 0.17.6 (#30798)
Bumps [ring](https://github.com/briansmith/ring) from 0.17.5 to 0.17.6.
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 16:32:53 +00:00
Martin Robinson
a05598402e
Add initial support for sticky positioning for non-legacy layout (#30686)
* Add initial support for sticky positioning for non-legacy layout

Many tests still fail for a variety of reasons. One of the primary ones
is that CSSOM currently does not return correct values for elements
positioned by sticky nodes. This requires changes to WebRender to work
properly.

* Fix an assertion failure in the legacy layout sticky code
2023-11-29 09:03:24 +00:00
dependabot[bot]
bab2b58216
build(deps): bump errno from 0.3.7 to 0.3.8 (#30794)
Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.7 to 0.3.8.
- [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lambda-fairy/rust-errno/compare/v0.3.7...v0.3.8)

---
updated-dependencies:
- dependency-name: errno
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 16:57:19 +00:00
dependabot[bot]
8f3491393f
build(deps): bump web-sys from 0.3.65 to 0.3.66 (#30793)
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.65 to 0.3.66.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

---
updated-dependencies:
- dependency-name: web-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 16:45:36 +00:00
Mukilan Thiyagarajan
81a38bde8c
ci: do not set LIBCLANG_PATH for nightly build (#30792)
This environment variable was added when we moved
to Ubuntu 22.04 and it is not needed for nightly
builds which we have now switched to 20.04

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2023-11-28 09:49:17 +00:00
dependabot[bot]
0b2456b1eb
build(deps): bump proc-macro2 from 1.0.69 to 1.0.70 (#30791)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.69...1.0.70)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 17:04:04 +00:00
dependabot[bot]
3a036a639e
build(deps): bump js-sys from 0.3.65 to 0.3.66 (#30790)
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.65 to 0.3.66.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

---
updated-dependencies:
- dependency-name: js-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 16:58:41 +00:00
dependabot[bot]
cccf8c2ffe
build(deps): bump wasm-bindgen from 0.2.88 to 0.2.89 (#30789)
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) from 0.2.88 to 0.2.89.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.88...0.2.89)

---
updated-dependencies:
- dependency-name: wasm-bindgen
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 16:48:24 +00:00
Servo WPT Sync
139df1c73b
Sync WPT with upstream (26-11-2023) (#30783)
* Update web-platform-tests to revision b'a59ba94da3f2638beee8950e423c5fedfe02e809'

* Update expectations

* Update expectations again

---------

Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
2023-11-27 15:50:45 +00:00
dependabot[bot]
76401823f2
build(deps): bump url from 2.4.1 to 2.5.0 (#30775)
* build(deps): bump url from 2.4.1 to 2.5.0

Bumps [url](https://github.com/servo/rust-url) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.4.1...v2.5.0)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update expectations

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
2023-11-27 15:10:44 +00:00
Mukilan Thiyagarajan
d10688b5ef
ci: use ubuntu 20.04 for nightly builds on linux (#30787)
Ubuntu 22.04 has a newer glibc (2.34) which means builds
from there won't run on systems with older glibc, most
notably the wpt.fyi taskcluster runners which use 20.04
as the docker base image.

This is a temporary workaround until wpt upgrades to 22.04

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2023-11-27 11:55:44 +00:00
dependabot[bot]
5d7ed76b79
build(deps): bump gimli from 0.28.0 to 0.28.1 (#30780)
Bumps [gimli](https://github.com/gimli-rs/gimli) from 0.28.0 to 0.28.1.
- [Changelog](https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gimli-rs/gimli/compare/0.28.0...0.28.1)

---
updated-dependencies:
- dependency-name: gimli
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-24 17:50:15 +00:00
Oriol Brufau
69fb7a9a9a
Update cssparser to 0.31.2 (#30771) 2023-11-24 14:16:27 +00:00
Martin Robinson
6dec39e959
Try to kill XProtect before running Mac CI (#30779)
This is an attempt to fix errors on the Mac CI when running `hdiutil`
that look like this:

```
Run python3 ./mach package --release
hdiutil: create failed - Resource busy
Creating Servo.app
Copying files
Swapping prefs
Finding dylibs and relinking
Adding version to Credits.rtf
Creating dmg
Packaging MacOS dmg exited with return value 1
Error: Process completed with exit code 1.
```

This approach was taken from
https://github.com/actions/runner-images/issues/7522.
2023-11-24 10:26:36 +00:00
Oriol Brufau
5b08febe88 Update test expectations 2023-11-24 08:57:14 +01:00
Oriol Brufau
27056eb93a Further changes required by Servo 2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
1ada5e9605 style: Add a query-selector fast path for attribute selectors in the rightmost compound
Differential Revision: https://phabricator.services.mozilla.com/D180553
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
de9fb7983a style: Speed up / specialize attribute selector-matching
Inline the attribute lookup code, and only branch on the attribute selector
type if we have found an attribute.

Differential Revision: https://phabricator.services.mozilla.com/D180531
2023-11-24 08:57:14 +01:00
Oriol Brufau
8c5a028955 Further changes required by Servo 2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
e59c71d8ef style: Remove unused TElement::has_attr
Differential Revision: https://phabricator.services.mozilla.com/D180530
2023-11-24 08:57:14 +01:00
Oriol Brufau
29f6170564 Further changes required by Servo 2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
3da2db1c53 style: Remove the never_matches field from attr selectors
It's an extra branch which in practice we almost never take, plus extra
checks during parsing.

Differential Revision: https://phabricator.services.mozilla.com/D180529
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
54a783db17 style: Add a way to optimize the "attribute in no namespace exists" check
Go through the slow path by default. No behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D180528
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
c36a22a97f style: Don't recompute quirks mode -> case sensitivity over and over
The only reason we pass the quirks mode around is to compute the case
sensitivity, but we can just pass the later.

Differential Revision: https://phabricator.services.mozilla.com/D180527
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
5b184f448b style: Fix style invalidation on layer rule insertion
Layer insertion may change the order of styles, so we may need to fully
invalidate.

Without this change, bug 1838045 makes
layer-statement-before-import.html fail.

Differential Revision: https://phabricator.services.mozilla.com/D180929
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
50d7f882dd style: Container units should prevent us from sharing style by rule node
At least when the containers are different.

For now check that by doing a somewhat simplified test (checking
sibling-ness).

The new flag can be useful to optimize container query restyles on
resizes too, in the future.

Differential Revision: https://phabricator.services.mozilla.com/D179268
2023-11-24 08:57:14 +01:00
Ting-Yu Lin
07d6ec5d4b style: Remove obsolete comment to add use counter for developing CSS properties
The CSS properties in the list are all shipped. Since we still don't support use
counter for developing CSS properties since this bug opens, I assume this
feature is not critical. Hence the removal of the comment.

Differential Revision: https://phabricator.services.mozilla.com/D180771
2023-11-24 08:57:14 +01:00
Oriol Brufau
c1a622cf01 Further changes required by Servo 2023-11-24 08:57:14 +01:00
David Shin
ae5e0d49d8 style: Move ANCHORS_RELATIVE_SELECTOR out of nsINode flags
Move the flag to ComputedValueFlags, like `CONSIDERED_RELATIVE_SELECTOR`.

Differential Revision: https://phabricator.services.mozilla.com/D180726
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
9321265b38 style: Clean up Context::for_non_inherited_property
We don't ever check the particular property, so it can just be a
boolean.

Differential Revision: https://phabricator.services.mozilla.com/D180680
2023-11-24 08:57:14 +01:00
Oriol Brufau
1ad176f1bc Further changes required by Servo 2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
3da0e44d98 style: Fix rebase conflict with bug 1837664 2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
77c541b38a style: Do not snap -webkit-text-stroke-width to dev pixels
Introduce LineWidth (which doesn't snap) and let BorderSideWidth
wrap it and actually do the snapping.

Differential Revision: https://phabricator.services.mozilla.com/D180688
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
127e00e48a style: Improve border-image shorthand serialization, and annotate more passes 2023-11-24 08:57:14 +01:00
Oriol Brufau
733222fffe Further changes required by Servo 2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
78f8d575b7 style: Don't allow to share style by rule node for links
(Regardless of visitedness)

Differential Revision: https://phabricator.services.mozilla.com/D180353
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
c8ccb52c9e style: Improve border shorthand serialization
Fix some bugs caught by css/cssom/shorthand-values. In particular:

  * Make the shorthand order match the spec.
  * Omit values when we can.

Fix a subtest that wasn't correct. Shorthands can be serialized as long
as !important matches in all components.

Differential Revision: https://phabricator.services.mozilla.com/D180466
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
cf3d31038c style: Minor clean-ups to border shorthand parsing
This doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D180465
2023-11-24 08:57:14 +01:00
Emilio Cobos Álvarez
7c8cf00033 style: Avoid selecting zero-resolution images in image-set
Fairly straight-forward. This fixes the two tests mentioned in comment 0
which aren't still in the repo.

Differential Revision: https://phabricator.services.mozilla.com/D180414
2023-11-24 08:57:14 +01:00
Oriol Brufau
5842cfc127 Further changes required by Servo 2023-11-24 08:57:14 +01:00