Commit graph

28735 commits

Author SHA1 Message Date
tanishka
2b9527262c
CanGc fixes in components/script/dom (#33862)
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-16 14:18:07 +00:00
Oriol Brufau
5148b444be
Minor cleanup for Size after #33844 (#33861)
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-10-16 13:53:46 +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
Delan Azabani
fa1f7e5839
Gate all use of tracing behind Cargo feature (#33845)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-10-16 10:24:24 +00:00
Oriol Brufau
103d3aa7bb
Avoid wrapping line at the start of text run with text-wrap-mode: nowrap (#33848)
When computing the min-content size of an inline formatting context,
we could allow a soft wrap opportunity at the start of a text run.
This shouldn't happen with `text-wrap-mode: nowrap`.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-10-16 10:22:11 +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
Simon Wülker
ed959d7a1a
Implement fetch metadata headers (#33830)
* Implement sec-fetch-dest header

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

* Implement "is same site" algorithm

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

* Implement remaining sec-fetch-* headers

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

* Fix casing of header names

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

* Fix handling Destination::None in sec-fetch-dest

This also removes the comment about wanting to upgrade
to a newer content-security-protocol version because
the csp doesn't implement the "empty" case.

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

* Update WPT expectations

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

* Remove colon from spec comment

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

* Adjust expected default headers

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

* Fix test expectations

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

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-16 04:15:56 +00:00
chickenleaf
a2f81d69c1
CanGc fixes (#33852)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-16 02:50:28 +00:00
Oriol Brufau
564478ef0d
Remove SizeKeyword, merge it into Size (#33844)
It's not really useful to have it.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-10-15 10:30:22 +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
Oriol Brufau
b9ed45942d
Avoid recomputing inline_content_sizes() when not needed (#33806)
The result of `inline_content_sizes()` may depend on the block size of
the containing block, so we were always recomputing in case we got
a different block size.

However, if no content has a vertical percentage or stretches vertically,
then we don't need to recompute: the result will be the same anyways.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-10-14 16:06:27 +00:00
Cristian Brinza
821bed1d11
Fix headless mode on Windows (#33817)
Signed-off-by: crbrz <cristianb@gmail.com>
2024-10-14 13:24:03 +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
Oriol Brufau
a86dcfc6e7
Unify logic for laying out floats and atomic inlines (#33802)
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-10-11 18:26:00 +00:00
Mercy Bassey
e09362cd3c
clippy: Fix issues in components/fonts and ports/servoshell (#33809)
* fix linting issues

Signed-off-by: mercybassey <udohmercy911@gmail.com>

adding '-s'

* Remove a pair of unecessary parenethesis

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

---------

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-10-11 17:23:38 +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
Martin Robinson
0553789d48
fonts: Instantiate system fonts using system font loaders (#33747)
System fonts used to be instantiated using the system font loader and
this change restores that behavior. In addition, on macOS and FreeType
platforms font data for system fonts is loaded using memory mapping. The
benefit is that system font loaders typically are able to cache fonts in
system memory (using memory mapping, for instance) and we'd like to load
them in a the way most compatible with other applications.

On my Linux system, this manages to get the overhead of loading a very
large font down from 10ms to approximately 1ms. Subsequent runs show
even less overhead. We've measured similar gains on macOS systems.

Currently, system font data must be loaded into memory manually for
canvas and this is unlikely to change even with a switch to `vello`. The
use of explicit memmory mapping should help in this case -- though it
probably won't be possible to use this properly on macOS and Windows if
we ever want to load fonts from TTCs properly.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-10 23:09:51 +00:00
tanishka
091b8ecda0
layout: Handle inline margins in layout_for_block_content_size() (#33780)
* fix: Handle inline margins in layout_for_block_content_size()

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

* Update test expectations

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

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-10 20:45:18 +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
Ngo Iok Ui (Wu Yu Wei)
b58cee48ce
doc(resources): Preferences, HstsPreloadList, RippyPNG (#33775)
* Set to default if Preferences and HstsPreloadList are empty

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Add documentation of Preferences, HstsPreloadList, RippyPNG

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Add warn log when setting prefs to default

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Add error log instead

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Add error log to HSTS preload list

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Apply suggestions from code review

Address a couple wording nits

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

---------

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-10-10 18:19:41 +00:00
Josh Matthews
6b3a316e1b
Remove most usage of ReentrantMutex in font code (#33746)
* Remove unnecessary ReentrantMutex usage for senders.

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

* Remove double lock for freetype face.

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

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2024-10-10 16:55:19 +00:00
birdbrained
a591778a25
Improve Au(0) constructions (#33709)
This replaces `Au(0)` with `Au::zero()` and other utility functions when possible.

Signed-off-by: hackerbirds <120066692+hackerbirds@users.noreply.github.com>
2024-10-10 16:45:18 +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
Oriol Brufau
8c56cbdab2
Implement keyword sizes on atomic inlines (#33737)
Adds support for min-content, max-content, fit-content and stretch,
for atomic inlines.

There are some new test failures because we don't support vertical
writing modes nor `transition-behavior:allow-discrete`.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-10-10 15:25:59 +00:00
Adavize Promise
52cddb45bd
Use content_box_sizes_and_padding_border_margin_deprecated() in FlexItem::new() (#33754)
* Use content_box_sizes_and_padding_border_margin_deprecated() in FlexItem::new()

Signed-off-by: PS Adavize <siyakapromise@gmail.com>

* remove unnecessary variable declaration declaration

Signed-off-by: PS Adavize <siyakapromise@gmail.com>

* Remove redundant variable pbm

Signed-off-by: PS Adavize <siyakapromise@gmail.com>

---------

Signed-off-by: PS Adavize <siyakapromise@gmail.com>
2024-10-10 11:13:48 +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
Oriol Brufau
2805d3ce14
Fix writing mode in content_box_sizes_and_padding_border_margin() (#33773)
This method should use the writing mode from the containing block,
not the one of the current style.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-10-10 09:55:35 +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