Commit Graph

15708 Commits

Author SHA1 Message Date
David Shin
b6b6fcd242 Bug 1900230: Move Inset from length to position module. r=emilio
Depends on D221546

Differential Revision: https://phabricator.services.mozilla.com/D221639
2024-09-10 14:11:16 +00:00
Emilio Cobos Álvarez
c698a4becf Bug 1900230 - Minor nits and improvements. r=dshin
This should allow animating anchor percentages and so on.

Depends on D220285

Differential Revision: https://phabricator.services.mozilla.com/D221546
2024-09-10 14:11:16 +00:00
David Shin
f60d2015e9 Bug 1900230: Implement parsing of anchor() function in inset properties. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D220285
2024-09-10 14:11:15 +00:00
Nicolas Guichard
0d9b59bd37 Bug 1917746 - Fix Rust 1.82's new elided_named_lifetimes warning. r=emilio
This warning was introduced by https://github.com/rust-lang/rust/pull/129207.

Differential Revision: https://phabricator.services.mozilla.com/D221462
2024-09-10 04:51:23 +00:00
David Shin
ded398854c Bug 1917089: Let nested @scope rule to use relative selector in scope-start. r=firefox-style-system-reviewers,emilio
Depends on D221253

Differential Revision: https://phabricator.services.mozilla.com/D221254
2024-09-09 15:24:56 +00:00
David Shin
bc34853aa8 Bug 1917087: @scope selectors are now unforgiving. r=firefox-style-system-reviewers,emilio
As per https://github.com/w3c/csswg-drafts/issues/10042.

Differential Revision: https://phabricator.services.mozilla.com/D221253
2024-09-09 15:24:53 +00:00
Emilio Cobos Álvarez
4a665f56b1 Bug 1914735 - Track color-scheme dependencies for non-inherited rule cache. r=firefox-style-system-reviewers,boris
Differential Revision: https://phabricator.services.mozilla.com/D220134
2024-09-04 20:35:55 +00:00
Cristian Tuns
0438e6b693 Backed out changeset 4075eab1fdc4 (bug 1914735) for causing build bustages with "error: missing documentation for a struct field" CLOSED TREE 2024-09-04 15:29:31 -04:00
Emilio Cobos Álvarez
cbd27def34 Bug 1914735 - Track color-scheme dependencies for non-inherited rule cache. r=firefox-style-system-reviewers,boris
Differential Revision: https://phabricator.services.mozilla.com/D220134
2024-09-04 16:56:38 +00:00
Boris Chiou
d524f0f5e5 Bug 1911216 - Part 2: Support :only-child for view transition selectors. r=layout-reviewers,firefox-style-system-reviewers,emilio
Introduce the concept of pseudo element tree and make sure we achieve
the following behaviors:
1. `::view-transition` doesn't accept any non-functional pseudo class
   after it.
2. `::view-transition-*(name)` accepts only `only-child` pseudo class
   after it.

So for named view transition pseudo elements, we make them accept
non-functional pseudo classes and tree structural pseudo classes after
them, for consistency. However, only `:only-child` is allowed.

Differential Revision: https://phabricator.services.mozilla.com/D219714
2024-09-03 19:29:33 +00:00
Boris Chiou
7c3a0ab05d Bug 1911216 - Part 1: Add CSS selector parsing support for view transition pseudo-elements. r=layout-reviewers,firefox-style-system-reviewers,emilio,devtools-reviewers,nchevobbe
This adds the pasring support for:
1. `::view-transition`
2. `::view-transition-group(name)`
3. `::view-transition-image-pair(name)`
4. `::view-transition-old(name)`
5. `::view-transition-new(name)`

The `name` here is a `<custom-ident>` or `*`.

Differential Revision: https://phabricator.services.mozilla.com/D219713
2024-09-03 19:29:32 +00:00
Emilio Cobos Álvarez
6e8da4e110 Bug 1914221 - Map pattern/gradientTransform to the transform property. r=longsonr
And fix a typo in a test which got me confused.

Differential Revision: https://phabricator.services.mozilla.com/D220728
2024-09-02 17:26:20 +00:00
Connor Pearson
c0a505c28f Bug 1887455 - max with a NaN argument should simplify to NaN. r=emilio
A NaN argument in min/max should result in NaN. This logic was added to `resolve_internal` but was missing in the simplification.

Differential Revision: https://phabricator.services.mozilla.com/D220490
2024-08-29 13:33:32 +00:00
Emilio Cobos Álvarez
baba6ff61c Bug 1914449 - Fix stylesheet cloning in presence of both @layer and @import. r=zrhoffman,firefox-style-system-reviewers
Hopefully the test for bug 1912996 would catch this.

Differential Revision: https://phabricator.services.mozilla.com/D220083
2024-08-26 13:01:59 +00:00
Emilio Cobos Álvarez
df0fc07466 Bug 1914799 - Move some of the gecko.mako.rs code to property definitions. r=firefox-style-system-reviewers,zrhoffman
This is just a trivial clean-up I noticed reviewing bug 1914777.

Differential Revision: https://phabricator.services.mozilla.com/D220084
2024-08-25 21:47:22 +00:00
Zach Hoffman
3929b2eab0 Bug 1914777 - Use cbindgen for border-image-repeat. r=firefox-style-system-reviewers,layout-reviewers,emilio
nsStyleBorder field mBorderImageRepeat replaces fields
mBorderImageRepeatH and mBorderImageRepeatY.

Differential Revision: https://phabricator.services.mozilla.com/D220074
2024-08-25 15:57:04 +00:00
Zach Hoffman
11860bb190 Bug 1914777 - Use cbindgen for StyleBorderImageRepeatKeyword. r=firefox-style-system-reviewers,layout-reviewers,emilio
Generated enum StyleBorderImageRepeatKeyword replaces enum StyleBorderImageRepeat.

Differential Revision: https://phabricator.services.mozilla.com/D220073
2024-08-25 15:57:04 +00:00
Emily McDonough
042cf5fb44 Bug 1867164 - Share logic for serializing PageRule and StyleRule. r=firefox-style-system-reviewers,emilio
Factor out shared logic into a separate function. This leaves the actual impl
of ToCssWithGuard for the rule itself, and requires the rules to serialize
the preamble separately.

Differential Revision: https://phabricator.services.mozilla.com/D219818
2024-08-23 20:22:45 +00:00
Boris Chiou
a20866136d Bug 1823901 - Add view-transition-name longhand in style system. r=layout-reviewers,firefox-style-system-reviewers,emilio
Add `view-transition-name` into style system, behind the preference,
"dom.viewTransitions.enabled".

