Commit Graph

10813 Commits

Author SHA1 Message Date
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
komuhangi
0a71c736f0 clippy: fix clippy warnings in components/script (#33849)
* Clippy:Fix clippy warnings in components/script

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

* Addressed changes suggested in #33849

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

---------

Signed-off-by: jahielkomu <ktumuhairwe24@gmail.com>
2024-10-16 10:21:25 +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
tanishka
9a8e7f4867 clippy: Fix warnings in components/script/dom (#33771)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-09 21:44:01 +00:00
Martin Robinson
9195344b75 compositor: Create a single cross-process compositor API (#33619) (#33660)
Instead of exposing many different kinds of messages to the compositor
that are routed through the constellation, expose a single message type
which can be sent across IPC channels. In addition, this IPC channel and
the route to the crossbeam channel with the compositor is created along
with the `CompositorProxy`, simplifying what needs to be passed around
during pipeline initialization.

Previously, some image updates (from video) were sent over IPC with a
special serialization routine and some were sent via crossbeam channels
(canvas). Now all updates go over the IPC channel `IpcSharedMemory` is
used to avoid serialization penalties. This should improve performance
and reduce copies for video, but add a memory copy overhead for canvas.
This will improve in the future when canvas renders directly into a
texture.

All-in-all this is a simplification which opens the path toward having a
standard compositor API and reduces the number of duplicate messages and
proxying that had to happen in libservo.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-09 17:30:24 +00:00
tanishka
30cbf01280 Rename first_contained_child & last_contained_child to first_partially_contained_child & last_partially_contained_child (#33758)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-09 12:46:48 +00:00
Gae24
5ba8054b69 refactor CGClassConstructHook to use handwritten constructors (#33614)
* extract generated class constructor hook into handwritten functions

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* downcast to window only when it's actually used

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* simplify downcast

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* rename htmlconstructor to constructor, include call_default_constructor in it

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2024-10-09 12:33:44 +00:00
chickenleaf
589f0d7018 Fix clippy warning: slow zero-filling initialization (#33740)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-08 23:36:52 +00:00