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

14259 Коммитов

Автор SHA1 Сообщение Дата
David Shin ceb39a5e21 Bug 1744231: Part 5 - Rematch all descendants when `container-type` changes. r=emilio
Extend WPT to ensure invalidation of descendants deeper than one.

Differential Revision: https://phabricator.services.mozilla.com/D158058
2022-10-17 17:26:14 +00:00
David Shin 5ee4d158da Bug 1744231: Part 4 - Enable lookup and computation of container size queries. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158057
2022-10-17 17:26:13 +00:00
David Shin 3e04e32ba0 Bug 1744231: Part 3 - Flag computed styles of elements with `container-type: *size` set & propagate them to their descendants. r=emilio
Low-hanging fruit optimization that enables short-circuit exit of container query lookups.

Differential Revision: https://phabricator.services.mozilla.com/D158056
2022-10-17 17:26:13 +00:00
David Shin da4bd1885a Bug 1744231: Part 2 - Centralize construction of `computed::Context`. r=emilio
For controlled construction and access of upcoming, lazily-evaluated container query size.

Differential Revision: https://phabricator.services.mozilla.com/D158055
2022-10-17 17:26:12 +00:00
David Shin 9205afc4f7 Bug 1744231: Part 1 - Implement parsing of container relative lengths. r=emilio
- For now, implementation always returns the fallback value, i.e. small viewport lengths.
- Enabled via existing pref `layout.css.container-queries.enabled`.

Differential Revision: https://phabricator.services.mozilla.com/D158054
2022-10-17 17:26:12 +00:00
Anurag Kalia a98122da5e Bug 1792608 - Make vertical writing mode (left/right) in text-emphasis-position optional r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158399
2022-10-17 09:28:44 +00:00
Iulian Moraru a3a61d1d43 Backed out changeset c5ede12b748e (bug 1790059) for causing multiple failures container related. CLOSED TREE 2022-10-13 18:52:25 +03:00
Ziran Sun 81361c6b99 Bug 1790059 - Only a single name allowed in @container rule. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158775
2022-10-13 13:56:24 +00:00
Frederic Wang 4766c8a994 Bug 1793387 - disable lquote/rquote attributes on the <ms> element. r=emilio
This commit introduces a MathML preference for the legacy implementation
of the lquote/rquote attributes, and disable it by default. This feature
is not implemented in Chromium or WebKit, not part of MathML Core and
Firefox's implementation has issues (e.g. bugs 787215 and 1108608).

Differential Revision: https://phabricator.services.mozilla.com/D158479
2022-10-08 11:37:32 +00:00
Jonathan Kew b593702fb8 Bug 1791782 - Connect CSS font-palette features to rendering via the presContext. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157959
2022-10-07 23:00:46 +00:00
Jonathan Kew d69f7c1c95 Bug 1791778 - CSS support for the font-palette property. r=emilio
This is just the CSS parsing, not yet connected to the rendering back-end.

Differential Revision: https://phabricator.services.mozilla.com/D157957
2022-10-07 23:00:44 +00:00
Jonathan Kew 6cbd59c9a6 Bug 1791777 - patch 1 - Implement CSS parsing for the @font-palette-values rule. r=emilio
Not yet hooked up to any rendering functionality.

The intention is for both the @font-palette-values at-rule and the font-palette property
to be behind the same pref being introduced here.

Differential Revision: https://phabricator.services.mozilla.com/D157953
2022-10-07 23:00:43 +00:00
Noemi Erli 5b0216e320 Backed out 9 changesets (bug 1791778, bug 1791782, bug 1791780, bug 1791777) for causing build bustages in TestCOLRv1.cpp CLOSED TREE
Backed out changeset aeb44b79bf31 (bug 1791782)
Backed out changeset 292fd3a1b6dd (bug 1791782)
Backed out changeset 9947218170d0 (bug 1791780)
Backed out changeset 528b4c022a44 (bug 1791778)
Backed out changeset c734ff661a66 (bug 1791778)
Backed out changeset 6585dd386ee3 (bug 1791777)
Backed out changeset af4243189ef1 (bug 1791777)
Backed out changeset a47ae5f76514 (bug 1791777)
Backed out changeset 24ce615e77fd (bug 1791777)
2022-10-08 00:08:57 +03:00
Jonathan Kew 1ced95e237 Bug 1791782 - Connect CSS font-palette features to rendering via the presContext. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157959
2022-10-07 18:58:53 +00:00
Jonathan Kew a43494e78c Bug 1791778 - CSS support for the font-palette property. r=emilio
This is just the CSS parsing, not yet connected to the rendering back-end.

Differential Revision: https://phabricator.services.mozilla.com/D157957
2022-10-07 18:58:52 +00:00
Jonathan Kew 5cb74acb98 Bug 1791777 - patch 1 - Implement CSS parsing for the @font-palette-values rule. r=emilio
Not yet hooked up to any rendering functionality.

The intention is for both the @font-palette-values at-rule and the font-palette property
to be behind the same pref being introduced here.

Differential Revision: https://phabricator.services.mozilla.com/D157953
2022-10-07 18:58:50 +00:00
Cristian Tuns 18e597b504 Backed out 9 changesets (bug 1791777, bug 1791780, bug 1791778, bug 1791782) for causing build bustages on TestCOLRv1.cpp CLOSED TREE
Backed out changeset f145a34cfbc1 (bug 1791782)
Backed out changeset 2f12216fbeda (bug 1791782)
Backed out changeset 61bd2a4496bf (bug 1791780)
Backed out changeset 4e4eb99a7fd9 (bug 1791778)
Backed out changeset 32d171a28810 (bug 1791778)
Backed out changeset e317795cd27a (bug 1791777)
Backed out changeset 5e32d5a01917 (bug 1791777)
Backed out changeset cf87497dbead (bug 1791777)
Backed out changeset 586c735b005e (bug 1791777)
2022-10-07 13:46:43 -04:00
Jonathan Kew c8bc44d595 Bug 1791782 - Connect CSS font-palette features to rendering via the presContext. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157959
2022-10-07 16:53:36 +00:00
Jonathan Kew 77f08967e0 Bug 1791778 - CSS support for the font-palette property. r=emilio
This is just the CSS parsing, not yet connected to the rendering back-end.

Differential Revision: https://phabricator.services.mozilla.com/D157957
2022-10-07 16:53:34 +00:00
Jonathan Kew 782b403c72 Bug 1791777 - patch 1 - Implement CSS parsing for the @font-palette-values rule. r=emilio
Not yet hooked up to any rendering functionality.

The intention is for both the @font-palette-values at-rule and the font-palette property
to be behind the same pref being introduced here.

Differential Revision: https://phabricator.services.mozilla.com/D157953
2022-10-07 16:53:33 +00:00
Norisz Fay 30ef428f43 Backed out 9 changesets (bug 1791780, bug 1791782, bug 1791778, bug 1791777) for causing multiple mochitest failures CLOSED TREE
Backed out changeset 6de1ade5a9b6 (bug 1791782)
Backed out changeset ce96452a38a1 (bug 1791782)
Backed out changeset 7cc8e027f5a7 (bug 1791780)
Backed out changeset 8e023280032c (bug 1791778)
Backed out changeset 26d65d76d02a (bug 1791778)
Backed out changeset a98dd552df64 (bug 1791777)
Backed out changeset 766386309ee5 (bug 1791777)
Backed out changeset 7de66a218ba4 (bug 1791777)
Backed out changeset 1d17c257444e (bug 1791777)
2022-10-07 17:36:38 +03:00
Jonathan Kew 03bc9753c5 Bug 1791782 - Connect CSS font-palette features to rendering via the presContext. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157959
2022-10-07 12:16:53 +00:00
Jonathan Kew 66b445f7fa Bug 1791778 - CSS support for the font-palette property. r=emilio
This is just the CSS parsing, not yet connected to the rendering back-end.