We will use `view-transition-name` somewhere when we create the pseudo
elements. This patch only add this atom into style system for future
usage.

Differential Revision: https://phabricator.services.mozilla.com/D218120
2024-08-22 07:21:09 +00:00
David Shin
69d671e227 Bug 1912241: Correctly refer to current matching context's shadow root while matching implicit scopes. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D219537
2024-08-21 18:17:21 +00:00
Emilio Cobos Álvarez
4aa1ad81ba Bug 878346 - Make transform a mapped attribute for SVG. r=longsonr,firefox-style-system-reviewers,zrhoffman
The tricky bit is rotate() which in SVG means something different if
there's an origin (you translate-then-untranslate it).

But this seems to work off-hand, and fix the reminder of bug 1906261.

Differential Revision: https://phabricator.services.mozilla.com/D215788
2024-08-21 15:00:48 +00:00
Jonathan Kew
be4a19a0da Bug 1913536 - Expose the special shorthands in the SpecifiedValueInfo for the CSS white-space shorthand. r=firefox-style-system-reviewers,devtools-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D219426
2024-08-21 14:48:25 +00:00
Emilio Cobos Álvarez
b586de292c Bug 1913322 - Make arrowscrollbox use resizeobserver rather than overflow/underflow events. r=Gijs,dao,desktop-theme-reviewers,tabbrowser-reviewers,frontend-codestyle-reviewers
For that, make the <slot> have a box. Keep firing the overflow /
underflow events, but only in cases relative to the arrowScrollbox.

Remove unneeded scrollbox-clip box, and replace it by
`overflow-clip-box-block: content-box` in the only place that we make
the scrollbox grow.

Differential Revision: https://phabricator.services.mozilla.com/D219249
2024-08-21 12:23:34 +00:00
Cristian Tuns
3447333df4 Backed out changeset 6fb2cecebdd8 (bug 1913322) for causing multiple failures. CLOSED TREE 2024-08-20 21:01:50 -04:00
Emilio Cobos Álvarez
9a8a267f79 Bug 1913322 - Make arrowscrollbox use resizeobserver rather than overflow/underflow events. r=Gijs,dao,desktop-theme-reviewers,tabbrowser-reviewers,frontend-codestyle-reviewers
For that, make the <slot> have a box. Keep firing the overflow /
underflow events, but only in cases relative to the arrowScrollbox.

Remove unneeded scrollbox-clip box, and replace it by
`overflow-clip-box-block: content-box` in the only place that we make
the scrollbox grow.

Differential Revision: https://phabricator.services.mozilla.com/D219249
2024-08-20 22:31:22 +00:00
Emily McDonough
ab8003e318 Bug 1913812 - Remove trivially redundant cases into_boxed_slice following a collect in Servo style code r=firefox-style-system-reviewers,zrhoffman
Differential Revision: https://phabricator.services.mozilla.com/D219544
2024-08-20 21:10:43 +00:00
Iulian Moraru
e0e41bf500 Backed out changeset 1658290c1b95 (bug 1913322) for causing overflow related failures. CLOSED TREE 2024-08-20 17:54:54 +03:00
Emilio Cobos Álvarez
47c031614c Bug 1913322 - Make arrowscrollbox use resizeobserver rather than overflow/underflow events. r=Gijs,dao,desktop-theme-reviewers,tabbrowser-reviewers,frontend-codestyle-reviewers
For that, make the <slot> have a box. Keep firing the overflow /
underflow events, but only in cases relative to the arrowScrollbox.

Remove unneeded scrollbox-clip box, and replace it by
`overflow-clip-box-block: content-box` in the only place that we make
the scrollbox grow.

Differential Revision: https://phabricator.services.mozilla.com/D219249
2024-08-20 12:58:16 +00:00
Emilio Cobos Álvarez
9c457b174d Bug 1911353 - Unify how we reject !important in keyframe and @position-try. r=dshin
This was more the kind of thing I meant, and allows us to get rid of the
keyframe-rule-specific parser.

Differential Revision: https://phabricator.services.mozilla.com/D218488
2024-08-16 13:14:05 +00:00
David Shin
543946adb5 Bug 1900233: Disallow custom property and important declarations in @position-try. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217629
2024-08-16 13:14:05 +00:00
David Shin
604c5a7898 Bug 1909346: Implement CSSPositionTryRule interface. r=firefox-style-system-reviewers,webidl,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217627
2024-08-16 13:14:04 +00:00
David Shin
75e9c1f48f Bug 1900233: Implement parsing @position-try rule. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217626
2024-08-16 13:14:04 +00:00
Emilio Cobos Álvarez
e17c4fe0dc Bug 1913459 - More inline declarations. r=firefox-style-system-reviewers,boris
This helps some speedometer subtests, 32 declarations is not really
that uncommon.

Differential Revision: https://phabricator.services.mozilla.com/D219330
2024-08-16 12:58:03 +00:00
Emilio Cobos Álvarez
4e8cf2fc99 Bug 1913104 - Remove X11 mask code. r=stransky,desktop-theme-reviewers,dao
It's only used in non-compositing WMs, to implement popup transparency,
and it's completely untested.

Instead, do not draw shadows and rounded corners on those WMs.

Differential Revision: https://phabricator.services.mozilla.com/D219141
2024-08-16 12:48:28 +00:00
Jonathan Watt
11482ce7b8 Bug 1909358. Rename inset-area to position-area. r=dshin
Differential Revision: https://phabricator.services.mozilla.com/D219225
2024-08-15 11:30:12 +00:00
David Shin
ed09cb9244 Bug 1913256: Fix up documentation on parse_is_and_where. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D219214
2024-08-15 09:38:50 +00:00
Norisz Fay
f156dee704 Backed out 5 changesets (bug 1900233, bug 1911353, bug 1909346) for causing mochitest failures on test_property_syntax_errors.html CLOSED TREE
Backed out changeset e19f73882313 (bug 1911353)
Backed out changeset da10b514e301 (bug 1900233)
Backed out changeset a806c12d47f9 (bug 1909346)
Backed out changeset 46695f2f204a (bug 1909346)
Backed out changeset 82856fd84c5a (bug 1900233)
2024-08-15 04:58:45 +03:00
Emilio Cobos Álvarez
f4e38939cd Bug 1911353 - Unify how we reject !important in keyframe and @position-try. r=dshin
This was more the kind of thing I meant, and allows us to get rid of the
keyframe-rule-specific parser.

