Commit graph

10107 commits

Author SHA1 Message Date
Josh Matthews
b85093ad74
Prevent moving CanGc values between threads/tasks (#33902)
* Make CanGc non-sendable, and add documentation.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Update CanGc usage to fix usages that were moved between threads/tasks.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2024-10-18 17:26:54 +00:00
chickenleaf
1ae90dcd95
clippy: Fix a variety of clippy warnings in fonts, layout_2020 and the DOM code (#33894)
* fixed some clippy warnings

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* Delete extra file

Signed-off-by: chickenleaf <lashwinib@gmail.com>

* preserved newline in compositionevent.rs

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: chickenleaf <lashwinib@gmail.com>

* removed the newline in PrototypeList

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* removed the trailing whitespace

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
Signed-off-by: chickenleaf <lashwinib@gmail.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-10-18 13:57:13 +00:00
chickenleaf
af6154cf63
More files with CanGc fixes (#33892)
* More files with CanGc fixes

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* removed the can_gc inside !task

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-18 13:42:43 +00:00
chickenleaf
fde8d72aca
Various CanGc fixes in 8 files (#33893)
* Various CanGc fixes in 8 files

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* fixed merge conflicts and formatting

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-18 11:54:32 +00:00
tanishka
6b87ecc291
Some CanGc fixes in components/script/dom (#33895)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-18 11:52:37 +00:00
Simon Wülker
e33bae6d0a
Use ROUTER::add_typed_route instead of ROUTER::add_route everywhere (#33866)
* Use ROUTER::add_typed_route where possible

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update webxr, media and ipc-channel

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-18 10:47:52 +00:00
tanishka
f826698d6e
CanGc fixes in components/script/dom (#33891)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-17 22:36:04 +00:00
chickenleaf
9c893c7f4d
More CanGc fixes (#33888)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-17 19:36:42 +00:00
Simon Wülker
4a58616770
Fix type mismatches in Router::add_route calls (#33882)
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-17 13:09:48 +00:00
lwz23
595aab10dc
fix clippy warning in components/script (#33878)
Signed-off-by: lwz23 <wenzhaoliao@ruc.edu.cn>
2024-10-17 12:58:28 +00:00
tanishka
cd7b66be58
CanGc fixes in components/script/dom (#33880)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-17 12:49:00 +00:00
evuez
72ff89620b
Handle multibyte characters in img srcset (#33873)
This was causing this web platform test to crash:
https://wpt.fyi/results/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html

Signed-off-by: evuez <julien@mulga.net>
2024-10-17 08:13:18 +00:00
Martin Robinson
036e74524a
net: Start reducing number of IPCs channels used for fetch with a FetchThread (#33863)
Instead of creating a `ROUTER` for each fetch, create a fetch thread
which handles all incoming and outcoming fetch requests. Now messages
involving fetches carry a "request id" which indicates which fetch is
being addressed by the message. This greatly reduces the number of file
descriptors used by fetch.

In addition, the interface for kicking off fetches is simplified when
using the `Listener` with `Document`s and the `GlobalScope`.

This does not fix all leaked file descriptors / mach ports, but greatly
eliminates the number used. Now tests can be run without limiting
procesess on modern macOS systems.

Followup work:

1. There are more instances where fetch is done using the old method.
   Some of these require more changes in order to be converted to the
   `FetchThread` approach.
2. Eliminate usage of IPC channels when doing redirects.
3. Also eliminate the IPC channel used for cancel handling.
4. This change opens up the possiblity of controlling the priority of
   fetch requests.

Fixes #29834.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-16 16:53:24 +00:00
Taym Haddadi
2115267328
Add missing XRWebGLBinding constructor spec steps (#33731)
* Add missing XRWebGLBinding constructor spec steps

Signed-off-by: Taym <haddadi.taym@gmail.com>

* Update test expectation

Signed-off-by: Taym <haddadi.taym@gmail.com>

---------

Signed-off-by: Taym <haddadi.taym@gmail.com>
2024-10-16 16:12:37 +00:00
tanishka
cde6931f4b
clippy: Fix warnings in components/script/dom (#33860)
* clippy: Fix warnings in components/script/dom

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Move allow to WRAP level

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-16 15:48:53 +00:00
tanishka
a646c850c6
clippy: Fix warnings in components/script/dom & components/servo (#33853)
* clippy: Fix warnings in components/script/dom & components/servo

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Move allow to the level of the named field

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Add blank lines before & after field

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* remove trailing whitespace

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-16 15:34:14 +00:00
komuhangi
b0a33d6b02
Some CanGc Fixes (#33865)
Signed-off-by: jahielkomu <ktumuhairwe24@gmail.com>
2024-10-16 15:14:28 +00:00
tanishka
2b9527262c
CanGc fixes in components/script/dom (#33862)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-16 14:18:07 +00:00
chickenleaf
2e0fbfcb95
Fix GC borrow hazard in XRInputSourceArray (#33857)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-16 11:08:31 +00:00
Martin Robinson
30abb99287
clippy: Add safety documentation and clean up unsafe methods (#33748)
This change:

1. Adds safety documentation where it was missing.
2. Limits the scope of unsafe code in some cases to where it is actually
   unsafe.
3. Converts some free functions to associated functions and methods,
   thereby making them more likely to be called safely.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-16 08:11:31 +00:00
chickenleaf
a2f81d69c1
CanGc fixes (#33852)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-16 02:50:28 +00:00
tanishka
c37fb2e453
clippy: Fix type_complexity warning in components/script/dom (#33835)
* clippy: Fix type_complexity warning in components/script/dom/bluetoothdevice.rs

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Fix clippy warnings due to code changes

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Move documentation comment

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Root the new struct

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-15 07:39:15 +00:00
chickenleaf
b088a8b8f1
Fix Clippy warning: remove unneeded late initialization of string (#33840)
* Fix Clippy warning: remove unneeded late initialization of string

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* Fixed the comments placement

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-15 06:09:26 +00:00
tanishka
46d6c0c883
CanGc fixes in components/script/dom (#33843)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-15 04:45:16 +00:00
chickenleaf
1e39787573
CanGc fixes and checks in multiple files (#33836)
* CanGc fixes and checks in multiple files

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* CanGc fixes in storageevent.rs

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-15 04:30:48 +00:00
tanishka
cfd15dd14d
CanGc fixes originating from gamepadevent.rs & stereopannernode.rs (#33828)
* CanGc fixes originating from gamepadevent.rs & stereopannernode.rs

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Revert changes within task! macro

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-14 13:22:08 +00:00
komuhangi
717baff17b
Fixed same_enum_variation clippy warnings in components/script/dom (#33818)
Signed-off-by: jahielkomu <ktumuhairwe24@gmail.com>
2024-10-14 04:12:19 +00:00
chickenleaf
fc0835bae3
CanGc fixes in focusevent.rs oscillartornode.rs response.rs resizeobserversize.rs animationevent.rs (#33827)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-13 21:35:59 +00:00
chickenleaf
92f12ff7cd
Propagate CanGc through dommatrix, dommatrixreadonly, and testbindings (#33822)
* CanGc fixes starting from dommatrix.rs
fixed conflicts
Signed-off-by: L Ashwin B <lashwinib@gmail.com>

~

* cleaning up

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* fixed cannot find value can_gc in this scope error

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-13 16:11:46 +00:00
Simon Wülker
bdd5fb2e5b
Use document encoding when parsing url in href setter (#33825)
* Implement encoding-parse-a-url algorithm

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Parse url with encoding when setting href on HtmlAnchorElement

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-13 15:12:51 +00:00
shanehandley
ded518dfd0
Remove some fixed fixmes (#33824)
Signed-off-by: Shane Handley <shanehandley@fastmail.com>
2024-10-13 11:56:37 +00:00
tanishka
5c0a0d29d0
clippy: Fix warnings in components/script & components/script/dom (#33821)
* clippy: Fix warnings in components/script & components/script/dom

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Remove unused variable - can_gc

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Use _can_gc instead of removing it

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-13 01:05:46 +00:00
chickenleaf
a55f9a37ec
CanGc fixes starting from blob.rs, mediastream.rs, custom_event.rs (#33820)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-12 17:17:47 +00:00
tanishka
e5e1ef9fb6
Replace CanGc::note() calls with arguments in components/script (#33816)
* Replace CanGc::note() calls with arguments in components/script

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Revert changes for task macro

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-11 19:23:58 +00:00
chickenleaf
20a15619f0
CanGc fixes starting from imagedata.rs (#33808)
* CanGc fixes starting from imagedata.rs

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* Update components/script/dom/imagedata.rs

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: chickenleaf <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
Signed-off-by: chickenleaf <lashwinib@gmail.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2024-10-11 16:38:23 +00:00
tanishka
27b25e869b
content: Replace uses of downcast+is_some/is_none with is (#33804)
* content: Replace uses of downcast+is_some/is_none with is

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Remove ! to return correct logic

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-11 15:40:39 +00:00
Simon Wülker
c5899e596d
Implement DOMRect::FromRect (#33798)
* Implement DOMRect::FromRect

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Silence crown errors

The rect type does not contain any gc'd members,
so not rooting it is perfectly fineSilence crown errors

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Add SVGRect to the list of exposed interface globals

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT manifest

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-11 15:35:59 +00:00
tanishka
8843a0e400
clippy: Fix type_complexity warnings in components/script/dom (#33790)
* clippy: Fix type_complexity warnings in components/script/dom

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Use explicit & implicit method calls where needed

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Remove unwrap & pass pipeline_layout

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Remove unused variable - bgls

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-11 14:57:41 +00:00
chickenleaf
2a6cfbaaf9
Throw NotSupported error and update expected results for XRSession::UpdateRenderState (#33803)
* Throw NotSupported error and update expected results for xrSession_updateRenderState

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* deleted the log file

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-11 12:09:41 +00:00
chickenleaf
88f1d9dd5e
clippy: Refactor script/dom/globalscope.rs to avoid overly complex types (#33782)
* Simplified types in globalscope.rs, folded callbacks, and replaced Result with Fallible

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* clippy: Refactor script/dom/globalscope.rs to avoid overly complex types

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-11 03:54:41 +00:00
webbeef
2b71130a8a
Various CanGc fixes (#33800)
* CanGc fix for pagetransitionevent

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for dom/node

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for gamepad

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for gpu

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for dom/element

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for xhr

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for dom/worker

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for rtcdatachannel

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for rtcerror

Signed-off-by: webbeef <me@webbeef.org>

* Address review comments

Signed-off-by: webbeef <me@webbeef.org>

---------

Signed-off-by: webbeef <me@webbeef.org>
2024-10-11 03:53:39 +00:00
Simon Wülker
c00c6e728d
Implement DOMMatrix stringifier (#33792)
* Implement DOMMatrix stringifier

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-11 03:06:44 +00:00
Simon Wülker
fc2c77be83
Use NaN-safe comparisons in DOMQuad::GetBounds (#33794)
* Use nan-safe comparison in DOMQuad::GetBounds

This fixes at least the following WPT test:
* css/geometry/DOMQuad-nan.html

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-11 02:43:44 +00:00
Simon Wülker
f15da16da4
Update DOMMatrix::is2D when modifying elements (#33796)
* Invalidate DOMMatrix::is2D when modifying matrix values

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-11 01:55:27 +00:00
birdbrained
1668b12ded
Replace some Point2D::new(0, 0) instances with Point2D::zero() (#33783)
Signed-off-by: hackerbirds <120066692+hackerbirds@users.noreply.github.com>
2024-10-10 18:20:51 +00:00
Gae24
c6d305fbb3
fix clippy warnings in codegen (#33781)
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2024-10-10 16:15:05 +00:00
webbeef
f9a06d62a2
More CanGc fixes: Range, Event, gpu error, Header (#33774)
* Propagate CanGc parameter in Range

Signed-off-by: webbeef <me@webbeef.org>

* Propagate CanGc parameter in gpu code and dependencies

Signed-off-by: webbeef <me@webbeef.org>

* Propagate CanGc parameter in Header and dependencies

Signed-off-by: webbeef <me@webbeef.org>

* Propagate CanGc parameter in Event and dependencies

Signed-off-by: webbeef <me@webbeef.org>

* Propagate CanGc parameter in rtcdatachannel

Signed-off-by: webbeef <me@webbeef.org>

* Propagate CanGc parameter in servoparser

Signed-off-by: webbeef <me@webbeef.org>

---------

Signed-off-by: webbeef <me@webbeef.org>
2024-10-10 15:51:22 +00:00
Martin Robinson
6f87c38cda
clippy: Rename various methods and members to conform to naming guidelines (#33762)
This ensure that methods named `new()` do not take `&self` or return
`Box<Self>`. In addition, method are renamed (or removed when not
necessary) to avoid being prefixed with `from_`.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-10 10:21:07 +00:00
Samson
7cd73ef4a7
use ThreadSafeJSContext instead of ContextForRequestInterrupt (#33769)
* use `ThreadSafeJSContext` instead of `ContextForRequestInterrupt`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* use servo/mozjs

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-10-10 09:43:51 +00:00
komuhangi
0c4720140f
Fixed some clippy warnings in components/script/dom (#33757)
* Fixed some clippy warnings in components/script/dom

Signed-off-by: jahielkomu <ktumuhairwe24@gmail.com>

* Incorporated review suggestions

Signed-off-by: jahielkomu <ktumuhairwe24@gmail.com>

---------

Signed-off-by: jahielkomu <ktumuhairwe24@gmail.com>
2024-10-10 04:05:46 +00:00