mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Auto merge of #17731 - emilio:percentage-calc, r=nox
style: Respect calc for percentages. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17731) <!-- Reviewable:end -->
This commit is contained in:
commit
2d37700cf8
28 changed files with 308 additions and 176 deletions
|
@ -66,7 +66,7 @@ use std::cmp;
|
|||
use values::{Auto, CustomIdent, Either, KeyframesName};
|
||||
use values::computed::ToComputedValue;
|
||||
use values::computed::effects::{BoxShadow, Filter, SimpleShadow};
|
||||
use values::specified::length::Percentage;
|
||||
use values::computed::length::Percentage;
|
||||
use computed_values::border_style;
|
||||
|
||||
pub mod style_structs {
|
||||
|
|
|
@ -41,12 +41,11 @@ use values::animated::effects::TextShadowList as AnimatedTextShadowList;
|
|||
use values::computed::{Angle, LengthOrPercentageOrAuto, LengthOrPercentageOrNone};
|
||||
use values::computed::{BorderCornerRadius, ClipRect};
|
||||
use values::computed::{CalcLengthOrPercentage, Color, Context, ComputedValueAsSpecified};
|
||||
use values::computed::{LengthOrPercentage, MaxLength, MozLength, ToComputedValue};
|
||||
use values::computed::{LengthOrPercentage, MaxLength, MozLength, Percentage, ToComputedValue};
|
||||
use values::generics::{SVGPaint, SVGPaintKind};
|
||||
use values::generics::border::BorderCornerRadius as GenericBorderCornerRadius;
|
||||
use values::generics::effects::Filter;
|
||||
use values::generics::position as generic_position;
|
||||
use values::specified::length::Percentage;
|
||||
|
||||
|
||||
/// A longhand property whose animation type is not "none".
|
||||
|
@ -1686,7 +1685,6 @@ fn add_weighted_transform_lists(from_list: &[TransformOperation],
|
|||
}
|
||||
}
|
||||
} else {
|
||||
use values::specified::Percentage;
|
||||
let from_transform_list = TransformList(Some(from_list.to_vec()));
|
||||
let to_transform_list = TransformList(Some(to_list.to_vec()));
|
||||
result.push(
|
||||
|
|
|
@ -278,7 +278,7 @@ ${helpers.predefined_type("border-image-width", "BorderImageWidth",
|
|||
|
||||
${helpers.predefined_type("border-image-slice", "BorderImageSlice",
|
||||
initial_value="computed::NumberOrPercentage::Percentage(computed::Percentage(1.)).into()",
|
||||
initial_specified_value="specified::NumberOrPercentage::Percentage(specified::Percentage(1.)).into()",
|
||||
initial_specified_value="specified::NumberOrPercentage::Percentage(specified::Percentage::new(1.)).into()",
|
||||
spec="https://drafts.csswg.org/css-backgrounds/#border-image-slice",
|
||||
animation_value_type="discrete",
|
||||
boxed=True)}
|
||||
|
|
|
@ -736,7 +736,7 @@ ${helpers.predefined_type(
|
|||
use values::computed::{LengthOrPercentageOrNumber as ComputedLoPoNumber, LengthOrNumber as ComputedLoN};
|
||||
use values::computed::{LengthOrPercentage as ComputedLoP, Length as ComputedLength};
|
||||
use values::generics::transform::Matrix;
|
||||
use values::specified::{Angle, Integer, Length, LengthOrPercentage, Percentage};
|
||||
use values::specified::{Angle, Integer, Length, LengthOrPercentage};
|
||||
use values::specified::{LengthOrNumber, LengthOrPercentageOrNumber as LoPoNumber, Number};
|
||||
use style_traits::ToCss;
|
||||
use style_traits::values::Css;
|
||||
|
@ -747,7 +747,7 @@ ${helpers.predefined_type(
|
|||
use app_units::Au;
|
||||
use values::CSSFloat;
|
||||
use values::computed;
|
||||
use values::computed::{Length, LengthOrPercentage, Percentage};
|
||||
use values::computed::{Length, LengthOrPercentage};
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
|
||||
|
@ -817,7 +817,7 @@ ${helpers.predefined_type(
|
|||
// progress: ... } ]
|
||||
InterpolateMatrix { from_list: T,
|
||||
to_list: T,
|
||||
progress: Percentage },
|
||||
progress: computed::Percentage },
|
||||
// For accumulate operation of mismatched transform lists.
|
||||
AccumulateMatrix { from_list: T,
|
||||
to_list: T,
|
||||
|
@ -904,7 +904,7 @@ ${helpers.predefined_type(
|
|||
/// A intermediate type for interpolation of mismatched transform lists.
|
||||
InterpolateMatrix { from_list: SpecifiedValue,
|
||||
to_list: SpecifiedValue,
|
||||
progress: Percentage },
|
||||
progress: computed::Percentage },
|
||||
/// A intermediate type for accumulation of mismatched transform lists.
|
||||
AccumulateMatrix { from_list: SpecifiedValue,
|
||||
to_list: SpecifiedValue,
|
||||
|
|
|
@ -566,8 +566,7 @@ ${helpers.single_keyword_system("font-variant-caps",
|
|||
use std::fmt;
|
||||
use style_traits::{HasViewportPercentage, ToCss};
|
||||
use values::FONT_MEDIUM_PX;
|
||||
use values::specified::{AllowQuirks, FontRelativeLength, LengthOrPercentage};
|
||||
use values::specified::{NoCalcLength, Percentage};
|
||||
use values::specified::{AllowQuirks, FontRelativeLength, LengthOrPercentage, NoCalcLength};
|
||||
use values::specified::length::FontBaseSize;
|
||||
|
||||
impl ToCss for SpecifiedValue {
|
||||
|
@ -810,8 +809,8 @@ ${helpers.single_keyword_system("font-variant-caps",
|
|||
SpecifiedValue::Length(LengthOrPercentage::Length(ref l)) => {
|
||||
l.to_computed_value(context)
|
||||
}
|
||||
SpecifiedValue::Length(LengthOrPercentage::Percentage(Percentage(value))) => {
|
||||
base_size.resolve(context).scale_by(value)
|
||||
SpecifiedValue::Length(LengthOrPercentage::Percentage(pc)) => {
|
||||
base_size.resolve(context).scale_by(pc.0)
|
||||
}
|
||||
SpecifiedValue::Length(LengthOrPercentage::Calc(ref calc)) => {
|
||||
let calc = calc.to_computed_value(context);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue