Commit graph

45660 commits

Author SHA1 Message Date
bors-servo
ec4d90d572
Auto merge of #29745 - mrobinson:compositor-side-scroll-tree, r=mukilan
Add a compositor-side scroll tree

This will allow the compositor to properly chain scrolling requests up
when a node has reached the extent of the scroll area. In addition, it
removes the use of the deprecated WebRender `scroll()` API. This fixes
scrolling on servo.org.

---
<!-- 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 #29402.
  - Fix #27996.
  - Fix #27624.
  - Fix #24028.
  - Fix #23918.
  - Fix #21165.
- [x] There are tests for these changes
2023-05-23 10:51:11 +02:00
bors-servo
a30f9d6f17
Auto merge of #29779 - fabricedesre:update-phf, r=jdm
De-dupe phf

<!-- Please describe your changes on the following line: -->

Update phf to 0.10 in the `script` and `selector` crates to remove the dupe and only use 0.10. `phf` actually has a 0.11 version but we'll need an update to `markup5ever` to be able to pick it.

This removes 9 crates from a Linux debug build.

---
<!-- 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
- [X] These changes do not require tests because no code 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. -->
2023-05-23 04:39:50 +02:00
The Capyloon Team
11b7a756e8 De-dupe phf 2023-05-23 00:53:09 +00:00
bors-servo
a4f936cd72
Auto merge of #29771 - michaelgrigoryan25:libmlservo#29768, r=jdm
Fix #29768

<!-- Please describe your changes on the following line: -->

Fixes #29768.

---
<!-- 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 #29768 (GitHub issue number if applicable)

<!-- Either: -->

<!-- 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. -->
2023-05-23 00:14:45 +02:00
Michael Grigoryan
0f3e17818b
Merge branch 'servo:master' into libmlservo#29768 2023-05-22 23:21:16 +04:00
bors-servo
d1bb22dca6
Auto merge of #29765 - servo:wpt_update_21-05-2023, r=jdm
Sync WPT with upstream (21-05-2023)

Automated downstream sync of changes from upstream as of 21-05-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-05-22 20:10:41 +02:00
Josh Matthews
ed5986a094
remove timeout result. 2023-05-22 12:21:07 -04:00
Josh Matthews
14d1cfc796
remove timeout result. 2023-05-22 12:20:44 -04:00
bors-servo
b1f9126163
Auto merge of #29750 - stshine:fix-flex-resolve, r=mrobinson
layout_2020: fix target main size not get clamped in flexbox

When Resolving flexible lengths, the clamp result of item's target main size is not actually saved when it should.

<!-- 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

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- 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. -->
2023-05-22 17:51:57 +02:00
bors-servo
b7674fcec0
Auto merge of #29767 - mukilan:fix-slowness-in-macos-copy-dependencies, r=mrobinson
Fix slowness in macos copy_dependencies

The `copy_dependencies` logic is invoking `change_non_system_libraries_path` with absolute paths to gstreamer *plugin dylibs*.
`change_non_system_libraries_path` skips editing links in servo binary to relocatable dylibs, but the since the plugins have absolute paths, they are treated as 'non-relocable' and it will try to edit the *non-existent* link (since plugins are loaded dynamically) in servo bin . These unnecessary calls to change_link_name is the cause of the slowness identified in #29764

This PR fixes the issue by ensuring plugin dylibs are not passed to the first call to change_non_system_libraries_path that patches the links in the main servo binary.

With this fix, the time taken by copy_dependencies is reduced to ~3 seconds on my system.

---
<!-- 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 #29764

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they fix slowness in build step
2023-05-22 14:20:59 +02:00
Michael Grigoryan
b7c380405a
Merge branch 'servo:master' into libservo#29768 2023-05-22 16:01:15 +04:00
michaelgrigoryan25
644a6089b3 Fix: Invalid fields in libservo InitOptions 2023-05-22 11:59:37 +04:00
bors-servo
4454200229
Auto merge of #29766 - atouchet:ron, r=mrobinson
De-dupe base64 0.12

<!-- 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 do not require tests because they are a Crates.lock 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. -->
2023-05-22 08:29:20 +02:00
Pu Xingyu
d1497fa363 Update wpt expectations 2023-05-22 09:19:10 +08:00
Pu Xingyu
9a9e703984 layout_2020: Fix target main size not get clamped in flexbox
When resolving flexible lengths, the clamping result of item's target
main size is not actually saved while it should.
2023-05-22 09:18:48 +08:00
bors-servo
4e61168d68
Auto merge of #29758 - michaelgrigoryan25:master, r=jdm
Patch: Applied code patches for clippy warnings

<!-- Please describe your changes on the following line: -->

This pull request fixes:

- Some of the warnings generated by `./mach cargo-clippy`
- A namespacing error in `headed_window.rs`

---
<!-- 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

<!-- Either: -->
- [X] These changes do not require tests because there are no functional changes.

<!-- 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. -->
2023-05-22 01:43:35 +02:00
Mukilan Thiyagarajan
84d13eacbd Count post-cargo build steps in elapsed time 2023-05-21 16:13:36 +05:30
Mukilan Thiyagarajan
6abee33f91 Print message when packaging macos dylibs 2023-05-21 16:13:36 +05:30
Mukilan Thiyagarajan
df71aa2f1e Avoid relinking plugin dylibs
The `copy_dependencies` logic is invoking
`change_non_system_libraries_path` with absolute paths
to gstreamer *plugin dylibs*.

`change_non_system_libraries_path` skips editing links
in servo binary to relocatable dylibs, but the since the
plugins have absolute paths, they are treated as
'non-relocable' and it will try to edit the *non-existent*
(since plugins are loaded dynamically) link in servo bin.

These unnecessary calls to change_link_name is cause
of the slowness identified in #29764

This PR fixes the issue by ensuring plugins are not
included in the call to change_non_system_libraries_path

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
2023-05-21 16:13:36 +05:30
Michael Grigoryan
a1e9f55bba
Update ports/winit/headed_window.rs
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2023-05-21 09:49:51 +04:00
bors-servo
bf0c80f75e
Auto merge of #29762 - mrobinson:remove-unused-python-code, r=jdm
Remove some unused python code

This change removes:
 - The custom `--dry-run` support for `cargo-update`. The real cargo command now has `--dry-run` support and this code was broken for Python 3.
- The Python 2 version of TemporaryDirectory. This is no longer needed as we require Python 3.

<!-- 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 do not require tests because they do not change behavior.

<!-- 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. -->
2023-05-21 06:24:16 +02:00
Alex Touchet
d532f47fa3 De-dupe base64 0.12 2023-05-20 19:20:35 -07:00
bors-servo
1bb713521b
Auto merge of #29374 - jdm:get-cx-cleanup, r=mrobinson
Assert if DomObject::global is called outside of a JS realm

To avoid crashing in https://github.com/servo/servo/issues/27037, we need to progressively add `InRealm` or `AlreadyInRealm` arguments higher up in the call stack. These changes assert that DomObject::global is only called inside of a realm, which is preferable to segfaulting in the JS engine. Making this a compile-time error requires changing lots of `.global()` callsites, but this PR removes a bunch that are now unnecessary.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #27037
- [x] There are tests for these changes
2023-05-21 04:05:58 +02:00
WPT Sync Bot
f0bb7a6f9c Update web-platform-tests to revision b'02400d32d48521baa38663fe8601779994fcfb78' 2023-05-21 01:38:11 +00:00
bors-servo
608b1d17a9
Auto merge of #29422 - fabricedesre:update-tungstenite, r=jdm
Update tungstenite

<!-- Please describe your changes on the following line: -->

Update tungstenite to current version. As a nice side effect this removes a bunch of other old crates.

---
<!-- 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
- [X] These changes do not require tests

<!-- 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. -->
2023-05-21 01:57:57 +02:00
Josh Matthews
dcf02caf81 Enter realms when creating special same-origin iframes. 2023-05-20 18:32:08 -04:00
Fabrice Desré
0d0540fc95 Update tungstenite 2023-05-20 21:55:00 +00:00
Josh Matthews
02a280dbe1 Enter realms when processing pre-sequential events. 2023-05-20 17:14:45 -04:00
michaelgrigoryan25
b3ce330398 Fix: Fixed a namespacing error 2023-05-21 00:18:46 +04:00
bors-servo
bc8cea2495
Auto merge of #29759 - atouchet:hhpd, r=jdm
De-dupe httpdate and tokio-util

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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. -->
2023-05-20 21:32:49 +02:00
Josh Matthews
864e072d5c Enter realms more consistently during the script event loop. 2023-05-20 14:30:22 -04:00
Martin Robinson
3875debfbf Remove some unused python code
This change removes:
 - The custom `--dry-run` support for `cargo-update`. The real cargo
   command now has `--dry-run` support and this code was broken for
   Python 3.
