Commit graph

28167 commits

Author SHA1 Message Date
Simon Wülker
2113e54819
Set composed flag for mouse events dispatched by the UA (#36010)
* Add doc comments to mouse event methods

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

* Make MouseEvents composed by default

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

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-18 09:35:24 +00:00
DK Liao
bcdd34e2aa
chore: Move unsafe operations in unsafe functions to unsafe blocks (#36017)
Signed-off-by: DK Liao <dklassic@gmail.com>
2025-03-18 06:19:35 +00:00
Arya Nair
94d12de7fd
feat: add CanGc argument to Error::to_jsval (#36014)
* feat: add CanGc argument to Error::to_jsval

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>

* feat: pass CanGc to gen_type_error

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>

* fix: linting issues

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>

---------

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
2025-03-17 22:29:41 +00:00
batu_hoang
28c8c1df0c
Implement declarative shadow dom (#34964)
* Implement declarative shadow dom

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Set allowDeclarativeShadowRoots false for innerHTML

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Enable allowDeclarativeShadowRoots for Document

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Expose HTMLTemplateElement to js

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Implemenet setHTMLUnsafe and add more test cases

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Declarative shadow dom: minor updates and expected test result update

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Shadow-dom: add more test cases

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Update comments according to the spec

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

* Bump html5ever version

Signed-off-by: batu_hoang <longvatrong111@gmail.com>

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-03-17 09:41:34 +00:00
Josh Matthews
c8d8787959
Move CustomTraceable to script_bindings. (#35988)
* script: Move CustomTraceable to script_bindings.

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

* script: Move record binding support to script_bindings.

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

* Address clippy warnings.

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

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-16 14:08:22 +00:00
Josh Matthews
d35da38a2f
Cleanups for future script crate split (#35987)
* script: Avoid direct impl blocks on generated dicts and unions.

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

* script: Remove references to codegen-specific import module.

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

* Fix tidy.

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

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-16 13:46:14 +00:00
Gregory Terzian
3ecd1c0699
Use stream in file read operation (#35969)
* use read_all_bytes in file read operation

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add docs

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

---------

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-03-16 10:37:07 +00:00
Josh Matthews
d8fc1d8bb8
Refactor common boilerplate out of serialize/transfer implementations (#35831)
* script: Create infrastructure for reducing hand-written serializable/transferrable implementations.

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

* script: Clone all serializable DOM interfaces.

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

* script: Deserialize all serializable DOM interfaces.

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

* script: Serialize all serializable DOM interfaces.

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

* script: Transfer-receive all transferable DOM interfaces.

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

* script: Transfer all transferable DOM interfaces.

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

* Formatting.

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

* script: Extract boilerplate from serialize/deserialize implementations.

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

* script: Extract boilerplate from transfer-receive.

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

* script: Extract boilerplate from transfer operation.

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

* Tidy fixes.

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

* script: Check transferability of all DOM interfaces.

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

* Clippy fixes.

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

* Clippy fixes.

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

* Remove unnecessary duplicate crate.

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

* Formatting.

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

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-15 13:58:56 +00:00
Josh Matthews
21ecfdd088
Various fixes for webdriver conformance tests (#35737)
* servodriver: Ensure capabilities is always a non-empty value.

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

* webdriver: Serialize arguments object like an array.

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

* webdriver: Ensure script body is always valid JS.

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

* webdriver: Use current browsing context when getting element center point.

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

* webdriver: Propagate errors received from getting element center point.

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

* webdriver: Ensure opening a new window records a unique window handle.

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

* webdriver: Don't panic if script execution fails.

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

* webdriver: Do not update the current browsing context after closing a window.

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

* Formatting.

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

* webdriver: Use more precise check for arguments exotic object.

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

* Formatting.

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

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-15 13:54:14 +00:00
Martin Robinson
bc4ee8b56a
constellation: Remove two unused messages to the Constellation (#35972)
This also removes supporting code which becomes unused as well.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-15 12:54:48 +00:00
Oriol Brufau
7517976722
layout: Unify FlexItem::new() and FlexItemBox::main_content_size_info() (#35900)
These methods were doing virtually the same thing. So this patch moves
the common logic into a new `FlexItemBox::to_flex_item()`, which is then
called by `FlexItem::new()` and `FlexItemBox::main_content_size_info()`.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-14 21:37:19 +00:00
Simon Wülker
f93d65b496
script: Implement HTMLOptgroupElement::Label (#35970)
* Implement HTMLOptgroupElement::Label

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>
2025-03-14 20:33:07 +00:00
chocolate-pie
455f4202c6
layout: Add support for basic transform css properties (#35926)
Signed-off-by: Chocolate Pie <106949016+chocolate-pie@users.noreply.github.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-03-14 14:46:20 +00:00
Sebastian C
7f2f51b59d
Bring back DOM GC checkpoint to script_thread (#35949)
Signed-off-by: Sebastian C <sebsebmc@gmail.com>
2025-03-14 07:40:04 +00:00
Oriol Brufau
7cf2fc88a0
layout: Allow lazy resolution of automatic minimum sizes (#35965)
`Size::resolve_for_min()` had an `Au` parameter, representing the value
to be used for an automatic minimum size. However, this amount isn't
trivial to compute in flexbox, so this patch changes the parameter to a
function that can be called lazily.

Note flexbox isn't currently using `Size::resolve_for_min()`, but it
will in #35961.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-13 22:50:16 +00:00
Xiaocheng Hu
62d6759106
Check whether an element is custom in the spec-compliant way (#35960)
* Check whether element is custom in spec-compliant way

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>

* Update tests

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>

---------

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-03-13 18:03:57 +00:00
Martin Robinson
be164874e7
script: Remove ThreadSafeLayoutNode::is_ignorable_whitespace (#35959)
This is now unused with the removal of legacy layout. I didn't see any
others methods in this trait that were unused.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-13 13:10:48 +00:00
Simon Wülker
e627ac5cfd
Hide servo internal shadow roots from the inspector by default (#35958)
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-13 13:08:24 +00:00
Martin Robinson
294a649a6c
Use strum to iterate through enum variants and get their names (#35933)
`strum` allows us to avoid manually listing enum variant names and also
to get their names as static strings. We cannot use this for all cases
due to https://github.com/Peternator7/strum/issues/152, but we can
still use it to remove a lot of code.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-13 12:00:31 +00:00
atbrakhi
959720db0a
devtools: use correct id for browser_id and outer_window_id (#35884)
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2025-03-13 11:39:06 +00:00
Xiaocheng Hu
3b724d5bbf
Don't run disconnected callback on already disconnected custom elements (#35883)
* Add missing step 11 of remove a node algorithm

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>

* Rebaseline tests

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>

---------

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-03-13 11:07:08 +00:00
Taym Haddadi
2ccb818a60
script: refactor create_buffer_source_with_constructor (#35952)
Signed-off-by: Taym <haddadi.taym@gmail.com>
2025-03-13 10:28:24 +00:00
Simon Wülker
bb0d08432e
Migrate to the 2024 edition (#35755)
* Migrate to 2024 edition

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

* Allow unsafe_op_in_unsafe_fn lint

This lint warns by default in the 2024
edition, but is *way* too noisy for servo.

We might enable it in the future, but not now.

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

* Compile using the 2024 edition

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

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-13 10:28:11 +00:00
atbrakhi
eb2ca42824
devtools: improve ID Naming for better readability and context (#35942)
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2025-03-13 07:36:54 +00:00
Oriol Brufau
7594dc6991
Remove legacy layout (layout 2013) (#35943)
We were already not compiling it and not running tests on it by default.
So it's simpler to just completely remove it.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-13 07:26:57 +00:00
Oriol Brufau
f93006af95
Improve logic for establishing a stacking context (#35947)
In particular:
 - `z-index` will now work on unpositioned grid items.
 - `will-change: z-index` will only establish a stacking context if
   `z-index` applies, i.e. if the box is positioned or a flex/grid item.
 - The conditions in `establishes_stacking_context()` are reordered,
   so that the most likely ones are checked first.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-13 06:49:08 +00:00
Simon B / GrausamkeitEnjoyer / God's Eye View Developer
205b97d5ed
compositing: Move cursor_pos member and update it in update_cursor() (#35934)
Previously a member of IOCompositor, the `cursor_pos` DevicePoint did not reflect
the true position of the cursor. This caused flickering on mouse hover,
see [issue #35875.] The value of `cursor_pos` within IOCompositor
was always (x=0, y=0) regardless of the true cursor position
(it was never updated, must be a bug or an oversight?).

Moving `cursor_pos` to `ServoRenderer`, updating `cursor_pos` on `dispatch_input_event()`,
and storing cursor position in `ServoRenderer` through method `update_cursor()` fixes
the flickering previously observed.

Signed-off-by: devgev <leifminfagel@gmail.com>
2025-03-13 02:03:46 +00:00
Oriol Brufau
98816b753c
layout: Remove special height logic of replaced element with auto width (#35275)
When computing the intrinsic block size of a replaced element with a
computed preferred inline size of `auto`, instead of transferring the
final inline size through the aspect ratio, we were only transferring
the min and max constraints.

We did this to match other browsers, but Ian Kilpatrick agreed that this
is a bug and plans to change Blink.

CSSWG issue: https://github.com/w3c/csswg-drafts/issues/11236

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-13 00:57:26 +00:00
Simon Wülker
b10c53ba6b
Set is value when constructing custom elements with the new operator (#35930)
* Add doc comments throughout the code

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

* Set is-value for elements constructed with the "new" operator

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

* Allow custom elements to extend <slot>

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>
2025-03-12 17:53:27 +00:00
Samson
6f6840d63c
canvas: Do not update ImageKey during canvas layout (#35719)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-03-12 15:36:52 +00:00
Martin Robinson
4f58fa4d44
bhs: Remove direct link to liblzma (#35924)
This workaround doesn't seem to be necessary any longer.

Fixes #35914.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-12 10:20:51 +00:00
Nico Burns
d57dbb4d47
Upgrade Stylo to 2025-03-01 (#35925)
Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-03-12 06:30:49 +00:00
Simon Wülker
8034216d06
Implement ElementInternals::shadowRoot (#35923)
* Implement ElementInternals::shadowRoot

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>
2025-03-12 00:09:32 +00:00
Nico Burns
f527217bdc
Use new stylo crate renames (#35898)
Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-03-12 00:02:12 +00:00
Oriol Brufau
9858ec81f9
layout: Fix interaction of margin and stretch size on block-level boxes (#35904)
The CSSWG resolved that `block-size: stretch` on a block-level box
stretches the margin box to fill the parent. However, if the parent
doesn't have padding nor border, and doesn't establish an independent
formatting context, then we assume that the margins will collapse.
Therefore, we treat the margins as zero when resolving the stretch size,
regardless of whether they will actually end up collapsing.

https://github.com/w3c/csswg-drafts/issues/11044#issuecomment-2599101601
https://drafts.csswg.org/css-sizing-4/#stretch-fit-sizing

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-11 21:32:28 +00:00
Simon Wülker
c5432fc0d2
Enable ShadowDom support by default (#35899)
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-11 11:17:06 +00:00
Martin Robinson
2464d0937f
base: Finish rename of TopLevelBrowsingContextId to WebViewId (#35896)
The `WebViewId` name is a lot more descriptive these days to the casual
reader, so I think we can go ahead and finish the rename.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-11 10:56:10 +00:00
Nico Burns
4611c8b0e1
Eliminate to_shmem dependency from servo_url (#35897)
Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-03-11 00:33:39 +00:00
Simon Wülker
fd0e2125c6
Keep a list of slot descendants on each shadow root (#35802)
This makes it much faster to traverse over the slot descendants of
a shadow root, which is a fairly costly part of "assign slottables to a tree".

This reduces the time it takes for the results to load on wpt.fyi from
over 3 minutes to about 5 seconds.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-10 23:11:20 +00:00
Oriol Brufau
0419a7818d
layout: Remove calculate_hypothetical_cross_size() (#35821)
One of the callers was only used for an assert, and it was passing an
inline size argument to a parameter expecting a block size, so it wasn't
making much sense anyways.

Just inline the code into the other caller, and for consistency remove
the assert for replaced elements too.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-10 20:38:44 +00:00
Taym Haddadi
a5cf04c479
script: implement ReadableByteStreamController (#35410)
* script: implement ReadableByteStreamController

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

* implement can_copy_data_block_bytes and copy_data_block_bytes

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

* Remove BufferSource::Default

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

* implement StartAlgorithmFulfillmentHandler, StartAlgorithmRejectionHandler, PullAlgorithmFulfillmentHandler, PullAlgorithmRejectionHandler for ReadableByteStreamController

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

* implement perform_pull_into

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

* fix build

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

* Fix clippy

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

* Fix build

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

* Remove RefCell from PullIntoDescriptor and QueueEntry

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

* Remove commented code

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

* add perform_cancel_steps, perform_release_steps and perform_pull_steps

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

* fix clippy

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

* fix crown

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

* unskip readable-byte-streams

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

* Fix CRASH

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

* fix clippy

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

* Fix more CRASHS

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

* fix more crashes

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

* Fix bad-buffers-and-views.any.js test

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

* Update test expectations

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

* Fix BorrowMutError crashes

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

* fix view_byte_length  test

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

* Fix non-transferable-buffers test

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

* Pass contexts as much as possible by reference

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

* Make respond_internal Fallible

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

* Fix crwon

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

* fix process pull into descriptors using queue logic and resulting double-borrow

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* Fix clippy

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

* FIx more crashes

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

* Fix timeout tests

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

* Fix all tests

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

* Remove all error! logs

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

* Remove  #[allow(unsafe_code)]

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

* Fix lint
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>

* Fix tidy

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

* Fix test expectation

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

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-03-10 19:43:04 +00:00
Simon Wülker
ccd4b113a8
Don't run scripts in documents that don't have a browsing context (#35871)
* Don't run scripts in document that don't have a browsing context

For confirmation that this is correct, refer to the note under
Step 3 of https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring.

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>
2025-03-10 16:34:09 +00:00
boluochoufeng
1200617683
Fix the parsing error of PrefValue::Array, which is used for the parsing of Preferences shell_background_color_rgba field (#35865)
Signed-off-by: blycf <1355990831@qq.com>
2025-03-10 15:16:11 +00:00
Oriol Brufau
c6527c4118
layout: Support min/max cross keywords sizes in flexbox (#35860)
Adds support for min-content, max-content, fit-content and stretch on
the min and max cross size properties of a flex item.
With one exception: when resolving the main sizes, transferred cross
minimums and maximums will still ignore keywords.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-10 14:25:56 +00:00
Oriol Brufau
56da4ad959
layout: Only prevent fixed table layout when inline-size is auto (#35882)
We were ignoring `table-layout: fixed` both for `inline-size: auto` and
`inline-size: max-content`. However, the CSSWG resolved that fixed table
layout should be triggered except when `inline-size` is `auto`.
https://github.com/w3c/csswg-drafts/issues/10937#issuecomment-2669150397

Blink has already adopted this change, and they modified the WPT
`/css/css-tables/fixed-layout-2.html` accordingly. Here I'm doing some
further cosmetic cleanups to the test.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-10 14:09:43 +00:00
Stephen Muss
79e25a3e77
Show correctly computed element display type in devtools (#35870)
Signed-off-by: Stephen Muss <stephenmuss@gmail.com>
2025-03-10 12:32:30 +00:00
Oriol Brufau
71c207ff25
layout: Handle keyword sizes when computing the hypothetical cross size (#35826)
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-10 12:06:33 +00:00
Xiaocheng Hu
b1e1e01ee9
Fix animation frame callback cancellation (#35849)
Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-03-10 11:04:46 +00:00
shanehandley
7fc5dc5c69
script: use passive event listener option on AddEventListenerOptions (#35877)
Signed-off-by: Shane Handley <shanehandley@fastmail.com>
2025-03-10 09:44:16 +00:00
Simon Wülker
1b6b21cb85
Implement nonce attribute to pass more CSP checks (#35876)
* Add doc comments to RequestBuilder fields/methods

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

* Implement Request::cryptographic_nonce_metadata

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

* Implement HTMLOrSVGElement::nonce

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

* Set request cryptographic nonce metadata for link elements

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

* Set request's cryptographic nonce when fetching scripts

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

* Forward request nonce to rust-content-security-policy

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>
2025-03-10 09:25:34 +00:00