Ben Freist
717e4acefb
style: [refactor] Migrate NS_STYLE_TEXT_COMBINE_UPRIGHT_* defines
...
Differential Revision: https://phabricator.services.mozilla.com/D161965
2023-11-04 08:17:09 +01:00
Anurag Kalia
4dd841a036
style: Make vertical writing mode (left/right) in text-emphasis-position optional
...
Differential Revision: https://phabricator.services.mozilla.com/D158399
2023-11-03 08:59:49 +01:00
Anurag Kalia
1a9198a5ef
style: Convert text-emphasis-position #defines to enum classes
...
Differential Revision: https://phabricator.services.mozilla.com/D155557
2023-11-03 08:59:49 +01:00
Martin Robinson
d31cdb682f
Make the choice of layout runtime setting
...
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
2023-07-06 14:49:24 +02:00
Jonathan Kew
da29cade57
style: Add CSS support for the hyphenate-character property
...
Differential Revision: https://phabricator.services.mozilla.com/D133889
2023-06-09 10:22:23 +02:00
Jonathan Kew
f0a178b56a
style: Un-prefix -moz-tab-size (keeping the prefixed version as an alias for now)
...
This results in lots of new WPT test passes.
There were also a couple of WPT tests that turned out to be broken;
tab-size-inline-001 and -002 had errors in their reference files such
that they'd never pass anywhere. So those are fixed here.
Depends on D117331
Differential Revision: https://phabricator.services.mozilla.com/D117332
2023-05-24 18:32:33 +02:00
Emilio Cobos Álvarez
87a3f2598a
style: Properly hide -moz-control-character-visibility from content
...
Differential Revision: https://phabricator.services.mozilla.com/D114481
2023-05-24 18:32:30 +02:00
Oriol Brufau
743f213c25
style: Move moz-control-character-visibility out of mako, and remove support for gecko_pref_controlled_initial_value
...
No behavior change, just cleanup. Actually seem this technically _adds_ some code even
though it's a cleanup, but that's mostly because of the wrapping of the
derive list. The resulting code is simpler (more in-line with our usual
things, so I think it's an improvement).
Differential Revision: https://phabricator.services.mozilla.com/D111551
2023-05-16 23:17:16 +02:00
Oriol Brufau
b40f4b6fec
style: Clean up text-justify, and make distribute a parse-time alias
...
Since it's simpler, as discussed in the CSSWG issue.
Differential Revision: https://phabricator.services.mozilla.com/D111346
2023-05-16 23:14:19 +02:00
Oriol Brufau
b38517757f
style: Remove layout.css.ruby.position-alternate.enabled pref
...
Differential Revision: https://phabricator.services.mozilla.com/D114044
2023-05-16 12:59:19 +02:00
Oriol Brufau
17ae374c65
style: part 1 - Support parsing ruby-position: alternate
...
Differential Revision: https://phabricator.services.mozilla.com/D107382
2023-05-16 12:56:06 +02:00
Oriol Brufau
c842023741
Support text-indent in layout-2020
...
Existing WPT now passing:
- _mozilla/css/text_indent_a.html
- css/CSS2/css1/c71-fwd-parsing-002.xht
- css/CSS2/css1/c71-fwd-parsing-004.xht
- css/CSS2/floats-clear/floats-138.xht
- css/CSS2/text/text-indent-007.xht
- css/CSS2/text/text-indent-008.xht
- css/CSS2/text/text-indent-010.xht
- css/CSS2/text/text-indent-019.xht
- css/CSS2/text/text-indent-020.xht
- css/CSS2/text/text-indent-031.xht
- css/CSS2/text/text-indent-032.xht
- css/CSS2/text/text-indent-043.xht
- css/CSS2/text/text-indent-044.xht
- css/CSS2/text/text-indent-055.xht
- css/CSS2/text/text-indent-056.xht
- css/CSS2/text/text-indent-067.xht
- css/CSS2/text/text-indent-068.xht
- css/CSS2/text/text-indent-079.xht
- css/CSS2/text/text-indent-080.xht
- css/CSS2/text/text-indent-091.xht
- css/CSS2/text/text-indent-092.xht
- css/CSS2/text/text-indent-103.xht
- css/CSS2/text/text-indent-104.xht
- css/CSS2/text/text-indent-112.xht
- css/CSS2/text/text-indent-113.xht
- css/CSS2/text/text-indent-115.xht
- css/CSS2/text/text-indent-applies-to-002.xht
- css/CSS2/text/text-indent-applies-to-003.xht
- css/CSS2/text/text-indent-applies-to-005.xht
- css/CSS2/text/text-indent-applies-to-006.xht
- css/CSS2/text/text-indent-applies-to-007.xht
- css/CSS2/text/text-indent-applies-to-008.xht
- css/CSS2/text/text-indent-applies-to-009.xht
- css/CSS2/text/text-indent-applies-to-010.xht
- css/CSS2/text/text-indent-applies-to-011.xht
- css/CSS2/text/text-indent-applies-to-014.xht
- css/CSS2/text/text-indent-applies-to-015.xht
- css/CSS2/text/text-indent-inherited-001.xht
- css/CSS2/text/text-indent-overflow-001.xht
- css/CSS2/text/text-indent-overflow-002.xht
- css/CSS2/text/text-indent-overflow-003.xht
- css/CSS2/text/text-indent-overflow-004.xht
- css/CSS2/text/text-indent-wrap-001.xht
- css/css-text-decor/text-shadow/textindent.html
- css/css-text/text-indent/text-indent-percentage-001.xht
- css/css-text/text-indent/text-indent-percentage-002.html
- css/css-text/text-indent/text-indent-percentage-003.html
- css/css-text/text-indent/text-indent-percentage-004.html
- css/css-values/minmax-length-percent-serialize.html
- css/css-values/minmax-length-serialize.html
Also improvements in:
- _mozilla/mozilla/calc.html
- css/css-text/animations/text-indent-interpolation.html
- css/css-text/inheritance.html
- css/css-text/parsing/text-indent-computed.html
- css/css-text/parsing/text-indent-valid.html
- css/css-transitions/properties-value-implicit-001.html
- css/css-values/animations/calc-interpolation.html
- css/css-values/minmax-percentage-serialize.html
- css/css-values/viewport-units-css2-001.html
- css/css-variables/variable-substitution-basic.html
- css/cssom/serialize-values.html
Existing WPT now failing, due to lack of direction, outside list markers,
flex and grid:
- css/CSS2/text/text-indent-rtl-001.xht
- css/CSS2/text/text-indent-rtl-002.xht
- css/css-pseudo/marker-content-023.html
- css/css-text/text-indent/anonymous-flex-item-001.html
- css/css-text/text-indent/anonymous-grid-item-001.html
New WPT tests:
- css/css-text/text-indent/text-indent-length-001.html
- css/css-text/text-indent/text-indent-length-002.html
This one fails in layout-2013.
2023-04-25 23:01:07 +02: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
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
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
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
Josh Matthews
d8b4dab4e3
Implement basic white-space: pre support for layout 2020.
2020-07-27 20:06:53 -04: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
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
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
Jonathan Kew
df01cec675
style: Move the from-font value from text-underline-offset to text-underline-position, as per recent spec changes, and fix interaction between position and offset.
...
Differential Revision: https://phabricator.services.mozilla.com/D59778
2020-02-12 02:43:19 +01:00
Jonathan Kew
51c1dfee2d
style: Add support for parsing of the CSS text-underline-position property.
...
Differential Revision: https://phabricator.services.mozilla.com/D54722
2019-12-15 21:03:31 +01:00
jeffin143
7e3e8e1ca8
style: convert NS_STYLE_RUBY_POSITION_* to an enum class in nsStyleConsts.h
...
Differential Revision: https://phabricator.services.mozilla.com/D55379
2019-12-15 21:03:15 +01:00
jeffin143
24f21f375a
style: convert NS_STYLE_TEXT_SIZE_ADJUST_* to an enum class in nsStyleConsts.h
...
Differential Revision: https://phabricator.services.mozilla.com/D55382
2019-12-15 21:03:10 +01:00
jeffin143
5cc43940ad
style: convert NS_STYLE_RUBY_ALIGN_* to an enum class in nsStyleConsts.h
...
Differential Revision: https://phabricator.services.mozilla.com/D55380
2019-12-15 21:03:04 +01:00
Simon Sapin
9f4b1a0f14
Implement text-align
(except justify
)
2019-12-07 14:31:45 +01:00
Anthony Ramine
b3d30d284e
Start implementing text in layout 2020
2019-11-25 10:54:46 +01:00
Charlie Marlow
cf7b0e13b6
style: adding from-font support to text-underline-offset and text-decoration-thickness.
...
Differential Revision: https://phabricator.services.mozilla.com/D41476
2019-08-15 17:02:01 +02:00
Emilio Cobos Álvarez
fa06241ab6
style: Simplify text-emphasis-style.
...
Differential Revision: https://phabricator.services.mozilla.com/D41418
2019-08-15 17:01:06 +02:00
Emilio Cobos Álvarez
3ec38e252f
style: Remove the GetCSNeedsLayoutFlush flag, as it is unneeded now.
...
Differential Revision: https://phabricator.services.mozilla.com/D40300
2019-08-15 16:58:14 +02:00
Anthony Ramine
f8341daf95
Fix compilation errors due to the rebase
...
It's too complicated to make all the commits in that branch compile properly.
2019-08-01 13:50:52 +02:00
Emilio Cobos Álvarez
46236d015b
style: Fix some issues with #23856 in Gecko.
2019-07-30 12:06:26 +02:00
Simon Sapin
ddb4e369dd
Stylo: replace product={gecko,servo} with engine={gecko,servo-2013,servo-2020}
...
Renaming the variable helped make sure I looked at every use.
2019-07-29 17:37:03 +02:00
Emilio Cobos Álvarez
65bf72f131
style: Set the property restrictions flags from the centralized list.
...
Differential Revision: https://phabricator.services.mozilla.com/D37721
2019-07-23 22:54:04 +02:00
Emilio Cobos Álvarez
10cb9c07aa
style: Don't apply property restrictions to pseudo-elements in UA stylesheets.
...
And remove some of the ::placeholder and ::cue hacks where we need to use
!important to make the property not apply for content but apply on UA sheets.
The comment about the white-space property was wrong, we don't enforce it with
!important in the UA stylesheets for <input> (we do for <textarea> though), so
I've kept the flag since it really applies.
Differential Revision: https://phabricator.services.mozilla.com/D37717
2019-07-23 22:54:01 +02:00
Cameron McCormack
e3b57efc7e
style: Ignore pref-controlled properties in cached scrollbar style assertions.
...
Now if you add a new inherited, pref-controlled property, you must
declare whether it can have an effect on scrollbar styles. If no,
then the property will be skipped in the assertions that check
whether our cached styles are equal to those we would compute.
Differential Revision: https://phabricator.services.mozilla.com/D37507
2019-07-23 22:54:00 +02:00
alwu
c00045b0c9
style: set CSS properties directly on '::cue'.
...
According to the spec [1], we have to set those CSS properties on the root node,
and then this root node would have a child node, background box [2], which would
contain all other child nodes.
In our case, the background box is `cueDiv` [3].
In theory, all those properties set on the root node should be inherited by the
background box. However, when the background box is a pseudo element `::cue`,
they won't be directly inherit from the the background box's parent, inherited
styles would acutally come from video instead.
Therefore, we have to directly set these properties on the pseudo element and
mark them as `!important` to avoid being overrided by user style script.
[1] https://www.w3.org/TR/webvtt1/#ref-for-list-of-webvtt-node-objects-9
[2] https://www.w3.org/TR/webvtt1/#webvtt-cue-background-box
[3] https://searchfox.org/mozilla-central/rev/11712bd3ce7454923e5931fa92eaf9c01ef35a0a/dom/media/webvtt/vtt.jsm#533-534
Differential Revision: https://phabricator.services.mozilla.com/D35694
2019-07-23 22:53:58 +02:00
Charlie Marlow
034557a717
style: Adding parsing support for text-decoration-skip-ink
...
Differential Revision: https://phabricator.services.mozilla.com/D35831
2019-07-08 12:45:14 +02:00
Emilio Cobos Álvarez
3530ea9862
style: Restrict properties that apply to ::marker for now.
...
Differential Revision: https://phabricator.services.mozilla.com/D31680
2019-07-08 12:45:06 +02:00
Alastor Wu
84a5ab2ba8
style: restrict CSS properties for '::cue'.
...
According to the spec [1], only those CSS properties listed on the spec can be applied on the `::cue`.
[1] https://www.w3.org/TR/webvtt1/#the-cue-pseudo-element
Differential Revision: https://phabricator.services.mozilla.com/D34262
2019-07-08 12:42:46 +02:00
Emilio Cobos Álvarez
a7e441fc15
style: Servo doesn't implement white-space: break-spaces.
2019-06-25 13:11:32 +02:00
violet
05633886ab
style: Implement the break-spaces value of the white-space property.
...
Differential Revision: https://phabricator.services.mozilla.com/D34499
2019-06-25 13:11:29 +02:00
Daniel Holbert
e9b0d54a95
style: Remove support for the layout.css.prefixes.webkit pref.
...
From this point on, the webkit-prefixed CSS features that were previously
protected by this pref will now be unconditionally enabled.
Differential Revision: https://phabricator.services.mozilla.com/D33807
2019-06-25 13:11:26 +02:00
Charlie Marlow
b6c88745e8
style: adding support for CSS text underline offset to the style system.
...
Support for from-font listed in the CSS spec will be implemented in a later bug.
Differential Revision: https://phabricator.services.mozilla.com/D33233
2019-06-25 13:11:26 +02:00
Emilio Cobos Álvarez
6722e2ce6c
style: Remove nsStyleColor moving the color property to nsStyleText.
...
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.
Differential Revision: https://phabricator.services.mozilla.com/D32726
2019-06-04 01:03:56 -04:00
violet
d552969ca1
style: Support AllowQuirks::Always option in helpers.mako.rs
...
Differential Revision: https://phabricator.services.mozilla.com/D29936
2019-05-29 16:14:21 +02:00
Jonathan Kew
0dc70cf7f2
style: Implement the CSS line-break property, with values "auto | anywhere".
...
Note that the "loose | normal | strict" values are not yet parsed/implemented.
Differential Revision: https://phabricator.services.mozilla.com/D29817
2019-05-29 16:14:18 +02:00
Emilio Cobos Álvarez
5f6c8d9060
style: Add bindings for box shadows, and remove nsCSSShadowArray and friends.
...
Differential Revision: https://phabricator.services.mozilla.com/D30547
2019-05-29 16:14:11 +02:00
Jonathan Kew
a9e473c6e8
style: Allow full-width and/or full-size-kana values of text-transform to be combined with a case transformation.
...
Differential Revision: https://phabricator.services.mozilla.com/D27402
2019-05-07 12:55:21 +02:00
Emilio Cobos Álvarez
b96981f88e
style: Make word-spacing, letter-spacing, and line-height use Rust lengths.
...
This also adopts the resolution from [1] while at it, making letter-spacing
compute to a length, serializing 0 to normal rather than keeping normal in the
computed value, which matches every other engine.
This removes the SMIL tests for percentages from letter-spacing since
letter-spacing does in fact not support percentages, so they were passing just
by chance.
[1]: https://github.com/w3c/csswg-drafts/issues/1484
Differential Revision: https://phabricator.services.mozilla.com/D21850
2019-03-13 15:08:28 +01:00