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

15545 Коммитов

Автор SHA1 Сообщение Дата
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