Differential Revision: https://phabricator.services.mozilla.com/D157957
2022-10-07 12:16:52 +00:00
Jonathan Kew 961d91154b Bug 1791777 - patch 1 - Implement CSS parsing for the @font-palette-values rule. r=emilio
Not yet hooked up to any rendering functionality.

The intention is for both the @font-palette-values at-rule and the font-palette property
to be behind the same pref being introduced here.

Differential Revision: https://phabricator.services.mozilla.com/D157953
2022-10-07 12:16:51 +00:00
Ting-Yu Lin b798773da4 Bug 1792134 Part 6 - More rename and clean up related to StyleClear. r=emilio
* Rename `mBreakType` to `mFloatClearType` in nsLineBox and nsReflowStatus and
  the methods around it.
* Rename `mBreakType` to `mClear` in nsStyleDisplay.
* Many other method parameters or local variables rename such as from
  `aBreakType` to `aClearType`.

Differential Revision: https://phabricator.services.mozilla.com/D158276
2022-09-29 03:40:56 +00:00
Ting-Yu Lin 807198173f Bug 1792134 Part 4 - Move clear property out of gecko.mako.rs. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158225
2022-09-29 03:40:56 +00:00
Ting-Yu Lin 39e9b0eb72 Bug 1792134 Part 3 - Remove StyleClear::Line. r=emilio
Before this patch, StyleClear::Line indicates that the nsLineBox has break-after
but no float clearance (note we don't allow line break-before with clear:none);
StyleClear::None indicates the line has no break-before nor break-after.

In this patch, I added `mHasForcedLineBreak` bit in nsLineBox to indicate the
line has a break so that StyleClear can serve its original meaning -- the float
clearance. In Part 6, I'll rename more existing methods and variables related to
float clearance.

Now, instead of using StyleClear::None to clear the line break status, the
caller should use ClearForcedLineBreak(); Similar to set
SetInlineLineBreakBeforeAndReset() and SetInlineLineBreakAfter on
nsReflowStatus, SetBreakTypeBefore/SetBreakTypeAfter on nsLineBox always sets
break status with an optional float clearance parameter.

This patch shouldn't change the behavior.

Differential Revision: https://phabricator.services.mozilla.com/D158224
2022-09-29 03:40:55 +00:00
Ting-Yu Lin ebd19dfa4a Bug 1792615 - Run "cargo +nightly fmt" for style components in servo. r=emilio
The directories changed:
* servo/components/selectors/
* servo/components/style/
* servo/components/style_derive/
* servo/ports/geckolib/

Per review request, disable rustfmt in `components_to_transform_3d_matrix()` to
preserve the format for a call to `Transform3D::new`.

My mozilla-central is at
https://hg.mozilla.org/mozilla-central/rev/d1ae84015c22f2034435b47194fdced878072035

My nightly rust is 1.66.0-nightly (8b705839c 2022-09-26).

Differential Revision: https://phabricator.services.mozilla.com/D158234
2022-09-28 07:10:52 +00:00
Anurag Kalia 2324051653 Bug 1784022 - [refactor] Convert text-emphasis-position #defines to enum classes r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D155557
2022-09-27 07:38:08 +00:00
Emilio Cobos Álvarez 4e978b56b5 Bug 1689816 - Implement <tabpanels> and <deck> without XUL layout. r=Gijs,Jamie,morgan,preferences-reviewers,mconley,TYLin
Gijs for front-end bits, layout for the new CSS properties and the
removal of nsDeckFrame / nsStackLayout, Jamie and Morgan for the a11y
changes.

As discussed in the bug, the main tricky part here is handling a11y
correctly. For <deck>, that's trivial (just use `visibility: hidden` to
hide the panels visually, while removing the unselected panels from the
a11y tree).

