Commit graph

26550 commits

Author SHA1 Message Date
Daniel Adams
48fa77df67
Gamepad: Align closer to spec and implement missing slots (#31385)
* Implement missing gamepad slots, align to spec more

- Fixes TODO's from initial gamepad implementation
- Adds some missing spec steps

* Only handle gamepad events when pref is enabled

* Return empty list in getGamepads if document not active

* ./mach fmt

* Update getGamepads to return an array instead of GamepadList

* Add spec link for [[exposed]] slot

* Remove failing test expectations for not-fully-active

* A few fixes

- Change should_notify to has_gesture
- Add spec links and TODO to navigator
- Remove unneeded clone from GamepadList::list
- Move gamepadconnected event firing into has_gesture block

* Use queue_with_canceller for tasks and add expects

* Explicitly check for gamepad user gesture

* Move user gesture check into separate function

* Change contains_user_gesture to be a gamepad function

* mach fmt

* Change axis/button threshold constants to be private to module
2024-03-12 12:32:30 +00:00
Mucha Naibei
d1fd8d55ab
Fix rustdoc errors in components/script/dom (#31617)
* Fix rustdoc errors in components/script/dom

* Revert if to iff in audiobuffer.rs
2024-03-11 22:04:05 +00:00
Martin Robinson
45344dca2b
font_cache: Handle filtering @font-face rules in Servo (#31601)
Instead of letting Stylo filter `@font-face` rules, handle this
filtering in Servo. It doesn't make sense that Stylo knows about what
fonts Servo supports. This also cleans up a bit the way that this is
handled, giving an entire stylesheet of rules to the font cache to
process instead of letting each layout thread walk the rules. This
brings more of the font-related code into the FontCacheThread itself.

This is the first step toward adding WOFF2 support and fixing various
web font related bugs.
2024-03-11 14:47:52 +00:00
eri
b03411f567
clippy: Fix warnings in components/layout_2020 (#31611)
* clippy: fix warnings in components/layout_2020

* fix: review comments
2024-03-11 14:24:33 +00:00
Martin Robinson
1d1f239ecc
layout: Enable rendering of conical-gradient and repeating-conical-gradient (#31597)
This also ignores a clippy warning for a new function (and a similar
existing one), until this code can be refactored to use temporary Rust
strutures to carry display list building state.

There are a few new test failures here:

 - FAIL [expected PASS] /css/css-images/image-set/image-set-conic-gradient-rendering.html
 - FAIL [expected PASS] /css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html

 These fail because Servo does not yet support `image-set()`.

 - FAIL [expected PASS] /css/filter-effects/filter-function/filter-function-conic-gradient.html
 - FAIL [expected PASS] /css/filter-effects/filter-function/filter-function-repeating-conic-gradient.html

 These fail because Servo does not support the very early filter effects
 specification.

 - FAIL [expected PASS] /html/canvas/element/manual/fill-and-stroke-styles/conic-gradient-rotation.html
 - FAIL [expected PASS] /html/canvas/element/manual/fill-and-stroke-styles/conic-gradient.html

 These fail because this change only adds support for CSS conical
 gradients. Another set of changes will be necessary to support this for
 Canvas.
2024-03-11 12:58:44 +00:00
Oriol Brufau
de7b9bed85
Take spaces into account in the max-content size of an IFC (#31613)
They were only considered in min-content sizes.
Also avoid some pointless conversions from Au to Length.

Fixes #31605.
2024-03-11 12:01:53 +00:00
eri
a6e25d555b
clippy: Fix warnings in components/layout (#31612)
* clippy: fix warnings in components/layout

* fix: formatting
2024-03-11 10:24:36 +00:00
eri
7f1ef4c7fe
clippy: Fix warnings in components/constellation (#31610)
* clippy: fix warnings in components/constellation

* fix: review comments
2024-03-11 10:22:28 +00:00
Samson
11c16adcd1
Use libc::malloc_size on apple (#31602)
* Use libc::malloc_size on apple

* Unify malloc_usable_size under *mut _
2024-03-11 07:58:32 +00:00
eri
af3583ade8
fix: unused mem import (#31608) 2024-03-10 20:20:42 +00:00
Mucha Naibei
0bc685ed97
Fix more clippy warnings in components/shared/net (#31548)
* Fix clippy warnings in components/shared

* Fix build error

* Fixes in order to solve some merge issues

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-10 17:47:38 +00:00
eri
67b277c992
clippy: fix warnings in components/net (#31564)
* clippy: fix some warnings in components/net

* fix: review comments

* fix: tidy
2024-03-10 15:34:16 +00:00
Samson
099bb0fa19
Use get_desired_proto in htmlconstructor (#31600)
* Use get_desired_proto in htmlconstructor

* Update expectations
2024-03-10 14:44:25 +00:00
Oriol Brufau
fddc7a1390
Align table cell measures in the block axis to Gecko/Blink/WebKit (#31596) 2024-03-09 12:59:57 +00:00
Martin Robinson
1f23ec2b27
layout: Do not inherit node and fragment flags in anonymous boxes (#31586)
This doesn't really have observable behavior right now, as much as I
tried to trigger some kind of bug. On the other hand, it's just wrong
and is very obvious when you dump the Fragment tree. If you create a
`display: table-cell` that is a child of the `<body>` all parts of the
anonymous table are flagged as if they are the `<body>` element.
2024-03-09 09:13:19 +00:00
Martin Robinson
55f908653f
compositor: Remove the is_running_problem_test setting (#31589)
These tests don't seem to time out any longer and this mechanism is
probably better served by some sort of adjustment to `RUST_LOG` in the
WPT harness.
2024-03-09 02:29:43 +00:00
Azhar Ismagulova
48f5ee828c
fix: resolved warning related to deprecated method chrono::NaiveDateTime::from_timestamp_opt (#31593) 2024-03-08 23:35:46 +00:00
Wepngong Maureen
0f4522c360
Fixed unresolved links by appropriately linking to parent (#31588)
Signed-off-by: Wepngong Maureen <maureenwepngong@gmail.com>
2024-03-08 19:53:44 +00:00
Wepngong Maureen
f64409dbfb
Fix rustdoc warnings in components/layout 2020/positioned.rs (#31592)
* fixed typo in PositioningContext

Signed-off-by: Wepngong Maureen <maureenwepngong@gmail.com>

* fixed unresolved link to unresolved link to adjust_static_position_of_hoisted_fragments function

Signed-off-by: Wepngong Maureen <maureenwepngong@gmail.com>

* fixed unresolved link to unresolved link to len() function of PositioningContext

Signed-off-by: Wepngong Maureen <maureenwepngong@gmail.com>

---------

Signed-off-by: Wepngong Maureen <maureenwepngong@gmail.com>
2024-03-08 18:00:45 +00:00
Azhar Ismagulova
0768bba5b9
fix: resolved warnings related to deprecated method chrono::NaiveDateTime::timestamp_millis (#31584) 2024-03-08 16:47:09 +00:00
sandeep
81e6bd962b
Fix rustdoc warnings in components/layout_2020 (#31587)
* fix rustdoc warnings in components/layout_2020

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

* made suggested changes

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

---------

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
Co-authored-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
2024-03-08 15:51:18 +00:00
eri
48f9db9bc5
Make image decoding thread pool the size of the system's CPUs (#31585) 2024-03-08 15:31:17 +00:00
eri
43f44965cd
clippy: fix warnings in components/shared (#31565)
* clippy: fix some warnings in components/shared

* fix: unit tests

* fix: review comments
2024-03-08 15:28:19 +00:00
eri
3a5ca785d3
clippy: fix warnings in various modules in components (#31568)
* clippy: fix warnings in various modules in components

* fix: unit tests

* fix: build on android

* fix: all samplers use new_boxed
2024-03-08 14:28:04 +00:00
Josh Matthews
19f1f2a8f4
Extract generated finalizers into generic helper functions. (#31569) 2024-03-08 14:15:26 +00:00
Martin Robinson
7e8a1503ba
layout: Add documentation about table layout (#31535)
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2024-03-08 12:57:23 +00:00
Aarya Khandelwal
dd6c929cc6
Fix rustdoc errors in components/shared (#31582)
* Fixed error in documentation in components>shared>embedder>lib.rs

* fixed documentation warning in compoenents>shared>net>request.rs

* Fixed the documentation (URL issue) in components>shared>script>lib.rs
2024-03-08 12:28:06 +00:00
Oriol Brufau
6b5a5147f8
Obey table cell's box-sizing (#31536)
Instead of assuming `box-sizing: content-box`.
2024-03-08 12:07:42 +00:00
Martin Robinson
49ae9bb442
layout: Fix the pseudo for anonymous tables (#31578)
Anonymous tables should not use legacy pseudos, as the legacy layout
engine had them inherit lots of random properites that lead to bad
layout in the new layout engine.

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2024-03-08 10:32:51 +00:00
zawz
0748579803
Fix clippy warnings in components/shared/net/request.rs (#31551)
* Fix clippy warnings in components/shared/net/request.rs

Signed-off-by: mateoferon <mateo.feron@elipce.com>

* fixup! Fix clippy warnings in components/shared/net/request.rs

---------

Signed-off-by: mateoferon <mateo.feron@elipce.com>
2024-03-08 09:37:18 +00:00
Munish Mummadi
52c4f57085
Update phf_codegen and phf_shared to 0.11 (#31537)
* Update phf_codegen and phf_shared to 0.11

* Updated the Cargo.lock With ./mach build
2024-03-08 07:25:12 +00:00
eri
5c4f8cf0df
clippy: fix some warnings in components/canvas (#31563) 2024-03-08 07:24:01 +00:00
eri
ef3dad3a61
clippy: fix warnings in components/config* (#31562) 2024-03-08 07:15:56 +00:00
eri
88033bd654
clippy: fix warnings in components/gfx (#31560)
* clippy: fix warnings in components/gfx

* refactor: switched the order of impl so that its intent is clearer

* fix: add font context default in other platforms
2024-03-08 07:10:15 +00:00
eri
3b19189896
clippy: fix warnings in components/bluetooth (#31566) 2024-03-07 23:32:35 +00:00
sandeep
64d013d473
Fix clippy warnings in components/rand (#31549)
* resolved clippy warnings in components/rand

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

* replaced new() with default()

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

* replaced ServoRng::new() with ServoRng::default()

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

* moved the contents of the new() method into the default() method

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>

---------

Signed-off-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
Co-authored-by: Sandeep Pillai <sandeeppillai@Sandeeps-MacBook-Air.local>
2024-03-07 23:16:42 +00:00
Martin Robinson
e4ac047a9c
compositor: Limit animation tick interval when in WPT mode (#31561)
When exiting after load or dumping a screenshot, limit the speed that
the compositor sends tick events to the constellation (and on to the
script thread). Previously, these tick messages were sent as fast as the
winit event loop (that's really fast!), until the document was ready to
for its screenshot. rAf is meant to run at more or less the same
frequency as the refresh rate of the screen.

On my system, the massive amount of ticks was overwhelming the router
thread, preventing fonts from loading properly. This change is an attempt
to make tests with requestAnimationFrame less flaky.
2024-03-07 21:45:39 +00:00
Delan Azabani
dfefd7a30d
Add multiview feature flag in libservo and servoshell (#31541) 2024-03-07 18:09:21 +00:00
eri
3837fe00ad
Use thread pool to decode image (#31517)
* feat: do not spawn dedicated thread to decode image

* fix: change comment to docstring

Co-authored-by: Taym Haddadi <haddadi.taym@gmail.com>

---------

Co-authored-by: Taym Haddadi <haddadi.taym@gmail.com>
2024-03-07 16:12:45 +00:00
Martin Robinson
6005049d88
compositor: Improve the way we wait for frames (#31523)
* compositor: Improve the way we wait for frames

In the newest version of WebRender it will be harder to make the
distinction between frame queued for scrolling and other kinds of
pending frames. This change makes it so that we queue frames for both
kinds of changes the same way and keeps a counting of pending frames.
This is conceptually a lot simpler.

In addition, do queue a composite even when recomposite isn't necessary
for a WebRender frame when there are active requestAnimationFrame
callbacks. Doing a composite is what triggers the callbacks to actually
run in the script thread! I believe this was a bug, but the WebRender
upgrade made it much more obvious.

These changes are in preparation for the WebRender upgrade.

* Remove spurious println
2024-03-07 11:59:02 +00:00
Martin Robinson
602a5092c0
layout: Add support for box-shadow to Layout 2020 (#31453) 2024-03-07 11:13:57 +00:00
Oriol Brufau
007a31c1b5
Enable CSS Tables by default (#31470)
And remove the pref `layout.tables.enabled`.
2024-03-07 10:09:10 +00:00
Oriol Brufau
ea38d8ad6f
Add basic support for enumerating computed styles (#31499)
* Add basic support for enumerating computed styles

The old code was so broken, it was enumerating the style attribute
instead of the computed styles.

So this patch implements a basic enumeration, but not including custom
properties whose computed value is not the guaranteed-invalid value.

* Feedback
2024-03-06 21:43:06 +00:00
eri
a8170966ec
Move convert_* functions into gpuconvert.rs (#31521)
* feat: unify convert_* functions across gpu*.rs files #31104

* chore: reorder and format
2024-03-06 16:48:34 +00:00
Mucha Naibei
7ce19f2885
Fix several clippy warnings in components/bluetooth (#31512)
* Fix several clippy warnings in components/bluetooth/lib

* Fix requested change while maintaining clippy rules
2024-03-06 15:32:04 +00:00
Martin Robinson
096bd2977a
layout: Add start of documentation for inline layout (#31519)
Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
2024-03-06 12:55:35 +00:00
Oriol Brufau
dea416eec9
Fix the measures of a table cell (#31513)
The spec doesn't make much sense, this seems to match Gecko and Blink.
2024-03-06 12:42:06 +00:00
Mucha Naibei
3a3e76a935
Fix several clippy warnings in components/hyper_serde (#31508) 2024-03-06 08:14:23 +00:00
Oriol Brufau
abda22ed63
Fix intrinsic sizing of tables (#31506)
* Fix intrinsic sizing of tables

* Feedback
2024-03-05 20:38:30 +00:00
eri
3552bb2464
clippy: Fix several warnings in components/devtools (#31501) 2024-03-05 18:19:04 +00:00