Differential Revision: https://phabricator.services.mozilla.com/D218488
2024-08-14 23:26:14 +00:00
David Shin
bdb9486c89 Bug 1900233: Disallow custom property and important declarations in @position-try. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217629
2024-08-14 23:26:14 +00:00
David Shin
aa3062dc34 Bug 1909346: Implement CSSPositionTryRule interface. r=firefox-style-system-reviewers,webidl,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217627
2024-08-14 23:26:13 +00:00
David Shin
c146f5b834 Bug 1900233: Implement parsing @position-try rule. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217626
2024-08-14 23:26:13 +00:00
Emilio Cobos Álvarez
fa0a7f4bdc Bug 1912663 - Fix some build issues with cbindgen 0.27. r=firefox-style-system-reviewers,zrhoffman
It updates serde and syn and they are more strict. In particular, syn 2
doesn't parse the rust 2015 syntax where try is not a keyword, and serde
rejects duplicate keys.

Differential Revision: https://phabricator.services.mozilla.com/D219025
2024-08-11 15:12:29 +00:00
Nicolas Chevobbe
dda5cbcadf Bug 1911619 - [devtools] InspectorUtils.valueMatchesSyntax should always return true for CSS-wide keywords. r=emilio.
Differential Revision: https://phabricator.services.mozilla.com/D218604
2024-08-07 12:04:58 +00:00
Boris Chiou
b17423ff3b Bug 1804574 - Part 1: Add auto to animation-duration longhand. r=firefox-style-system-reviewers,layout-reviewers,emilio
Also, in order to backwards-compatibility with Level 1, we have to
serialize auto as 0s for getComputedStyle in some cases, which depend on
the value of animation-timeline.

Differential Revision: https://phabricator.services.mozilla.com/D217871
2024-08-06 18:23:14 +00:00
Narcis Beleuzu
58825dea6d Backed out 5 changesets (bug 1909346, bug 1911353, bug 1900233) for Bp bustages on ServoStyleSet.cpp . CLOSED TREE
Backed out changeset f6e3cddaa98e (bug 1911353)
Backed out changeset d8ec18178fed (bug 1900233)
Backed out changeset f6e45aa1a0f9 (bug 1909346)
Backed out changeset 7903b612930c (bug 1909346)
Backed out changeset c400d8d1a91f (bug 1900233)
2024-08-06 21:34:13 +03:00
David Shin
3346d68b39 Bug 1908279: Let the @scope root search cross the shadow boundary if ::part selector is used. r=firefox-style-system-reviewers,emilio
This allows the scope search to extend beyond the shadow tree the element
is in any number of times, which is required to get to the DOM tree defining
the `::part` selector in question. If any shadow DOM tree in the chain does not
use `exportparts`, it is rejected when the style rule selector is matched.

Differential Revision: https://phabricator.services.mozilla.com/D218256
2024-08-06 17:00:37 +00:00
Emilio Cobos Álvarez
193ba22517 Bug 1911353 - Unify how we reject !important in keyframe and @position-try. r=dshin
This was more the kind of thing I meant, and allows us to get rid of the
keyframe-rule-specific parser.

Differential Revision: https://phabricator.services.mozilla.com/D218488
2024-08-06 16:59:28 +00:00
David Shin
90e368e733 Bug 1900233: Disallow custom property and important declarations in @position-try. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217629
2024-08-06 16:59:28 +00:00
David Shin
b3b50c0377 Bug 1909346: Implement CSSPositionTryRule interface. r=firefox-style-system-reviewers,webidl,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217627
2024-08-06 16:59:27 +00:00
David Shin
04b99ad553 Bug 1900233: Implement parsing @position-try rule. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D217626
2024-08-06 16:59:26 +00:00
Emilio Cobos Álvarez
98d7caf645 Bug 1909165 - Fix a warning that causes bustages.
MANUAL PUSH: Trivial orange fix CLOSED TREE
2024-08-01 20:12:58 +02:00
Emilio Cobos Álvarez
9e34654e50 Bug 1909165 - Implement Hash for OwnedSlice and ArcSlice. r=mrobinson,firefox-style-system-reviewers,zrhoffman
And use derive for font-family instead.

Differential Revision: https://phabricator.services.mozilla.com/D218335
2024-08-01 17:14:04 +00:00
Emilio Cobos Álvarez
e1ad6294bf Bug 1910698 - Remove nsIScriptError.sourceLine. r=smaug,devtools-reviewers,webdriver-reviewers,necko-reviewers,nchevobbe,kershaw,jdescottes,credential-management-reviewers,dimi
Afaict the source lines are not exposed anywhere in the UI.

Differential Revision: https://phabricator.services.mozilla.com/D218115
2024-08-01 17:12:48 +00:00
Martin Robinson
8644105a4e Bug 1909165 - Make more stylo code Gecko-specific at compile-time r=emilio
Guard some Gecko-specific code in stylo at compile-time. The goal is to
reduce these as much as possible as Servo gains new features, but some
of these guards prevent compilation failure when trying to use
Gecko-only data structures.

Differential Revision: https://phabricator.services.mozilla.com/D217563
2024-08-01 15:30:47 +00:00
Daniel Holbert
2012ee352f Bug 1909773 part 4: Add support for '-webkit-fill-available' as an alias for the CSS 'stretch' behavior (off-by-default for now). r=emilio
Both '-webkit-fill-available' and 'stretch' are equivalent to '-moz-available'
at this point in the patch series, and both are off-by-default, because
actually supporting them would require that we add special logic to handle them
as block-axis sizes (which I'll do in a separate bug).

Differential Revision: https://phabricator.services.mozilla.com/D217687
2024-07-25 18:18:24 +00:00
Daniel Holbert
e50bd49e33 Bug 1909773 part 3: Add off-by-default support for the CSS 'stretch' sizing keyword, just matching the behavior of '-moz-available' for now. r=emilio
This patch is intended to be mechanical, just adding the new keyword as an
alias for the existing behavior, basically.

In a later bug, 'stretch' will gain additional capabilities before we enable
the pref.  After that, I intend to ultimately make '-moz-available' an alias of
'stretch', assuming that doing so is web-compatible.

Differential Revision: https://phabricator.services.mozilla.com/D217686
2024-07-25 18:18:24 +00:00
Daniel Holbert
85aeaa814f Bug 1909773 part 2: Create BehavesLikeStretchOnInlineAxis() utility-function as an abstraction for the '-moz-available' sizing behavior. r=emilio
This patch doesn't change behavior.

The '-moz-available' keyword is our closest equivalent to the CSS 'stretch'
keyword, *specifically* for the inline axis (since we currently nerf
'-moz-available' to behave like the initial value in the block axis). Hence, it
makes sense to say that the '-moz-available' keyword "Behaves Like Stretch On
Inline Axis".

By abstracting the existing behavior behind this helper-function, we can
start implementing the actual 'stretch' value in terms of this existing
behavior, in later patches.

Differential Revision: https://phabricator.services.mozilla.com/D217685
2024-07-25 18:18:23 +00:00
Emilio Cobos Álvarez
4f6c4d6e89 Bug 1909153 - Fix interaction of transitions and zoom. r=firefox-style-system-reviewers,layout-reviewers,boris
The main issue here is that we transition the zoomed value, which is
generally wrong because the animated value gets injected back into the
cascade (and thus zoomed again).

We happen to cancel the transition in [1], which is kinda nice because
otherwise we would've just transitioned to a completely wrong value (and
maybe indefinitely, since values would keep getting bigger and
bigger...).

We need to do something similar to to_resolved_value, and unzoom lengths
in to_animated_value, that is, interpolate "unzoomed" values.

The extra test to test_transitions_per_property caught some existing
issues with calc() and zoom which are fixed too for the test to pass.

Same for the ToResolvedValue for Au, that is needed for properties like
column-rule-width to return the correct resolved values.

Main thing I left unfixed is bug 1909280, but that deserves a more
subtle test and a bit more thought because only matrix components need
to be zoomed.

While at it, I simplified the animation setup a little bit, removing the
special animation_value_type="ComputedValue", which means that we need
to add a few ToAnimatedValue calls.

Now the only values are "none", "discrete", and "normal", and given it's
not a value type anymore I called it just "animation_type".

This got a bit bigger than I would've liked, but also it fixes more bugs
that what I was originally expecting, so... :)

[1]: https://searchfox.org/mozilla-central/rev/5756c5a3dea4f2896cdb3c8bb15d0ced5e2bf690/layout/style/nsTransitionManager.cpp#168-171

Differential Revision: https://phabricator.services.mozilla.com/D217308
2024-07-23 21:54:01 +00:00
Boris Chiou
5be151ad49 Bug 1908819 - Add the tentative serialization for animation shorthand. r=firefox-style-system-reviewers,layout-reviewers,emilio
In order to avoid this unexpected fail, we add this tentative
serialization for animation shorthand.
1. animation-timeline is reset-only in this shorthand, so we don't parse
   it and we reset it to `vec![auto]`.
2. we don't serialize the shorthand if animation-timeline is not the initial
   value.

