Conversation
Any ancestors of this commit are from upstream mozilla-central, with some filtering and renaming. Our patches and sync tooling start here. The sync tooling has all been squashed into this commit, based on: https://github.com/servo/stylo/commits/64731e10dc8ef87ef52aa2fb9f988c3b2530f3a7
This is a rebase of 5685b27 Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
…#406) Servo PR: servo/servo#46118 Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Corresponding servo PR is at servo/servo#45492 Signed-off-by: Psychpsyo (Cameron) <60073468+Psychpsyo@users.noreply.github.com>
Removes `engine = "gecko"` from 11 SVG-specific CSS properties to be enabled for servo: - **Fill (3):** `fill`, `fill-opacity`, `fill-rule` - **Stroke (8):** `stroke`, `stroke-width`, `stroke-linecap`, `stroke-linejoin`, `stroke-dasharray`, `stroke-dashoffset`, `stroke-miterlimit`, `stroke-opacity` Also updates the `ComputedValues` size test (224 → 232) for the new fields. Servo [PR](servo/servo#45405) --------- Signed-off-by: Mohamed Mostafa mu-mostafa98@gmail.com Co-authored-by: Mohamed Mostafa <mu-mostafa98@gmail.com>
This is a partial revert of servo#340. Waiting for an available macOS runner frequently takes very long, which makes it annoying when trying to land multiple patches, since they need to also be coordinated with the companion patches in Servo. So I think it's better to not wait for the macOS job after all. We will still wait for the Linux and Windows ones. Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Already landed upstream: https://phabricator.services.mozilla.com/D311004 (71a8a43) Importing it here early to prevent other PRs from adding new Servo-specific derives due to copy-pasting. Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Removes `engine = "gecko"` from 8 SVG-geometric properties to be enabled for servo: - `x` - `y` - `cx` - `cy` - `rx` - `ry` - `r` - `d` Servo [PR](servo/servo#46558) Signed-off-by: Mohamed Mostafa <mu.mostafa98@gmail.com>
servo#377) Servo PR: servo/servo#45308 --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Oddly enough the longhand itself was already enabled. Its not yet supported in servo though. Servo PR: servo/servo#46618 Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
…` if delay changes (servo#422) If the delay in an animation changes, we still might need to update the `Paused` state if the animation is moving from `Playing` to `Paused`. Servo PR: servo/servo#46689 Signed-off-by: Martin Robinson <mrobinson@igalia.com>
… Blitz (servo#426) Enables `text-decoration-thickness`, `text-decoration-inset`, `text-underline-offset`, and `text-underline-position` for Servo builds of Stylo, behind the `layout.unimplemented` feature flag. The shorthand `text-decoration` is updated to account for `text-decoration-thickness` being enabled (this aligns Servo's implementation with Gecko's for this property). Servo PR: - servo/servo#46592 --------- Signed-off-by: Nico Burns <nico@nicoburns.com>
Fixes: servo#433 Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Every fragment in the fragment tree stores:
```rust
pub struct PseudoElementChain {
pub primary: Option<PseudoElement>,
pub secondary: Option<PseudoElement>,
}
```
… so this change reduces memory use slightly
Signed-off-by: Simon Sapin <simon@igalia.com>
Signed-off-by: Simon Sapin <simon@igalia.com>
With these changes, both the `color-scheme` CSS property is supported, as well as the required logic to act upon it. Supersedes and closes servo#411 Servo PR: servo/servo#47042 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
Drive-by: `math-auto` is not a case transform. It is more like `none`: a stand-alone value that cannot be combined with `full-width` or `full-size-kana` in spec grammar. Servo PR: servo/servo#47225 Signed-off-by: Simon Sapin <simon@igalia.com>
clip-path's calculations in servo occur while building the stacking context. If the value changes, we need to rebuild the stacking context. servo/servo#47256 Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Changes made: - Implement the [animation-composition](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/animation-composition) CSS property. - Shares animation matrix decomposition logic with Gecko (fixes a couple of regressions due to the Servo version of the code not rejecting matrices with a zero determinant) Implementation is entirely in Stylo. Servo PR: servo/servo#47405
nicoburns
force-pushed
the
better-media-update-api
branch
from
August 24, 2026 22:20
bbfa9ca to
3fa0f84
Compare
jdm
approved these changes
Aug 26, 2026
jdm
left a comment
Member
There was a problem hiding this comment.
Agreed; I think the current code is only going to expand over time so this is an improvement.
Loirooriol
force-pushed
the
main
branch
2 times, most recently
from
September 10, 2026 12:56
c65e829 to
9ee9ec6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is aimed at trying to reduce the proliferation of getters/setters for individual media data properties by:
It also (IMO) makes the
Deviceconstructor a lot nicer as you get field names rather than having to try to match up function parameter order.In future we could consider removing the individual getters/setters (or making them private where they are called internally by Stylo), but this PR does not yet do that.
This PR is implemented on top of:
Device#410