зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #17026 - mathvariant attributes should affect computed font style and weight in stylo (from bzbarsky:mathvariant); r=Manishearth
<!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1367301 <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because this is stylo-only and Gecko tests it. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: 334d9088b8c843829c47f649a0fe3e5e1a229d2b --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : b87fd8153dfc27f3ac86f5a274724d16d38fe591
This commit is contained in:
Родитель
bcfa6b7a7d
Коммит
d6257cce94
|
@ -2192,7 +2192,7 @@ ${helpers.single_keyword("-moz-math-display",
|
|||
need_clone="True")}
|
||||
|
||||
${helpers.single_keyword("-moz-math-variant",
|
||||
"""normal bold italic bold-italic script bold-script
|
||||
"""none normal bold italic bold-italic script bold-script
|
||||
fraktur double-struck bold-fraktur sans-serif
|
||||
bold-sans-serif sans-serif-italic sans-serif-bold-italic
|
||||
monospace initial tailed looped stretched""",
|
||||
|
@ -2201,6 +2201,7 @@ ${helpers.single_keyword("-moz-math-variant",
|
|||
products="gecko",
|
||||
spec="Internal (not web-exposed)",
|
||||
animation_value_type="none",
|
||||
need_clone="True",
|
||||
needs_conversion=True)}
|
||||
|
||||
<%helpers:longhand name="-moz-script-min-size" products="gecko" animation_value_type="none"
|
||||
|
|
|
@ -174,6 +174,22 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
|
|||
}
|
||||
}
|
||||
|
||||
/// When mathvariant is not "none", font-weight and font-style are
|
||||
/// both forced to "normal".
|
||||
#[cfg(feature = "gecko")]
|
||||
fn adjust_for_mathvariant(&mut self) {
|
||||
use properties::longhands::_moz_math_variant::computed_value::T as moz_math_variant;
|
||||
use properties::longhands::font_style::computed_value::T as font_style;
|
||||
use properties::longhands::font_weight::computed_value::T as font_weight;
|
||||
if self.style.get_font().clone__moz_math_variant() != moz_math_variant::none {
|
||||
let mut font_style = self.style.mutate_font();
|
||||
// Sadly we don't have a nice name for the computed value
|
||||
// of "font-weight: normal".
|
||||
font_style.set_font_weight(font_weight::Weight400);
|
||||
font_style.set_font_style(font_style::normal);
|
||||
}
|
||||
}
|
||||
|
||||
/// This implements an out-of-date spec. The new spec moves the handling of
|
||||
/// this to layout, which Gecko implements but Servo doesn't.
|
||||
///
|
||||
|
@ -299,6 +315,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
|
|||
{
|
||||
self.adjust_for_table_text_align();
|
||||
self.adjust_for_contain();
|
||||
self.adjust_for_mathvariant();
|
||||
}
|
||||
#[cfg(feature = "servo")]
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче