Граф коммитов

15223 Коммитов

Автор SHA1 Сообщение Дата
Boris Chiou 60e44a0ffc Bug 1872309 - Specialize Procedure::Add for rotate property. r=zrhoffman
Slerp doesn't work well if the sum of `this_weight` and `other_weight` is
larger than 1.0. This may produces a cosine value out of the range.
Therefore, we use the combined transform list, which rely on matrix
multiplication, to compute Procedure::Add. And then decompose it to get the
final quaternion vector.
https://drafts.csswg.org/css-transforms-2/#combining-transform-lists

Differential Revision: https://phabricator.services.mozilla.com/D199678
2024-01-29 19:31:50 +00:00
Emilio Cobos Álvarez 84582c3f1b Bug 1877002 - Detect the yaru-remix theme, to avoid applying the yaru overrides there. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D199854
2024-01-29 14:50:36 +00:00
Jonathan Kew 16f020d34a Bug 1758391 - Rename `text-wrap` to `text-wrap-style`, and create the `text-wrap` shorthand. r=firefox-style-system-reviewers,emilio
This depends on having `text-wrap-mode`, introduced in bug 1852478 as part of
turning `white-space` into a shorthand.

Differential Revision: https://phabricator.services.mozilla.com/D198791
2024-01-26 09:40:03 +00:00
Jonathan Kew 5741b2b190 Bug 1852478 - Convert CSS `white-space` into a shorthand that expands to `white-space-collapse` and `text-wrap-mode` longhands. r=firefox-style-system-reviewers,emilio
Note that although this builds, it would (by itself) result in some test breakage;
this is resolved in the following patches that build on this.

Differential Revision: https://phabricator.services.mozilla.com/D198790
2024-01-26 09:40:02 +00:00
Cristian Tuns f0be219b00 Backed out 4 changesets (bug 1758391, bug 1852478) for causing build bustages in UseCounterMetrics.cpp CLOSED TREE
Backed out changeset fe673f87d86a (bug 1852478)
Backed out changeset d466ccbd1aad (bug 1852478)
Backed out changeset c0fa98fec39a (bug 1758391)
Backed out changeset 04d322f23fd0 (bug 1852478)
2024-01-25 18:29:39 -05:00
Jonathan Kew b53d8d1aec Bug 1758391 - Rename `text-wrap` to `text-wrap-style`, and create the `text-wrap` shorthand. r=firefox-style-system-reviewers,emilio
This depends on having `text-wrap-mode`, introduced in bug 1852478 as part of
turning `white-space` into a shorthand.

Differential Revision: https://phabricator.services.mozilla.com/D198791
2024-01-25 22:20:05 +00:00
Jonathan Kew 2cd3b24544 Bug 1852478 - Convert CSS `white-space` into a shorthand that expands to `white-space-collapse` and `text-wrap-mode` longhands. r=firefox-style-system-reviewers,emilio
Note that although this builds, it would (by itself) result in some test breakage;
this is resolved in the following patches that build on this.

Differential Revision: https://phabricator.services.mozilla.com/D198790
2024-01-25 22:20:05 +00:00
Emilio Cobos Álvarez dcf8ed8dd6 Bug 1876266 - Do less work on the ConsiderInitiatingTransition loop. r=firefox-style-system-reviewers,zrhoffman
Differential Revision: https://phabricator.services.mozilla.com/D199483
2024-01-24 23:08:51 +00:00
Emilio Cobos Álvarez 4d92ef6cda Bug 1869185 - Various clean-ups and fixes on top of the previous patch. r=zrhoffman,firefox-style-system-reviewers
* Move the manual code outside the auto-generated animated_properties
   file.

 * Treat unregistered custom properties and universal-syntax properties
   the same.

 * A void a bunch of copy-pasta and extra unnecessary clone() calls.

 * Fix animations with mismatched multipliers, custom property names,
   etc. This isn't really testable, since afaict you can't create such
   an animation (maybe if you override the registration dynamically?),
   but seems better for consistency.