For <tabpanels> however we need to do something special. We do want to
hide stuff visually, but we want to preserve the contents in the a11y
tree.

For that, the easiest fix is introducing a new privileged CSS property
(-moz-subtree-hidden-only-visually), which takes care of not painting
the frame, but marks stuff offscreen in the accessibility tree. This is
not intended to be a property used widely.

Other than that, the changes are relatively straight-forward, though
some of the accessible/mac changes I could get a sanity-check on.

Differential Revision: https://phabricator.services.mozilla.com/D157875
2022-09-27 04:18:16 +00:00
Marian-Vasile Laza f54a464c90 Backed out changeset 2f74f8f2ed19 (bug 1689816) for causing reftest failures on skip-ink-multiline-position.html. 2022-09-26 23:24:03 +03:00
Emilio Cobos Álvarez f875681246 Bug 1689816 - Implement <tabpanels> and <deck> without XUL layout. r=Gijs,Jamie,morgan,preferences-reviewers,mconley,TYLin
Gijs for front-end bits, layout for the new CSS properties and the
removal of nsDeckFrame / nsStackLayout, Jamie and Morgan for the a11y
changes.

As discussed in the bug, the main tricky part here is handling a11y
correctly. For <deck>, that's trivial (just use `visibility: hidden` to
hide the panels visually, while removing the unselected panels from the
a11y tree).

For <tabpanels> however we need to do something special. We do want to
hide stuff visually, but we want to preserve the contents in the a11y
tree.

For that, the easiest fix is introducing a new privileged CSS property
(-moz-subtree-hidden-only-visually), which takes care of not painting
the frame, but marks stuff offscreen in the accessibility tree. This is
not intended to be a property used widely.

Other than that, the changes are relatively straight-forward, though
some of the accessible/mac changes I could get a sanity-check on.

Differential Revision: https://phabricator.services.mozilla.com/D157875
2022-09-26 17:40:30 +00:00
Norisz Fay f6c4f2c950 Backed out changeset b5f9a98c4e2e (bug 1789779) as requested by dev CLOSED TREE 2022-09-22 09:01:33 +03:00
Boris Chiou 8b587cf6c1 Bug 1789447 - Part 2: Drop @scroll-timeline rule entirely. r=emilio,hiro
This rule is not used in tests and should be removed per spec.

Differential Revision: https://phabricator.services.mozilla.com/D157249
2022-09-22 03:47:11 +00:00
Boris Chiou 8250077606 Bug 1789447 - Part 1: Drop the usage of @scroll-timeline from animation builder. r=hiro
@scroll-timeline rule was removed from the spec and wpt, so it's safe to
remove this from Gecko.

Differential Revision: https://phabricator.services.mozilla.com/D157248
2022-09-22 03:47:11 +00:00
Emilio Cobos Álvarez d9a694f78f Bug 1791281 - Simplify our setup for font metric queries from style. r=jfkthame
While looking at moving the flag around I realized that the only reason
we have FontMetricsProvider and co is because we didn't have access to
the per-document font-prefs cache. That's trivial to fix tho, so do
that and simplify the setup for font queries even more.

Differential Revision: https://phabricator.services.mozilla.com/D157589
2022-09-20 19:30:45 +00:00
Emilio Cobos Álvarez 66d4c80ac5 Bug 1791455 - Honor currentColor in HCM. r=morgan
I think it's fair to honor it, just like we honor system color keywords.

By definition if we're forcing colors currentColor can only be forced or
a system color.

Differential Revision: https://phabricator.services.mozilla.com/D157675
2022-09-20 17:52:34 +00:00
Mike Hommey 8ce6f0503e Bug 1789779 - Work around miscompilation on cross-LTO. r=emilio
Starting from
6c8adc5054,
Servo_NoteExplicitHints can end up inlined in its callers via
cross-language LTO, which didn't happen before. This yields a
miscompilation in the caller, causing crashes. Until the miscompilation
is fixed, avoid the inlining.

Differential Revision: https://phabricator.services.mozilla.com/D157423
2022-09-15 20:55:30 +00:00
Ziran Sun 13c31385a7 Bug 1777733 - Rename initial value of `container-type' from 'none' to 'normal'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157098
2022-09-15 13:37:16 +00:00
criss 49eaaa607e Backed out 2 changesets (bug 1667090, bug 1788605) for causing Xpcshell failures on test_css-properties-db.js. CLOSED TREE
Backed out changeset cee98ae67ea4 (bug 1788605)
Backed out changeset 404e0b4bcd0f (bug 1667090)
2022-09-15 12:13:28 +03:00
Frederic Wang fe1762c548 Bug 1667090 - Implement CSS font-size: math and math-depth properties. r=emilio
The font-size math keyword is implemented. It behaves as a font-size: 1em
with the extra fixup due to math-level change (and other legacy MathML
attributes). After that change, the CSS for math-level / font-size: math
is behaving as per the specification, so the math-depth is turned in
nightly.

The adjusting function for font-size: math is modified so that it's
executed only if both font-size: math (otherwise the spec says no scale
should apply) and math-depth (otherwise the scale is 1 and function exists
early anyway) are set on the element. Also checking if the current node
has a scriptsizemultiplier rule applied to use MathML3's scaling is
incorrect. Instead this is changed to check if a non-default
scriptsizemultiplier is set.

Differential Revision: https://phabricator.services.mozilla.com/D91744
2022-09-15 08:14:49 +00:00
Ziran Sun 674ee40a3a Bug 1789799 - Disallow 'not', 'and', and 'or' from <container-name>. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D156805
2022-09-14 11:48:01 +00:00
Narcis Beleuzu acc49fd2f6 Backed out changeset f3406027a192 (bug 1777733) for mochitest failures. CLOSED TREE 2022-09-14 12:36:14 +03:00
Ziran Sun 08c70ca10b Bug 1777733 - Rename initial value of `container-type' from 'none' to 'normal'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157098
2022-09-14 08:33:35 +00:00
Emilio Cobos Álvarez 8dbf5a4737 Bug 1790495 - React to font-size changes on query containers. r=dshin
Much like we react to font-size changes on the root.

Differential Revision: https://phabricator.services.mozilla.com/D157173
2022-09-13 17:08:46 +00:00
Emilio Cobos Álvarez fa760a8139 Bug 1789191 - Add CSSContainerRule.queryContainerFor(Element). r=nchevobbe,dshin
This actually caught a bug in the existing selection logic.

Differential Revision: https://phabricator.services.mozilla.com/D156414
2022-09-10 12:25:22 +00:00
Sandor Molnar e9d20af17e Backed out changeset 0552fd39333b (bug 1789191) for causing mochitest failures in layout/style/test/test_revert.html CLOSED TREE 2022-09-10 07:11:24 +03:00
Emilio Cobos Álvarez 841481eb39 Bug 1789191 - Add CSSContainerRule.queryContainerFor(Element). r=nchevobbe,dshin
This actually caught a bug in the existing selection logic.

Differential Revision: https://phabricator.services.mozilla.com/D156414
2022-09-10 02:37:44 +00:00
Sandor Molnar 371ce48f03 Backed out changeset 56c223bba6d6 (bug 1789191) for causing mochitest failures in layout/style/test/test_transitions_per_property.html CLOSED TREE 2022-09-09 23:42:13 +03:00
Emilio Cobos Álvarez 1ddadd5577 Bug 1789191 - Add CSSContainerRule.queryContainerFor(Element). r=nchevobbe,dshin
This actually caught a bug in the existing selection logic.

Differential Revision: https://phabricator.services.mozilla.com/D156414
2022-09-09 19:34:55 +00:00