Commit Graph

15503 Commits

Author SHA1 Message Date
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
David Shin
caf6d830a8 Bug 1886441: Part 3 - Implement substitutions in @scope. r=firefox-style-system-reviewers,emilio
`:scope` gets implicitly added if not present, without contributing
specificity (See https://github.com/w3c/csswg-drafts/issues/10196).

`&` is replaced with `scope-start` selector, or `:scope` if it not
specified.

Differential Revision: https://phabricator.services.mozilla.com/D207780
2024-05-30 15:23:41 +00:00
David Shin
336fcf3956 Bug 1886441: Part 2 - Infrastructure for checking scoped styles. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D207779
2024-05-30 15:23:40 +00:00
David Shin
4e40923fb6 Bug 1886441: Part 1 - Introduce scope proximity in cascade ordering. r=firefox-style-system-reviewers,emilio
Uses the u32 hole left in `ApplicableDeclarationBlock`.

Differential Revision: https://phabricator.services.mozilla.com/D207778
2024-05-30 15:23:40 +00:00
Tiaan Louw
7ace11cfe2 Bug 1899011 - In Lab/Oklab, very small a and b values makes the color achromatic r=layout-reviewers,emilio
Using an dynamic epsilon to check for small a and b values.

Differential Revision: https://phabricator.services.mozilla.com/D211665
2024-05-29 14:26:39 +00:00
Emilio Cobos Álvarez
0c79149d0a Bug 1899272 - Defer computation of registered custom color properties if needed. r=dshin,firefox-style-system-reviewers,zrhoffman
This is a bit less complicated than lengths because there's no cycle
possible which could turn the color-scheme declaration invalid afaict.

So it's just that we need to defer the colors when color-scheme is
specified, which is slightly annoying, but maybe not too bad.

I had to tweak a bit the code to defer properties to fix a bug that we
were papering over accidentally. We were using the wrong registration
here:

  https://searchfox.org/mozilla-central/rev/f60bb10a5fe6936f9e9f9e8a90d52c18a0ffd818/servo/components/style/custom_properties.rs#1613

That's the registration for reference.name, not for name, which
papered over some issues. The fix is simple tho, which is storing a
single CustomPropertiesMap.

Differential Revision: https://phabricator.services.mozilla.com/D211860
2024-05-29 14:19:02 +00:00