Differential Revision: https://phabricator.services.mozilla.com/D199365
2024-01-24 10:23:23 +00:00
Ziran Sun cb046dd208 Bug 1869185 - Add initial interpolating animation support for registered custom properties. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D198004
2024-01-24 10:23:22 +00:00
David Shin 72683f0aec Bug 1875673: Do not prevent early substitution of for non-registered or registered non-length variables when they reference font-relative properties. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D199239
2024-01-23 14:03:56 +00:00
Narcis Beleuzu 3b47d28f1e Backed out 4 changesets (bug 1758391, bug 1852478) for failures on test_animation-type-longhand.html . CLOSED TREE
Backed out changeset d6a8b0b97282 (bug 1852478)
Backed out changeset fef9fcec3afc (bug 1852478)
Backed out changeset 01711557e2bf (bug 1758391)
Backed out changeset 8c8a01dbca12 (bug 1852478)
2024-01-22 16:37:15 +02:00
Jonathan Kew 5b0a5a22f6 Bug 1758391 - Rename `text-wrap` to `text-wrap-style`, and create the `text-wrap` shorthand. r=firefox-style-system-reviewers,emilio
This depends on having `text-wrap-mode`, introduced in bug 1852478 as part of
turning `white-space` into a shorthand.

Differential Revision: https://phabricator.services.mozilla.com/D198791
2024-01-22 12:57:55 +00:00
Jonathan Kew 5f45c5f18d Bug 1852478 - Convert CSS `white-space` into a shorthand that expands to `white-space-collapse` and `text-wrap-mode` longhands. r=firefox-style-system-reviewers,emilio
Note that although this builds, it would (by itself) result in some test breakage;
this is resolved in the following patches that build on this.

Differential Revision: https://phabricator.services.mozilla.com/D198790
2024-01-22 12:57:54 +00:00
Zach Hoffman f775a9010a Bug 1856522 - Remove unneeded TODOs for bug 1856522 r=firefox-style-system-reviewers,emilio
Dependencies between custom properties and font-* properties are
resolved in bug 1855110, so these TODOs for bug 1856522 can be removed.

Differential Revision: https://phabricator.services.mozilla.com/D199208
2024-01-22 11:02:57 +00:00
David Shin 09843d679b Bug 1875348: Provide correct offset into `matches_compound_selector_from` in `:has` optimization path. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D199011
2024-01-19 14:52:50 +00:00
David Shin fcb7e5d6e5 Bug 1875081: Early reject `:has` that anchors don't match the outer selector. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D198982
2024-01-19 14:52:44 +00:00
Makoto Kato 34342fa8e7 Bug 1847521 - Replace unicode-segmentation with ICU4X in servo. r=firefox-style-system-reviewers,emilio
Now we uses two crates for unicode segmentation, let's replace with ICU4X.

Differential Revision: https://phabricator.services.mozilla.com/D198131
2024-01-18 02:29:19 +00:00
Emilio Cobos Álvarez 1d09fcd2a3 Bug 1875079 - Always enable css zoom in chrome pages. r=saschanaz
Without this beta simulation jobs will fail with the previous patches.

Differential Revision: https://phabricator.services.mozilla.com/D198827
2024-01-17 16:52:14 +00:00
David Shin db2606acee Bug 1855110: Part 3 - Properly resolve registered custom properties using font-relative units. r=firefox-style-system-reviewers,emilio
Resolution of such custom properties (And other properties depending on them)
must take place after font-related properties (Which are prioritary) are
resolved. Resolution of custom properties is therefore split into two phases,
before and after prioritary properties are resolved.

Differential Revision: https://phabricator.services.mozilla.com/D196195
2024-01-16 21:03:03 +00:00
David Shin 6ec16498e0 Bug 1855110: Part 2 - Track and mark dependency cycles between custom properties and font-related properties. r=firefox-style-system-reviewers,emilio
Registered custom properties may utilize font-relative units such as `em`,
`ex`, etc. Font-related properties (More with `calc()` unit algebra), in
turn, may refer to such registered custom properties, leading to a cycle
(Note, unregistered properties are effectively copy-pastes, so it does not
suffer from this issue).

This patch:
1. Defers computation of registstered custom properties using font-relative
   units
2. Keeps track of custom properties utilizing font-relative units
3. Keeps track of non-custom, font-related properties making variable
   references
4. Expands the cycle detection to non-custom properties

Because of 1, this patch causes registered custom property using
font-relative units to resolve as if they're unregistered - this will be
addressed in the next patch.

Differential Revision: https://phabricator.services.mozilla.com/D196194
2024-01-16 21:03:02 +00:00
David Shin fd910dd4ce Bug 1874705: Run invalidation on appended elements even if the first node is not an element. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D198604
2024-01-16 18:08:55 +00:00
Gregory Pappas 1aa61dcd48 Bug 1874633 - Remove a bunch of css math prefs r=emilio
- layout.css.trig.enabled
- layout.css.exp.enabled
- layout.css.round.enabled
- layout.css.nan-inf.enabled
- layout.css.abs-sign.enabled
- layout.css.mod-rem.enabled

Differential Revision: https://phabricator.services.mozilla.com/D198671
2024-01-16 10:45:05 +00:00
David Shin 7cec63c2bc Bug 1874066: Distinguish edge selectors vs. other nth selectors. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D198464
2024-01-15 16:09:17 +00:00
Gregory Pappas c6d9bdce19 Bug 1873594 - Remove layout.css.color-mix.enabled and layout.css.color-mix.color-spaces.enabled r=emilio,devtools-reviewers,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D197986
2024-01-14 01:24:01 +00:00
Emilio Cobos Álvarez 7934c6a667 Bug 1874050 - Share more memory in custom property storage. r=dshin
This implements a similar optimization as WebKit's, see the bug comment.
This should be specially useful for sites with lots of custom
properties.

This is a high-confidence win on this speedometer subtest:

 * 1.9x faster in style updates.
 * 4.2x faster in layout object destruction (we no longer free the huge
   custom properties map).
 * Also speeds up paint and layout a bit, probably from less memory
   churn.

Differential Revision: https://phabricator.services.mozilla.com/D198308
2024-01-12 18:01:17 +00:00
David Shin 966bb4e7dd Bug 1873649: Do not eagerly seek prev and next siblings DOM mutation invalidation. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D198052
2024-01-11 18:21:46 +00:00
Robert Longson e2612abe35 Bug 1872907 - stop marking SVG symbol elements as display:none r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D197760
2024-01-09 22:02:13 +00:00
Gregory Pappas 7b6b8a038f Bug 1872784 - Remove layout.css.font-display.enabled pref r=jfkthame,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D197558
2024-01-09 20:44:39 +00:00
Narcis Beleuzu 26f49749a4 Backed out changeset b1f46ae76bf0 (bug 1872907) for causing BP bustages on SVGSymbolFrame.cpp . CLOSED TREE 2024-01-09 22:23:33 +02:00
Robert Longson 6841504948 Bug 1872907 - stop marking SVG symbol elements as display:none r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D197760
2024-01-09 18:24:38 +00:00
Ziran Sun ed8c7e5344 Bug 1869472 - Make "Custom" variants use the same code path as others in AnimationValue::eq. r=zrhoffman,emilio
Differential Revision: https://phabricator.services.mozilla.com/D196993
2024-01-03 10:07:28 +00:00
Emilio Cobos Álvarez 877078107a Bug 1871513 - Remove an assert that doesn't hold anymore with first-line reparenting. r=dholbert
After the regressing bug, first-line reparenting starts off with the
to-be-reparented style, so the display value is already the expected
(grid) rather than block.

Differential Revision: https://phabricator.services.mozilla.com/D197251
2024-01-02 07:45:26 +00:00
Emilio Cobos Álvarez 35c465dca0 Bug 1872399 - Clean-up -moz-window-shadow set-up. r=dholbert
-moz-window-shadow is a chrome-only property (not exposed to the web),
and chrome stylesheets only use the none value to disable the default
behavior.

Split the style property (default/none) from the actual widget behavior.
This is useful because I want to add a distinction between
natively-styled menupopups and other panels in the following commit.

While at it rename default to "auto" which is a more common name in CSS
for something like this.

We have no use case for removing the shadow of a top-level window, so
remove it to simplify the code.

Differential Revision: https://phabricator.services.mozilla.com/D197454
2023-12-31 21:53:32 +00:00
Emilio Cobos Álvarez 61474d6767 Bug 1871745 - Hide -moz-user-focus from content. r=smaug
-moz-user-focus: none didn't do anything useful for non-XUL until
bug 1868552. It seems nonetheless some sites specify it, which can cause
compat issues.

Let's hide this property from content, to avoid breaking those sites.

Differential Revision: https://phabricator.services.mozilla.com/D197253
2023-12-28 17:45:49 +00:00
Mike Hommey 501f861c99 Bug 1871884 - Use the equivalent of std::ptr::addr_eq in servo_arc::Arc::ptr_eq. r=emilio
1.76 added a warning when comparing pointers with metadata (e.g. a size
or trait vtable), and suggests to use explicit comparisons, either
std::ptr::addr_eq to only compare the address or std::ptr::eq to compare
address + metadata.

The current semantics of Arc::ptr_eq are to compare address + metadata,
but the intended semantics are to compare the address. So we do that.