This is a tentative solution and we should update it with the new syntax
once the spec gets update (https://github.com/w3c/csswg-drafts/issues/6946).

Differential Revision: https://phabricator.services.mozilla.com/D217164
2024-07-22 22:47:31 +00:00
Martin Robinson
1e165ea322 Bug 1908914 - Remove more Servo specific code from Stylo r=emilio
- Allow animating DropShadow
- Make the Servo ListStyleType interface more similar to Gecko's
- Implement more of `text-decoration`

Differential Revision: https://phabricator.services.mozilla.com/D217152
2024-07-22 06:03:34 +00:00
Emilio Cobos Álvarez
436aae97d3 Bug 1789166 - Use content-visibility rather than display: none to hide <details> content. r=smaug
This matches the current shipping version of Chromium, and the last
version of the spec, except for the <slot> display when open, which per
spec ought to be `block`, but it's still `contents`.

animation-canceled-by-parent-details-element-being-closed.html is
invalid because content-visibility doesn't cancel animations, just
pauses them. It also times out in Chrome.

Differential Revision: https://phabricator.services.mozilla.com/D217192
2024-07-20 17:49:39 +00:00
Stanca Serban
00e6de8399 Backed out changeset 48baafc34055 (bug 1789166) for causing mochitests failures. CLOSED TREE 2024-07-20 18:43:13 +03:00
Emilio Cobos Álvarez
45d6f3f899 Bug 1789166 - Use content-visibility rather than display: none to hide <details> content. r=smaug
This matches the current shipping version of Chromium, and the last
version of the spec, except for the <slot> display when open, which per
spec ought to be `block`, but it's still `contents`.

animation-canceled-by-parent-details-element-being-closed.html is
invalid because content-visibility doesn't cancel animations, just
pauses them. It also times out in Chrome.

Differential Revision: https://phabricator.services.mozilla.com/D217192
2024-07-20 14:17:31 +00:00
Boris Chiou
f870ccfc39 Bug 1907210 - Part 2: Simplify KeyframeName. r=firefox-style-system-reviewers,zrhoffman
Now, `TimelineOrKeyframeName` is used only for `KeyframeName`, so we can
merge them.

Differential Revision: https://phabricator.services.mozilla.com/D216459
2024-07-16 20:31:52 +00:00
Boris Chiou
be88cfaa3d Bug 1907210 - Part 1: Use <dashed-ident> for scroll/view timeline name. r=firefox-style-system-reviewers,zrhoffman
Per the spec change, we only accept `<dashed-ident>` for timeline names.

Differential Revision: https://phabricator.services.mozilla.com/D216458
2024-07-16 20:31:52 +00:00
Nico Burns
1e75e8a3fc Bug 1906995 - Enable grid styles for servo. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216128
2024-07-16 10:02:32 +00:00
Nico Burns
a3c57b39dd Bug 1906994 - Enable row-gap and gap shorthand for servo. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216127
2024-07-16 10:02:29 +00:00
Jonathan Watt
2e1fd1eb65 Bug 1907809. Rename CSS position-try-options to position-try-fallbacks. r=emilio,firefox-style-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D216523
2024-07-15 18:50:05 +00:00
David Shin
c1f13f1338 Bug 1889109: Part 6 - Skip style sharing revalidation for trivial styles. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D212730
2024-07-15 18:41:14 +00:00
David Shin
f3304f0ef8 Bug 1889109: Part 5 - Add scope subject map and use it to early-reject elements that can't be scopes. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D212729
2024-07-15 18:41:14 +00:00
David Shin
a565996e37 Bug 1889109: Part 4 - Pull out mapping from "unique" selector attribute mappings. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D212728
2024-07-15 18:41:14 +00:00
David Shin
bc8dff38c6 Bug 1889109: Part 3 - Add scope revalidation to style sharing. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D212727
2024-07-15 18:41:13 +00:00
David Shin
3da446ba63 Bug 1889109: Part 2 - Mark all elements considering scoped styles. r=firefox-style-system-reviewers,emilio
This lets us avoid having to run scope matching for revalidation
for elements that don't match scoped styles.

Differential Revision: https://phabricator.services.mozilla.com/D212726
2024-07-15 18:41:13 +00:00
David Shin
bd3588e245 Bug 1889109: Part 1 - Get rid of now-unused relative selector flags. r=firefox-style-system-reviewers,emilio
Supplanted by Bug 1876962 making `:has` a revalidation selector.
Remaining reference was added during Bug 1869771, is still handled
by the revalidation logic (`has-style-sharing-007.html` stil passes).

Differential Revision: https://phabricator.services.mozilla.com/D212725
2024-07-15 18:41:12 +00:00
Emily McDonough
2b210acb90 Bug 1906749 - Do not parse an empty page-rule selector list as a single empty selector. r=emilio,firefox-style-system-reviewers
Before this change, `@page {}` was parsed as though the rule had a single
selector with an empty atom as the name. We would generally accept things like
`@page a, {}` to include an empty selector too, since no matching tokens ended
up representing an empty page-name (as is the case with just pseudo-classes
and no page-name), and an empty pseudo-class list (as is the case with just a
page-name and no pseudo-classes).
We shouldn't be accepting both of those at the same time.

This also fixes serialization of empty page-rule selector list.

It seems there are no WPT that check how page-rules are specifically
serialized. This adds a few basic ones to catch at least this issue.

Differential Revision: https://phabricator.services.mozilla.com/D216068
2024-07-12 23:25:05 +00:00
Boris Chiou
0a235ee708 Bug 1907179 - Repalce horizontal/vertical with x/y for ScrollAxis. r=layout-reviewers,firefox-style-system-reviewers,emilio
Per spec, we should use `x`/`y` to match `scroll-snap-type` and `overflow`.

Differential Revision: https://phabricator.services.mozilla.com/D216233
2024-07-12 19:44:14 +00:00
Emilio Cobos Álvarez
f1a4df024d Bug 1907405 - Add appearance: -moz-sidebar and hook macOS vibrancy. r=mac-reviewers,spohl
Unused for now, but pretty straight-forward.

Bug 1905257 has some code that actually uses it. This allows the
front-end folks to experiment with this effect for the sidebar.

Differential Revision: https://phabricator.services.mozilla.com/D216325
2024-07-12 14:08:13 +00:00
Nico Burns
fc678480e8 Bug 1906395 - servo: unpreference alignment styles. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216344
2024-07-12 11:36:16 +00:00
Nico Burns
12942bcef2 Bug 1906395 - Switch Servo to use Gecko's alignment style implementations. (r=emilio)
Differential Revision: https://phabricator.services.mozilla.com/D216126
2024-07-12 11:36:16 +00:00
Nico Burns
6b8e9a64a3 Bug 1906395 - AlignFlags: Add flags method. Make value method public. (r=emilio)
A couple of tiny helper method to make accessing the AlignFlag values easier in Servo

Differential Revision: https://phabricator.services.mozilla.com/D216125
2024-07-12 11:36:16 +00:00
Nico Burns
6bd5285d1b Bug 1906395 Remove adjust_for_alignment function (r=emilio)
This functionality should be implemented in layout, which it
now is.

Differential Revision: https://phabricator.services.mozilla.com/D216124
2024-07-12 11:36:15 +00:00
Emilio Cobos Álvarez
3ef1f8561f Bug 1907320 - Allow sharing styles that specify transitions / animations. r=firefox-style-system-reviewers,layout-reviewers,boris
Most styles that specify transitions don't actually have a transition
running at the very same time, and we can check for that in the cache
already.

We need to avoid reusing-by-rule-node for @starting-style rules, but
that's fine because that's effectively what already happened before this
change, due to the check we're removing (we only resolve @starting-style
when we're about to maybe-start a transition).

Differential Revision: https://phabricator.services.mozilla.com/D216286
2024-07-11 21:28:38 +00:00
David Shin
aa3ef3f7cf Bug 1907393: When checking for @scope, avoid redundant use of bloom filter. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216321
2024-07-11 20:26:00 +00:00
longsonr
eb930ea2bb Bug 1903546 - fix non-scaling-stroke r=emilio
This implements https://github.com/w3c/svgwg/issues/582 and therefore mostly reverts bug 1904891

Differential Revision: https://phabricator.services.mozilla.com/D216303
2024-07-11 20:10:36 +00:00
Boris Chiou
257ab87c78 Bug 1905035 - Make sure we build the bloom filter with the ancestors when resolving the starting-style for Insepctor. r=firefox-style-system-reviewers,nchevobbe,layout-reviewers,emilio
Otherwise, we may fast-reject the descendant/child selectors.

Differential Revision: https://phabricator.services.mozilla.com/D216130
2024-07-11 18:13:16 +00:00
David Shin
c4a05814f7 Bug 1901222: Optimize get_matching_rules. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216156
2024-07-10 18:46:49 +00:00
Emilio Cobos Álvarez
fc0ef4389a Bug 1905604 - Fix edge case with registered color computation. r=firefox-style-system-reviewers,devtools-reviewers,nchevobbe,zrhoffman
The issue is that we track the 1em as a custom reference and thus fail
to compute the color. But in this case 1em is not a valid value and we
should fall back to the initial value.

Differential Revision: https://phabricator.services.mozilla.com/D216030
2024-07-10 11:46:34 +00:00
Martin Robinson
560183d420 Bug 1906944 - Remove Servo legacy_layout preference guards r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216078
2024-07-10 09:12:34 +00:00
Cristian Tuns
58f9d11924 Backed out changeset 7b5724d9db7b (bug 1906749) for causing wp failures in page-size-004-print.html. CLOSED TREE 2024-07-09 17:46:04 -04:00
Emily McDonough
fbe2b33346 Bug 1906749 - Do not parse an empty page-rule selector list as a single empty selector. r=emilio,firefox-style-system-reviewers
Before this change, `@page {}` was parsed as though the rule had a single
selector with an empty atom as the name. We would generally accept things like
`@page a, {}` to include an empty selector too, since no matching tokens ended
up representing an empty page-name (as is the case with just pseudo-classes
and no page-name), and an empty pseudo-class list (as is the case with just a
page-name and no pseudo-classes).
We shouldn't be accepting both of those at the same time.

This also fixes serialization of empty page-rule selector list.

It seems there are no WPT that check how page-rules are specifically
serialized. This adds a few basic ones to catch at least this issue.

Differential Revision: https://phabricator.services.mozilla.com/D216068
2024-07-09 19:53:15 +00:00
Emilio Cobos Álvarez
429e085611 Bug 1906078 - Avoid pathological VecDeque behavior on parallel traversal. r=dshin
Using split_off to split the front chunk from the queue seems like it'd
be efficient, but it's not:

  https://github.com/rust-lang/rust/issues/127281

Instead, pass the range of nodes to distribute, and use
VecDeque::from_iter in the callee. Then, just truncate() the queue to
the remaining local work.

Differential Revision: https://phabricator.services.mozilla.com/D215705
2024-07-08 18:07:42 +00:00
Martin Robinson
edf36bf24d Bug 1906465 - Use markup5ever in Servo's Stylo instead of html5ever r=emilio
Use `markup5ever` in Servo. Note that this change should not affect
 Gecko at all.

Differential Revision: https://phabricator.services.mozilla.com/D215844
2024-07-08 08:23:03 +00:00
Martin Robinson
c1b98ee911 Bug 1906461 - Make more of the LogicalGeometry impl dependent on Clone versus Copy r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D215843
2024-07-08 08:21:52 +00:00
Boris Chiou
1777874bea Bug 1859660 - Compute the current value for the replaced transition running on the compositor. r=firefox-style-system-reviewers,zrhoffman
We rely on the current value to check if we have to create a transition
to replace the running one, and if the running transition is on the
compositor, we don't have the up-do-date transition rule on the main
thread, so we have to compute it when trying to create a new transition.

Differential Revision: https://phabricator.services.mozilla.com/D213687
2024-07-03 22:57:09 +00:00
Sam Johnson
49e038648d Bug 1906037 - Restore macOS desktop tinting on dialog windows. r=mac-reviewers,desktop-theme-reviewers,emilio,spohl
After bug 1867854, dialog windows on macOS no longer show desktop tinting on the window background. Since this requires a transparent Gecko background, the `-moz-mac-unified-toolbar-window` appearance added in bug 1870481 should be applied to every window. It has been renamed to reflect this.

Differential Revision: https://phabricator.services.mozilla.com/D215596
2024-07-03 21:08:20 +00:00
longsonr
9416db8add Bug 1904891 - Support viewport and screen options for non-scaling-stroke r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D215138
2024-07-03 17:42:10 +00:00
Emily McDonough
768fa65590 Bug 1890842 - Generate CSSPageDescriptors.webidl and change CSSPageRule to use CSSPageDescriptors for Style(). r=webidl,emilio
Refactor GenerateCSS2PropertiesWebIDL.py to generate both CSS2Properties and
also CSSPageDescriptors.

I had to adjust the margin property in Servo to ensure
`margin_{inline,block}_{start,end}` did not end up in CSSPageDescriptors.

I also removed the main function from the script since the arguments are
already inaccurately named as leftovers from its previous usage, and this
script is only invoked by function name by the build anyway.

Differential Revision: https://phabricator.services.mozilla.com/D209061
2024-07-02 22:36:07 +00:00
Nicolas Chevobbe
2e3e77edb3 Bug 1905569 - [devtools] Add InspectorUtils.getCSSRegisteredProperty. r=emilio.
In some cases, DevTools might want to get the property definition of a given registered property,
so we're adding a new InspectorUtils method for this.
It returns null when there is no registered property matching the passed name.
A test is added to ensure this behaves as expected.

Differential Revision: https://phabricator.services.mozilla.com/D215317
2024-07-01 13:35:27 +00:00
Cristian Tuns
054f71ae80 Bug 1904858 - Fix file-whitespace lint failures. CLOSED TREE 2024-06-26 12:56:04 -04:00
Martin Robinson
e6024c25c5 Bug 1904858 - Remove some Servo-specific font handling code r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D214982
2024-06-26 16:28:22 +00:00
Martin Robinson
74df0620ce Bug 1904610 - Upstream Servo changes to malloc_size_of. r=emilio
`malloc_size_of` no longer needs to have support for hyper and
hyper_serde and it adds derives for `http` and `indexmap`. Derives are
added for a couple standard library types and finally Gecko-only data
types are guarded by a new `gecko` feature.

Differential Revision: https://phabricator.services.mozilla.com/D214840
2024-06-26 10:41:40 +00:00
Martin Robinson
f12ac06d2e Bug 1904597 - Upstream Servo-specific serde derives r=emilio
Servo needs to serialize and deserialize more types, because it uses
serde for IPC and it sends style types via IPC.

Differential Revision: https://phabricator.services.mozilla.com/D214830
2024-06-26 10:40:29 +00:00
Thomas Wisniewski
4a79af9ca4 Bug 1595620 - Add support for -webkit-font-feature-settings as an alias of font-feature-settings. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D105468
2024-06-24 21:11:11 +00:00
David Shin
b96c813251 Bug 1904228: Don't consider :scope selectors to be featureless outside of @scope. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D214678
2024-06-24 18:15:27 +00:00
Martin Robinson
878964c6d3 Bug 1903993 - Use the SPDX license format for mozilla-central-managed crates r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D214524
2024-06-24 10:23:39 +00:00
Emilio Cobos Álvarez
b1a45fd599 Bug 1714238 - Use a single SVG path representation. r=boris,longsonr,webidl,smaug
This removes a bunch of special and complex code from the SVG path code,
and simplifies fixing stuff like bug 1903361.

Differential Revision: https://phabricator.services.mozilla.com/D214411
2024-06-21 16:16:01 +00:00
Martin Robinson
ce2f477c90 Bug 1903997 - Add license files to servo_arc r=emilio
This crate is published on crates.io, so these directories need license
files.

Differential Revision: https://phabricator.services.mozilla.com/D214528
2024-06-21 13:45:24 +00:00
Martin Robinson
ca711cad72 Bug 1903997 - Remove style's servo dependency on ServoUrl r=emilio
This imports https://github.com/servo/stylo/commit/43ebf and only
affects the `servo` build of style. The benefit here is that it reduces
the amount of Servo-specific code in in mozilla-central.

Differential Revision: https://phabricator.services.mozilla.com/D214527
2024-06-21 13:43:40 +00:00
Jari Jalkanen
e729cdd153 Bug 1903575 - Undefine STRICT for ServoStyleConsts.h after the included headers. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D214267
2024-06-20 10:39:47 +00:00
Emilio Cobos Álvarez
597601a294 Bug 1745149 - Remove SVGPathSeg APIs and related code. r=longsonr,boris,webidl,devtools-reviewers,smaug,nchevobbe
These were unshipped a long time ago...

Differential Revision: https://phabricator.services.mozilla.com/D214278
2024-06-20 09:44:00 +00:00
Makoto Kato
ee41947db3 Bug 1899411 - Part 3. Update ICU4X to 1.5. r=supply-chain-reviewers,platform-i18n-reviewers,firefox-build-system-reviewers,webdriver-reviewers,whimboo,glandium
Test files for icu_segmenter are large, so I add build system reviewers as reviewers.

Differential Revision: https://phabricator.services.mozilla.com/D213008
2024-06-17 02:03:30 +00:00
Mike Hommey
53664cf9f1 Bug 1901911 - Remove leftovers from bug 1536586. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D213366
2024-06-13 01:42:05 +00:00
Noemi Erli
418d6b4f55 Backed out changeset f75d789545b2 (bug 1901911) for causing windows build bustages CLOSED TREE 2024-06-13 04:12:50 +03:00
Luke Warlow
52b4fac219 Bug 1901374: Implement field-sizing parsing r=emilio
This change adds a new layout.css.field-sizing.enabled pref that controls the availability of the field-sizing CSS property.

With the pref enabled this property now parses according to the spec.

Spec: https://drafts.csswg.org/css-ui/#field-sizing

Differential Revision: https://phabricator.services.mozilla.com/D212983
2024-06-12 21:07:30 +00:00
Mike Hommey
b750ad6e51 Bug 1901911 - Remove leftovers from bug 1536586. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D213366
2024-06-12 20:10:27 +00:00
Emilio Cobos Álvarez
ec122dee9c Bug 1901196 - Fix resolved value of font-size. r=firefox-style-system-reviewers,zrhoffman
Deriving To* generally assumes that if the type is not generic you can
just clone. This doesn't hold for FontSize.

Differential Revision: https://phabricator.services.mozilla.com/D212904
2024-06-12 18:23:16 +00:00
pstanciu
0ad2e3fd7b Backed out changeset e1b316eca9ec (bug 1901374) for causing mochitest failures on test_animation-type-longhand.html 2024-06-12 00:42:25 +03:00
Luke Warlow
9cadf878d9 Bug 1901374: Implement field-sizing parsing r=emilio
This change adds a new layout.css.field-sizing.enabled pref that controls the availability of the field-sizing CSS property.

With the pref enabled this property now parses according to the spec.

Spec: https://drafts.csswg.org/css-ui/#field-sizing

Differential Revision: https://phabricator.services.mozilla.com/D212983
2024-06-11 12:00:50 +00:00
Tamas Szentpeteri
3d51f425af Backed out changeset b50c8f1824f0 (bug 1901374) for causing wpt failures on field-sizing-computed.html. CLOSED TREE 2024-06-11 05:32:54 +03:00
Luke Warlow
6bd1154b6d Bug 1901374: Implement field-sizing parsing r=emilio
This change adds a new layout.css.field-sizing.enabled pref that controls the availability of the field-sizing CSS property.

With the pref enabled this property now parses according to the spec.

Spec: https://drafts.csswg.org/css-ui/#field-sizing

Differential Revision: https://phabricator.services.mozilla.com/D212983
2024-06-10 21:14:55 +00:00
longsonr
ebaa9c434c Bug 1901378 - Line height unit rlh in calc() is sometimes interpreted as lh r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D212989
2024-06-09 10:41:22 +00:00
Emilio Cobos Álvarez
e0c2a91699 Bug 1900623 - Fix perf regression from bug 1899272. r=firefox-style-system-reviewers,boris
Move the uncommon code-path out of line.

Differential Revision: https://phabricator.services.mozilla.com/D212567
2024-06-07 08:13:13 +00:00
Sandor Molnar
55f423c1b9 Backed out changeset 3a84ab9eef63 (bug 1900623) for causing build bustages. CLOSED TREE 2024-06-07 10:18:33 +03:00
Emilio Cobos Álvarez
1c9eb2b4f4 Bug 1900623 - Fix perf regression from bug 1899272. r=firefox-style-system-reviewers,boris
Move the uncommon code-path out of line.

Differential Revision: https://phabricator.services.mozilla.com/D212567
2024-06-07 06:48:38 +00:00
Jonathan Kew
885bab911c Bug 1670993 - For webcompat, make -webkit-font-smoothing:antialiased behave like -moz-osx-font-smoothing:grayscale. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D212130
2024-06-05 17:28:36 +00:00
Nicolas Chevobbe
f114f4f423 Bug 1899107 - [devtools] Display light-dark function in autocomplete. r=layout-reviewers,emilio.
Differential Revision: https://phabricator.services.mozilla.com/D211716
2024-06-05 13:53:08 +00:00
Jan-Niklas Jaeschke
db5d7e6f67 Bug 1867940 - Text Fragments: Implement sensible default colors. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D212378
2024-06-05 10:46:53 +00:00
Ting-Yu Lin
3774687f4b Bug 1900522 Part 3 - Update autogen_warning in servo/ports/geckolib/cbindgen.toml. r=layout-reviewers,emilio
We don't need to manually generate `ServoStyleConsts.h`. Update the warning to
avoid confusion.

Differential Revision: https://phabricator.services.mozilla.com/D212506
2024-06-04 17:54:48 +00:00
Ting-Yu Lin
72d1c570e6 Bug 1900522 Part 2 - Swap the arguments of StyleRect::Get() that gets T from logical side. r=layout-reviewers,emilio
This patch move `WritingMode` to the second argument, for the consistency with
the design of its own APIs like `StyleRect::Start(LogicalAxis, WritingMode)`,
and logical classes such as `LogicalMargin::Side(LogicalSide, WritingMode)`.

Differential Revision: https://phabricator.services.mozilla.com/D212505
2024-06-04 17:54:48 +00:00
Jonathan Watt
68821e8ea9 Bug 1899949. Implement parsing of CSS 'position-try-options' property. r=emilio,firefox-style-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D212335
2024-06-04 17:14:37 +00:00
Emilio Cobos Álvarez
0526c2a5c0 Bug 1899042 - Remove untested and unimplemented align="char" value for tables. r=jfkthame,layout-reviewers
Other engines also don't implement it, so moderately sure this is safe.

Differential Revision: https://phabricator.services.mozilla.com/D212549
2024-06-04 13:42:36 +00:00
Emilio Cobos Álvarez
ae567c7141 Bug 1899042 - Alias -webkit- prefixed versions of legacy HTML alignment keywords. r=jfkthame,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D212548
2024-06-04 13:42:36 +00:00
Boris Chiou
6203ad286b Bug 1893409 - Make getCSSStyleRules() work for starting style as well. r=layout-reviewers,firefox-style-system-reviewers,nchevobbe,emilio
Update the API, `nspectorUtils.getCSSStyleRules`. Add one extra
argument so the user can choose whether we should return the starting
style, for a given element, at this moment.

Differential Revision: https://phabricator.services.mozilla.com/D209318
2024-06-04 03:15:00 +00:00
Boris Chiou
300659b5ee Bug 1893409 - Move resolve_starting_style() and after_change_style() into StyleResolverForElement. r=layout-reviewers,firefox-style-system-reviewers,emilio
We would like to add an API to resolve the starting style for DevTools, so
make them public.

Differential Revision: https://phabricator.services.mozilla.com/D210087
2024-06-04 03:14:59 +00:00
Nicolas Chevobbe
08e9a99b4c Bug 1899533 - [devtools] Add InspectorUtils method to validate a value against a given syntax. r=emilio.
Differential Revision: https://phabricator.services.mozilla.com/D211975
2024-06-03 19:53:00 +00:00
Emilio Cobos Álvarez
a572c0d70b Bug 1899949 - Add the ability to have a custom parse function to derived variants. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D212448
2024-06-03 16:40:08 +00:00
Jonathan Watt
e8b8192976 Bug 1900239. Derive Default for InsetAreaKeyword. r=tlouw
Differential Revision: https://phabricator.services.mozilla.com/D212374
2024-06-02 15:29:34 +00:00
Sandor Molnar
ef05d7cc23 Backed out changeset 8b201e1bef80 (bug 1900239) for causing wpt webcodecs failures CLOSED TREE 2024-06-02 13:33:05 +03:00
Jonathan Watt
b11ef88224 Bug 1900239. Derive Default for InsetAreaKeyword. r=tlouw
Differential Revision: https://phabricator.services.mozilla.com/D212374
2024-06-02 09:48:03 +00:00
Jonathan Watt
8191eda786 Bug 1900195. Remove support for the 'align-tracks' and 'justify-tracks' properties. r=emilio
These properties were added as part of the experimental Masonry support added
in bug 1607954. Since then the CSS WG resolved to remove these properties in:
https://github.com/w3c/csswg-drafts/pull/9529

This patch is a fairly brain dead removal of the properties, simply changing
the consumer code to take the code paths that would have been taken previously
if the properties were not set. That leaves some obvious dead code, which has
been removed, but no attempt has been made to redesign the Masonry code to
"make sense" without these properties. That would require a more prolonged
effort to understand Masonry, how the spec has changed in the last four years,
and how we should best change our code.

For now, this removal is simply focused on reducing the amount of memory used
by nsStyleDisplay to unblock the landing of bug 1899949.

Differential Revision: https://phabricator.services.mozilla.com/D212358
2024-06-02 00:16:26 +00:00
Norisz Fay
242ada988e Backed out 2 changesets (bug 1670993) for causing reftest process crash and mochitest failures on test_property_database.html CLOSED TREE
Backed out changeset f0f3ed1d3a82 (bug 1670993)
Backed out changeset a9cfe8c04221 (bug 1670993)
2024-05-31 21:08:03 +03:00
Jonathan Kew
008aa49ff5 Bug 1670993 - For webcompat, make -webkit-font-smoothing:antialiased behave like -moz-osx-font-smoothing:grayscale. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D212130
2024-05-31 15:14:05 +00:00
Emilio Cobos Álvarez
32c120d2ec Bug 1899597 - Avoid double walk over siblings in style invalidation. r=dshin
This fixes a regression with :has() on the test-case of bug 1480477 (but
we should still aim to make that faster).

While at it, avoid synchronization in some really hot paths, and add
tests.

Differential Revision: https://phabricator.services.mozilla.com/D212039
2024-05-31 13:14:36 +00:00
Jonathan Watt
3fa58fb2fa Bug 1897659. Implement parsing of CSS 'position-try-order' property. r=emilio,firefox-style-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D212220
2024-05-31 10:35:07 +00:00
Jonathan Watt
46e06c40cf Bug 1899911. Run rustfmt on servo/components/style/. r=tlouw
Differential Revision: https://phabricator.services.mozilla.com/D212206
2024-05-31 08:02:50 +00:00
Jonathan Watt
745b6de9a7 Bug 1898887. Implement parsing of CSS 'inset-area' property. r=emilio,firefox-style-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D211955
2024-05-30 19:39:07 +00:00
David Shin
2343e53edd Bug 1886441: Part 7 - Fast-reject with ancestor hashes for @scope. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D208028
2024-05-30 15:23:42 +00:00
David Shin
f4188d2589 Bug 1886441: Part 6 - Implement scoped styles. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D207783
2024-05-30 15:23:42 +00:00
David Shin
536dcf63c5 Bug 1886441: Part 5 - :scope is featureless in scoped style, if it refers to the shadow host. r=firefox-style-system-reviewers,emilio
A scoped style can match the featureless shadow host:

* Constructed stylesheets adopted by the shadow DOM
* Implicit scope defined in `<style>` at shadow root
* Explicit scope with `scope-start` selector of `:host`

Hence, they should not be considered non-featureless selector during parse time,
adding to featureless host rules when we can determine if we're in one of the
above cases.

Differential Revision: https://phabricator.services.mozilla.com/D207782
2024-05-30 15:23:41 +00:00
David Shin
e9208e701c Bug 1886441: Part 4 - Add support for implicit scope. r=firefox-style-system-reviewers,emilio
Keep track of implicit scopes for shadow DOM styled separately,
as cascade data for shadow DOM are shared.

Differential Revision: https://phabricator.services.mozilla.com/D207781
2024-05-30 15:23:41 +00:00