- The Python 2 version of TemporaryDirectory. This is no longer needed
  as we require Python 3.
2023-05-20 18:23:46 +02:00
Josh Matthews
9ea1399c30 Fix formatting. 2023-05-20 11:05:10 -04:00
Josh Matthews
5e5669b945 Remove unused argument from AlreadyInRealm::assert. 2023-05-20 11:05:09 -04:00
Josh Matthews
fca5833e21 Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
Josh Matthews
f79e1e327d Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
bors-servo
1a648d1e27
Auto merge of #29760 - servo:mrego-contributing-coc, r=jdm
Update link to CoC

None
2023-05-20 16:51:19 +02:00
bors-servo
4998c65c42
Auto merge of #29761 - fabricedesre:no-wedriver-warning, r=mrobinson
Fix compiler warning introduced in 4aa8a1c418

<!-- Please describe your changes on the following line: -->

Make the compiler happy.

---
<!-- 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
- [ X] These changes do not require tests because this is just fixing a compiler warning

<!-- 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. -->
2023-05-20 07:45:01 +02:00
The Capyloon Team
da9796f7e3 Fix compiler warning introduced in 4aa8a1c418 2023-05-20 02:03:58 +00:00
bors-servo
2426a38a4d
Auto merge of #29748 - Loirooriol:sync, r=mrobinson
Backport several style changes from Gecko

<!-- 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. -->
2023-05-19 22:49:36 +02:00
Oriol Brufau
dbb92b99ad Update test expectations 2023-05-19 21:35:06 +02:00
Manuel Rego Casasnovas
6f750d97e7
Update link to CoC 2023-05-19 19:09:45 +02:00
Oriol Brufau
f42e2fb08f Avoid complaints from ./mach test-tidy 2023-05-19 19:06:09 +02:00
Oriol Brufau
aea14a2470 Further changes required by Servo 2023-05-19 19:06:09 +02:00
Oriol Brufau
1cc44bd065 style: Will-change should only create stacking contexts / containing blocks / etc if the property it'd change would apply
As per https://drafts.csswg.org/css-will-change/#will-change.

> If any non-initial value of a property would cause the element to
> generate a containing block for absolutely positioned elements,
> specifying that property in will-change must cause the element to
> generate a containing block for absolutely positioned elements.

But in this case the transform property wouldn't apply to the element so
there's no reason to create a stacking-context.

Differential Revision: https://phabricator.services.mozilla.com/D114121
2023-05-19 19:06:09 +02:00
Oriol Brufau
60867bbe7e style: Remove unused NS_CHANGE_COLOR_IF_SAME_AS_BG
It was introduced in bug 1024930, but it is unused since.

Differential Revision: https://phabricator.services.mozilla.com/D114389
2023-05-19 19:06:09 +02:00
Oriol Brufau
516c7a304a style: Use saturating addition for math-depth
Differential Revision: https://phabricator.services.mozilla.com/D114070
2023-05-19 19:06:08 +02:00
Oriol Brufau
43cec05c04 style: Don't allow whitespace between media query operator delim tokens
Differential Revision: https://phabricator.services.mozilla.com/D113648
2023-05-19 19:06:08 +02:00
Oriol Brufau
fb9d8ddc73 style: Make sure to consume the flusher when we hit the cascade data cache
So that sheets are properly marked as committed. The issue is that we
have this "committed" optimization, to avoid doing work if somebody adds
and removes an stylesheet without us flushing in the meantime:

  https://searchfox.org/mozilla-central/rev/f018480dfed4fc583703a5770a6db9ab9dc0fb99/servo/components/style/stylesheet_set.rs#308-319

The "committed" bit is set when we consume the flusher (in each(..)).

However when we hit the cache, before this patch, we wouldn't consume
it, which means that we may fail to do some full rebuilds even though we
need them.

Fix it by making sure we call each() in that case.

We add a test (the test would show a red square before this patch, and a
lime square with the fix).

Differential Revision: https://phabricator.services.mozilla.com/D113206
2023-05-19 19:06:08 +02:00
Oriol Brufau
90781493fc style: Make the -moz-toolbar-prefers-color-scheme a tri-state
This will allow detecting the system theme, which allows fixing some of
the blocked bugs.

Note that when using the system theme we will still match light or dark
appropriately, so this shouldn't change behavior just yet.

Differential Revision: https://phabricator.services.mozilla.com/D113516
2023-05-19 19:06:08 +02:00