Differential Revision: https://phabricator.services.mozilla.com/D197275
2023-12-26 22:56:56 +00:00
Norisz Fay 61a6945d95 Backed out changeset 65525b63d6cf (bug 1871745) for causing bc failures on browser_bug462289.js, browser_PanelMultiView_focus.js CLOSED TREE 2023-12-26 13:47:27 +02:00
Emilio Cobos Álvarez e25e84b4e0 Bug 1871745 - Hide -moz-user-focus from content. r=smaug
-moz-user-focus: none didn't do anything useful for non-XUL until
bug 1868552. It seems nonetheless some sites specify it, which can cause
compat issues.

Let's hide this property from content, to avoid breaking those sites.

Differential Revision: https://phabricator.services.mozilla.com/D197253
2023-12-26 10:00:59 +00:00
Eliot Jacobs ea29370b7a Bug 1867908 - Fix round() with negative step returning incorrect value r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D197011
2023-12-25 20:51:07 +00:00
Emilio Cobos Álvarez 8af4c57baf Bug 1871540 - Use VariableValue to track references in unparsed values. r=dshin
Differential Revision: https://phabricator.services.mozilla.com/D197147
2023-12-22 20:52:26 +00:00
Cosmin Sabou b43f82a95b Backed out 2 changesets (bug 1871540) for causing webvtt related failures. CLOSED TREE
Backed out changeset 6d2274dc2f41 (bug 1871540)
Backed out changeset a066a966cd03 (bug 1871540)
2023-12-22 21:11:11 +02:00
Emilio Cobos Álvarez 2d4c0d3cdc Bug 1871540 - Use VariableValue to track references in unparsed values. r=dshin
Depends on D197146

Differential Revision: https://phabricator.services.mozilla.com/D197147
2023-12-22 15:09:44 +00:00
Ziran Sun 25da9bcee7 Bug 1869472 - AnimationValue::Custom should hold single struct. r=zrhoffman
Differential Revision: https://phabricator.services.mozilla.com/D196820
2023-12-20 13:07:16 +00:00
Emilio Cobos Álvarez fa5c22dd82 Bug 1870832 - Fix SpecifiedValueInfo for transition-property.
This got reviewed as part of D196842 (see diff 801914), but I rebased
before landing in a tree that didn't have that change.

MANUAL PUSH: Orange fix CLOSED TREE
2023-12-20 12:56:22 +01:00
Emilio Cobos Álvarez fb4b456d4f Bug 1870832 - Use cbindgen for animation-{name,composition,fill-mode,direction}. r=firefox-style-system-reviewers,zrhoffman
Same amount of code, but more boring code (and I've probably missed
removing some), which is better.

Differential Revision: https://phabricator.services.mozilla.com/D196843
2023-12-20 10:52:25 +00:00
Emilio Cobos Álvarez bab145128a Bug 1870832 - Auto-generate transition-property. r=firefox-style-system-reviewers,zrhoffman
Now that NonCustomPropertyId is not in mako, it can be auto-generated by
cbindgen. This allows simplifying some code.

Differential Revision: https://phabricator.services.mozilla.com/D196842
2023-12-20 10:52:24 +00:00
Emilio Cobos Álvarez 7fcf0d7415 Bug 1870676 - Clean up transition-property handling, and remove eCSSPropertyExtra_all_properties. r=firefox-style-system-reviewers,zrhoffman
While we're at it, let's fix this long-standing TODO.

Differential Revision: https://phabricator.services.mozilla.com/D196760
2023-12-19 11:02:39 +00:00
Emilio Cobos Álvarez 2ced0c534e Bug 1870676 - Other minor clean-ups to PropertyId-related code. r=firefox-style-system-reviewers,zrhoffman
Make NonCustomPropertyId an u16 (because it can, and it's more compact),
and use arrays for ShorthandId::longhands and LonghandId::shorthands.

Differential Revision: https://phabricator.services.mozilla.com/D196759
2023-12-19 10:50:22 +00:00
Emilio Cobos Álvarez 933d556ce5 Bug 1870676 - Move a bunch of code in properties.mako.rs outside of mako. r=firefox-style-system-reviewers,zrhoffman
Most of these bits don't need mako. Move them to properties/mod.rs.

Differential Revision: https://phabricator.services.mozilla.com/D196758
2023-12-19 10:50:21 +00:00
David Shin 3ea9f1ec16 Bug 1869771: Prevent rule-based style sharing on elements that considered a relative selector. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D196311
2023-12-18 17:22:31 +00:00