Commit graph

304 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
31e8e418ea Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
Boris Chiou
0ef2410ea0 style: Implement Animate trait and ComputeSquaredDistance trait for <ratio>.
I also update the wpt becasue it seems the original one lets <ratio>
support the addition. However, the spec says "Addition of <ratio>s is not
possible".

Differential Revision: https://phabricator.services.mozilla.com/D106219
2021-02-26 16:44:05 +01:00
Emily McDonough
4dc475d3a1 style: Rename alias to aliases in Longhand and Shorthand
Differential Revision: https://phabricator.services.mozilla.com/D105810
2021-02-26 16:44:05 +01:00
Emily McDonough
1b18b06186 style: Switch properties to use a bitfield to determine validity in rules.
This doesn't use a full bitmap for every single rule type, as we only expect
that keyframe, page, and style rules will be checked.

Differential Revision: https://phabricator.services.mozilla.com/D104949
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
20f5e14bf8 style: Remove the need for needs_context in the mako glue.
It's only used to disambiguate between the one-argument and the trait
version of Keyword::parse. Instead, just explicitly use the trait
version, so that we don't need to specify it.

Differential Revision: https://phabricator.services.mozilla.com/D104328
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
5fe702fa2b style: Move caption-side outside of mako.
Make it an enum class, etc.

Differential Revision: https://phabricator.services.mozilla.com/D103978
2021-02-26 16:44:05 +01:00
longsonr
eec92977f7 style: remove svg.transform-box.enabled pref
It's been default true since Firefox 55 via bug 1208550

Differential Revision: https://phabricator.services.mozilla.com/D102093
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
65a06d5003 style: Support full <image> syntax in list-style-image as per spec.
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
5f4da63a5e style: Remove some text-decoration prefs that are always on.
Differential Revision: https://phabricator.services.mozilla.com/D99675
2021-02-26 16:44:05 +01:00
Frederic Wang
4dfcf583cf style: Rename -moz-math-script-level to math-depth.
This renames the internal -moz-math-script-level property in order to
prepare for full math-depth support. Currently, the property is guarded
under a disabled-by-default flag, so there should be no observable
behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D91285
2021-02-26 16:44:05 +01:00
Frederic Wang
dab46fc958 style: Implement displaystyle attribute on all MathML elements.
Gecko implements the displaystyle attribute as defined by MathML 3 i.e.
only on the math, mstyle and mtable elements. This commit follows MathML
Core and instead define it as a global attribute mapped to math-style.
See https://mathml-refresh.github.io/mathml-core/#the-displaystyle-and-scriptlevel-attributes

Differential Revision: https://phabricator.services.mozilla.com/D90786
2021-02-26 16:44:05 +01:00
Frederic Wang
ca03f4df6d style: Implement the math-style property.
This patch renames the internal -moz-math-display to math-style and
exposes it under the layout.css.math-style.enabled preference. The
initial value becomes "normal" but that does not affect the default
MathML behavior since the UA style sheet sets the math-style property
explicitly on <math> tags. WPT tests are updated to use the syntax
approved by the CSSWG.

Intent to prototype: https://groups.google.com/forum/#!msg/mozilla.dev.platform/1hQQ7ISudGo/_yLEckEeBQAJ

Differential Revision: https://phabricator.services.mozilla.com/D90731
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
768db078ef style: Make appearance: button behave like auto.
As per https://github.com/w3c/csswg-drafts/issues/5174.

Differential Revision: https://phabricator.services.mozilla.com/D89119
2021-02-26 16:44:05 +01:00
Shinichi Morimoto
5d5d4f4429 style: Remove layout.css.offset-logical-properties.enabled.
Differential Revision: https://phabricator.services.mozilla.com/D87297
2021-02-26 16:44:05 +01:00
Brian Birtles
7c3d815f78 style: Make text-combine-upright not animatable.
Differential Revision: https://phabricator.services.mozilla.com/D84935
2021-02-26 16:44:05 +01:00
Alexander Surkov
32f92d18a8 style: implement -moz-inert CSS property.
-moz-inert CSS property reflects inert subtrees concept and can be used to implement HTML:dialog element and HTML:inert attribute

Differential Revision: https://phabricator.services.mozilla.com/D81701
2021-02-26 16:44:05 +01:00
Philipp Zech
cd8c07abac style: Convert writing-modes #defines to an enum class.
Differential Revision: https://phabricator.services.mozilla.com/D84016
2021-02-26 16:44:05 +01:00
Cameron McCormack
862b7d1249 style: Make appearance: button behave like auto on various elements.
Differential Revision: https://phabricator.services.mozilla.com/D83434
2021-02-26 16:44:05 +01:00
Cameron McCormack
8457666204 style: Change internal uses of -moz-appearance to appearance and -moz-default-appearance.
Uses of `-moz-appearance: none` are changed to `appearance: none`.

Uses of other values that are simply reverting the appearance back to
its default are changed to `appearance: auto`.

Uses of values in UA sheets that are defining the inherent appearance of
widgets are changed to:

  appearance: auto;
  -moz-default-appearance: <value>;

since those values are either no longer supported on (-moz-)appearance,
or are still supported but only in some limited form.

There are some uses of `-moz-appearance: textfield` on <input
type=number> elements that are renamed to `appearance: textfield`.

Differential Revision: https://phabricator.services.mozilla.com/D83430
2021-02-26 16:44:05 +01:00
Cameron McCormack
01efe3a459 style: Add unprefixed appearance property and make -moz-appearance and -webkit-appearance be aliases.
Differential Revision: https://phabricator.services.mozilla.com/D83428
2021-02-26 16:44:05 +01:00
Emilio Cobos Álvarez
46df06b3e2 style: Use mozilla::Length rather than nscoord to store font sizes.
This avoids arbitrary precision loss when computing REM units and so on,
which is particularly important if we ever change the base of our app
units (but useful regardless).

Differential Revision: https://phabricator.services.mozilla.com/D79928
2021-02-26 16:44:05 +01:00
bors-servo
6a3c3a4e18
Auto merge of #26447 - jdm:white-space-2020, r=nox
Layout 2020: Implement basic white-space: pre support

With these changes `<pre>` and `<br>` preserve spaces and force line breaks appropriately.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26440
- [x] There are tests for these changes
2020-07-29 10:29:30 -04:00
Manish Goregaokar
139f240baf Enable clip property in layout 2020 2020-07-27 19:59:59 -07:00
Josh Matthews
d8b4dab4e3 Implement basic white-space: pre support for layout 2020. 2020-07-27 20:06:53 -04:00
Simon Sapin
b91e293819 Add layout support for list markers 2020-07-24 09:31:24 +02:00
Manish Goregaokar
1af5efc542 flexbox 2020: Enable align-self and align-items in CSS 2020-07-20 14:26:14 -07:00
Emilio Cobos Álvarez
33b548ae64
style: Use an enum class for LookAndFeel::FontID.
Differential Revision: https://phabricator.services.mozilla.com/D76696
2020-06-18 23:51:16 +02:00
neil
7b5953da95
style: Remove the layout.css.scrollbar-width.enabled and layout.css.scrollbar-color.enabled prefs.
Differential Revision: https://phabricator.services.mozilla.com/D78400
2020-06-18 23:51:16 +02:00
Cameron McCormack
9b980e2f49
style: Add telemetry for -moz-appearance usage.
Differential Revision: https://phabricator.services.mozilla.com/D77637
2020-06-18 23:51:15 +02:00
Philipp Zech
5af0d7ca7c
style: Remove StyleFontSize enum from nsStyleConsts.h.
Differential Revision: https://phabricator.services.mozilla.com/D77511
2020-06-18 23:51:14 +02:00
Matthias Deiml
b85a5dac5d Implement visibility for layout_2020 2020-06-14 00:31:37 +02:00
Simon Sapin
dcd25a06da Enable (behind a pref) parsing of the flex-* properties 2020-06-10 08:38:36 +02:00
Simon Sapin
29005e1626 Keep flex items in order-modified document order in the box tree 2020-06-04 13:19:53 +02:00
Boris Chiou
fc9321bb23 style: Let aspect-ratio (css-sizing-4) support 'auto | <ratio>'.
In order to test its parsing and serialization, we expose it but protect
it behind a pref.

Besides, I would like to drop layout.css.aspect-ratio-number.enabled in
the next patch because the spec has been updated. It seems we don't have
to keep this pref and we should always use Number.

Differential Revision: https://phabricator.services.mozilla.com/D74955
2020-06-04 01:50:36 +02:00
Mats Palmgren
6f58c66589 style: Implement style system support for Masonry layout.
This implements support for this CSS Masonry layout proposal:
https://github.com/w3c/csswg-drafts/issues/4650

I've intentionally left out a shorthand (place-tracks?) for now until
we have a draft CSS spec for this.

Differential Revision: https://phabricator.services.mozilla.com/D67061
2020-06-04 01:50:36 +02:00
Daniel Holbert
cd63d7b272 style: Remove pref for CSS Containment (layout.css.contain.enabled) r=AlaskanEmily
(Since we've been shipping with it default-enabled for a while now.)

See https://bugzilla.mozilla.org/show_bug.cgi?id=1466008#c9 through #c13 for
notes on the reftest.list change.

Differential Revision: https://phabricator.services.mozilla.com/D71861
2020-06-04 01:50:36 +02:00
Martin Robinson
a238597a18 layout_2020: Add support for transitions and animations 2020-05-19 10:02:03 +02:00
Martin Robinson
183f15d5aa Implement animation-fill-mode
Fixes #26460.
2020-05-17 20:42:57 +02:00
Emilio Cobos Álvarez
7c96aed31d style: Sync some other changes. 2020-04-16 17:50:17 +02:00
Cameron McCormack
fa733ecb72 style: Fix a few initial values in Rust property definitions.
Differential Revision: https://phabricator.services.mozilla.com/D67929
2020-04-16 16:35:07 +02:00
Cameron McCormack
257b96c549 style: Make image-orientation initial value change be Nightly only.
We'll let this ride the trains once Chrome 81 is set to be released.

Differential Revision: https://phabricator.services.mozilla.com/D67932
2020-04-16 16:35:07 +02:00
Philipp Zech
9fd243bb39 style: Convert control-character-visibility #defines to an enum class.
Differential Revision: https://phabricator.services.mozilla.com/D68705
2020-04-16 16:35:07 +02:00
Philipp Zech
bac5248135 style: Convert mask-composite #defines to an enum class.
Differential Revision: https://phabricator.services.mozilla.com/D67394
2020-04-16 16:35:07 +02:00
Philipp Zech
614d3e746f style: Convert vector-effect #defines to an enum class.
Differential Revision: https://phabricator.services.mozilla.com/D65718
2020-04-16 16:35:07 +02:00
Philipp Zech
b9bf5fb868 style: Convert color-interpolation #defines to an enum class.
Differential Revision: https://phabricator.services.mozilla.com/D64813
2020-04-16 16:35:07 +02:00
Emilio Cobos Álvarez
7af9a087aa style: Use enums for text-align / text-align-last.
This also fixes some backwards logic in nsBlockFrame::ReflowDirtyLines, and adds
some static assertions to nsGenericHTMLElement that almost cause a very subtle
bug.

Depends on D63792

Differential Revision: https://phabricator.services.mozilla.com/D63793
2020-04-16 16:35:07 +02:00
Emilio Cobos Álvarez
31187b0180 style: Remove layout.css.webkit-appearance.enabled.
I don't think we want to keep the ugly widget hacks forever. Let me know if
you'd rather keep the property behind a pref but I don't think there's a point
in doing that.

Differential Revision: https://phabricator.services.mozilla.com/D62649
2020-04-16 16:35:07 +02:00
Cameron McCormack
47db01f793 style: Change initial value of image-orientation to from-image.
Differential Revision: https://phabricator.services.mozilla.com/D62826
2020-04-16 16:35:07 +02:00
Martin McNickle
cf20c627b5 style: Replace existing GridAutoFlow struct with a bitflags! backed one.
Differential Revision: https://phabricator.services.mozilla.com/D62787
2020-04-16 16:35:07 +02:00
Emilio Cobos Álvarez
239302b1ed style: Split clip-path and shape-outside values.
We don't actually share _that_ much code across them. This makes callers clearer
and code less confusing, IMHO.

This also has the benefit of not autocompleting path from devtools for
shape-outside.

Differential Revision: https://phabricator.services.mozilla.com/D62373
2020-04-16 16:35:07 +02:00