aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/layout/display_list/builder.rs8
-rw-r--r--components/layout_thread/lib.rs11
-rw-r--r--components/style/gecko/wrapper.rs4
-rw-r--r--components/style/global_style_data.rs2
-rw-r--r--components/style/media_queries/media_feature_expression.rs42
-rw-r--r--components/style/properties/data.py1
-rw-r--r--components/style/properties/shorthands/text.mako.rs1
-rw-r--r--components/style/values/computed/font.rs10
-rw-r--r--components/style/values/generics/counters.rs4
-rw-r--r--components/style/values/generics/font.rs1
-rw-r--r--components/style/values/generics/mod.rs6
-rw-r--r--components/style/values/specified/counters.rs2
-rw-r--r--components/style/values/specified/font.rs53
-rw-r--r--components/style/values/specified/mod.rs2
-rw-r--r--components/style/values/specified/text.rs3
15 files changed, 90 insertions, 60 deletions
diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs
index cba26fe05a4..f951bd3f8f2 100644
--- a/components/layout/display_list/builder.rs
+++ b/components/layout/display_list/builder.rs
@@ -61,11 +61,11 @@ use style::properties::{style_structs, ComputedValues};
use style::servo::restyle_damage::ServoRestyleDamage;
use style::values::computed::effects::SimpleShadow;
use style::values::computed::image::{Image, ImageLayer};
-use style::values::computed::{Gradient, LengthOrAuto};
+use style::values::computed::{ClipRectOrAuto, Gradient, LengthOrAuto};
use style::values::generics::background::BackgroundSize;
use style::values::generics::image::{GradientKind, PaintWorklet};
use style::values::specified::ui::CursorKind;
-use style::values::{Either, RGBA};
+use style::values::RGBA;
use style_traits::ToCss;
use webrender_api::units::{LayoutRect, LayoutSize, LayoutTransform, LayoutVector2D};
use webrender_api::{self, BorderDetails, BorderRadius, BorderSide, BoxShadowClipMode, ColorF};
@@ -2632,8 +2632,8 @@ impl BlockFlow {
) {
// Account for `clip` per CSS 2.1 § 11.1.2.
let style_clip_rect = match self.fragment.style().get_effects().clip {
- Either::First(style_clip_rect) => style_clip_rect,
- _ => return,
+ ClipRectOrAuto::Rect(ref r) => r,
+ ClipRectOrAuto::Auto => return,
};
// CSS `clip` should only apply to position:absolute or positione:fixed elements.
diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs
index e24360db2dc..f03ca9f9d03 100644
--- a/components/layout_thread/lib.rs
+++ b/components/layout_thread/lib.rs
@@ -1497,11 +1497,10 @@ impl LayoutThread {
// Create a layout context for use throughout the following passes.
let mut layout_context = self.build_layout_context(guards.clone(), true, &map);
+ let pool;
let (thread_pool, num_threads) = if self.parallel_flag {
- (
- STYLE_THREAD_POOL.style_thread_pool.as_ref(),
- STYLE_THREAD_POOL.num_threads,
- )
+ pool = STYLE_THREAD_POOL.pool();
+ (pool.as_ref(), STYLE_THREAD_POOL.num_threads)
} else {
(None, 1)
};
@@ -1859,8 +1858,10 @@ impl LayoutThread {
|| {
let profiler_metadata = self.profiler_metadata();
+ let pool;
let thread_pool = if self.parallel_flag {
- STYLE_THREAD_POOL.style_thread_pool.as_ref()
+ pool = STYLE_THREAD_POOL.pool();
+ pool.as_ref()
} else {
None
};
diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs
index e2ae42fcb66..68c0473bf12 100644
--- a/components/style/gecko/wrapper.rs
+++ b/components/style/gecko/wrapper.rs
@@ -829,9 +829,7 @@ impl<'le> GeckoElement<'le> {
#[inline]
fn is_in_anonymous_subtree(&self) -> bool {
- unsafe {
- bindings::Gecko_IsInAnonymousSubtree(self.0)
- }
+ unsafe { bindings::Gecko_IsInAnonymousSubtree(self.0) }
}
/// Returns true if this node is the shadow root of an use-element shadow tree.
diff --git a/components/style/global_style_data.rs b/components/style/global_style_data.rs
index 504483ae5c8..a9e79bf6820 100644
--- a/components/style/global_style_data.rs
+++ b/components/style/global_style_data.rs
@@ -10,10 +10,10 @@ use crate::gecko_bindings::bindings;
use crate::parallel::STYLE_THREAD_STACK_SIZE_KB;
use crate::shared_lock::SharedRwLock;
use crate::thread_state;
+use parking_lot::{RwLock, RwLockReadGuard};
use rayon;
use std::env;
use std::sync::atomic::{AtomicUsize, Ordering};
-use parking_lot::{RwLock, RwLockReadGuard};
/// Global style data
pub struct GlobalStyleData {
diff --git a/components/style/media_queries/media_feature_expression.rs b/components/style/media_queries/media_feature_expression.rs
index 3c106a4471b..1eef9e57ebc 100644
--- a/components/style/media_queries/media_feature_expression.rs
+++ b/components/style/media_queries/media_feature_expression.rs
@@ -16,7 +16,9 @@ use crate::parser::{Parse, ParserContext};
use crate::servo::media_queries::MEDIA_FEATURES;
use crate::str::{starts_with_ignore_ascii_case, string_as_ascii_lowercase};
use crate::values::computed::{self, ToComputedValue};
-use crate::values::specified::{Integer, NonNegativeNumber, Length, Number, Resolution};
+#[cfg(feature = "gecko")]
+use crate::values::specified::NonNegativeNumber;
+use crate::values::specified::{Integer, Length, Number, Resolution};
use crate::values::{serialize_atom_identifier, CSSFloat};
use crate::{Atom, Zero};
use cssparser::{Parser, Token};
@@ -429,9 +431,11 @@ impl MediaFeatureExpression {
eval(device, expect!(Integer).cloned(), self.range_or_operator)
},
Evaluator::Float(eval) => eval(device, expect!(Float).cloned(), self.range_or_operator),
- Evaluator::NumberRatio(eval) => {
- eval(device, expect!(NumberRatio).cloned(), self.range_or_operator)
- },
+ Evaluator::NumberRatio(eval) => eval(
+ device,
+ expect!(NumberRatio).cloned(),
+ self.range_or_operator,
+ ),
Evaluator::Resolution(eval) => {
let computed = expect!(Resolution).map(|specified| {
computed::Context::for_media_query_evaluation(device, quirks_mode, |context| {
@@ -530,19 +534,25 @@ impl MediaExpressionValue {
MediaExpressionValue::Float(number.get())
},
Evaluator::NumberRatio(..) => {
- if static_prefs::pref!("layout.css.aspect-ratio-number.enabled") {
- let a = NonNegativeNumber::parse(context, input)?.0.get();
- let b = match input.try_parse(|input| input.expect_delim('/')) {
- Ok(()) => NonNegativeNumber::parse(context, input)?.0.get(),
- _ => 1.0,
- };
- MediaExpressionValue::NumberRatio(AspectRatio(a, b))
- } else {
- let a = Integer::parse_positive(context, input)?;
- input.expect_delim('/')?;
- let b = Integer::parse_positive(context, input)?;
- MediaExpressionValue::NumberRatio(AspectRatio(a.value() as CSSFloat, b.value() as CSSFloat))
+ #[cfg(feature = "gecko")]
+ {
+ if static_prefs::pref!("layout.css.aspect-ratio-number.enabled") {
+ let a = NonNegativeNumber::parse(context, input)?.0.get();
+ let b = match input.try_parse(|input| input.expect_delim('/')) {
+ Ok(()) => NonNegativeNumber::parse(context, input)?.0.get(),
+ _ => 1.0,
+ };
+ return Ok(MediaExpressionValue::NumberRatio(AspectRatio(a, b)));
+ }
}
+
+ let a = Integer::parse_positive(context, input)?;
+ input.expect_delim('/')?;
+ let b = Integer::parse_positive(context, input)?;
+ MediaExpressionValue::NumberRatio(AspectRatio(
+ a.value() as CSSFloat,
+ b.value() as CSSFloat,
+ ))
},
Evaluator::Resolution(..) => {
MediaExpressionValue::Resolution(Resolution::parse(context, input)?)
diff --git a/components/style/properties/data.py b/components/style/properties/data.py
index 7c2330e47d8..d1876a5ea02 100644
--- a/components/style/properties/data.py
+++ b/components/style/properties/data.py
@@ -797,6 +797,7 @@ class PropertyRestrictions:
+ PropertyRestrictions.shorthand(data, "outline")
+ PropertyRestrictions.shorthand(data, "font"))
+
class CountedUnknownProperty:
def __init__(self, name):
self.name = name
diff --git a/components/style/properties/shorthands/text.mako.rs b/components/style/properties/shorthands/text.mako.rs
index 77b15d9a722..79f7f33d850 100644
--- a/components/style/properties/shorthands/text.mako.rs
+++ b/components/style/properties/shorthands/text.mako.rs
@@ -73,6 +73,7 @@
}
impl<'a> ToCss for LonghandsToSerialize<'a> {
+ #[allow(unused)]
fn to_css<W>(&self, dest: &mut CssWriter<W>) -> fmt::Result where W: fmt::Write {
use crate::values::specified::TextDecorationLine;
diff --git a/components/style/values/computed/font.rs b/components/style/values/computed/font.rs
index fee8c24ee3b..a4fa6013277 100644
--- a/components/style/values/computed/font.rs
+++ b/components/style/values/computed/font.rs
@@ -9,11 +9,15 @@ use crate::gecko_bindings::sugar::refptr::RefPtr;
#[cfg(feature = "gecko")]
use crate::gecko_bindings::{bindings, structs};
use crate::values::animated::{ToAnimatedValue, ToAnimatedZero};
-use crate::values::computed::{Angle, Context, Integer, Length, NonNegativeLength, NonNegativePercentage};
+use crate::values::computed::{
+ Angle, Context, Integer, Length, NonNegativeLength, NonNegativePercentage,
+};
use crate::values::computed::{Number, Percentage, ToComputedValue};
-use crate::values::generics::{font as generics, NonNegative};
use crate::values::generics::font::{FeatureTagValue, FontSettings, VariationValue};
-use crate::values::specified::font::{self as specified, KeywordInfo, MAX_FONT_WEIGHT, MIN_FONT_WEIGHT};
+use crate::values::generics::{font as generics, NonNegative};
+use crate::values::specified::font::{
+ self as specified, KeywordInfo, MAX_FONT_WEIGHT, MIN_FONT_WEIGHT,
+};
use crate::values::specified::length::{FontBaseSize, NoCalcLength};
use crate::values::CSSFloat;
use crate::Atom;
diff --git a/components/style/values/generics/counters.rs b/components/style/values/generics/counters.rs
index 391da7e33cc..69893c75561 100644
--- a/components/style/values/generics/counters.rs
+++ b/components/style/values/generics/counters.rs
@@ -118,7 +118,9 @@ impl<I> Deref for CounterSetOrReset<I> {
ToShmem,
)]
#[repr(transparent)]
-pub struct GenericCounters<I>(#[css(iterable, if_empty = "none")] crate::OwnedSlice<GenericCounterPair<I>>);
+pub struct GenericCounters<I>(
+ #[css(iterable, if_empty = "none")] crate::OwnedSlice<GenericCounterPair<I>>,
+);
pub use self::GenericCounters as Counters;
#[cfg(feature = "servo")]
diff --git a/components/style/values/generics/font.rs b/components/style/values/generics/font.rs
index 2972fa01c68..2b29104ff81 100644
--- a/components/style/values/generics/font.rs
+++ b/components/style/values/generics/font.rs
@@ -171,7 +171,6 @@ impl Parse for FontTag {
}
}
-
/// A generic value for the `font-style` property.
///
/// https://drafts.csswg.org/css-fonts-4/#font-style-prop
diff --git a/components/style/values/generics/mod.rs b/components/style/values/generics/mod.rs
index 933ad38f7db..04de85cbcf2 100644
--- a/components/style/values/generics/mod.rs
+++ b/components/style/values/generics/mod.rs
@@ -309,4 +309,10 @@ impl<L> ClipRectOrAuto<L> {
pub fn auto() -> Self {
ClipRectOrAuto::Auto
}
+
+ /// Returns whether this value is the `auto` value.
+ #[inline]
+ pub fn is_auto(&self) -> bool {
+ matches!(*self, ClipRectOrAuto::Auto)
+ }
}
diff --git a/components/style/values/specified/counters.rs b/components/style/values/specified/counters.rs
index 39ca07e3563..54690b53105 100644
--- a/components/style/values/specified/counters.rs
+++ b/components/style/values/specified/counters.rs
@@ -8,8 +8,8 @@
use crate::computed_values::list_style_type::T as ListStyleType;
use crate::parser::{Parse, ParserContext};
use crate::values::generics::counters as generics;
-use crate::values::generics::counters::GenericCounterIncrement;
use crate::values::generics::counters::CounterPair;
+use crate::values::generics::counters::GenericCounterIncrement;
use crate::values::generics::counters::GenericCounterSetOrReset;
#[cfg(feature = "gecko")]
use crate::values::generics::CounterStyle;
diff --git a/components/style/values/specified/font.rs b/components/style/values/specified/font.rs
index 45af8df23bf..90426f80770 100644
--- a/components/style/values/specified/font.rs
+++ b/components/style/values/specified/font.rs
@@ -12,8 +12,8 @@ use crate::values::computed::font::{FamilyName, FontFamilyList, FontStyleAngle,
use crate::values::computed::{font as computed, Length, NonNegativeLength};
use crate::values::computed::{Angle as ComputedAngle, Percentage as ComputedPercentage};
use crate::values::computed::{CSSPixelLength, Context, ToComputedValue};
-use crate::values::generics::font::{self as generics, FeatureTagValue, FontSettings, FontTag};
use crate::values::generics::font::VariationValue;
+use crate::values::generics::font::{self as generics, FeatureTagValue, FontSettings, FontTag};
use crate::values::generics::NonNegative;
use crate::values::specified::length::{FontBaseSize, AU_PER_PT, AU_PER_PX};
use crate::values::specified::{AllowQuirks, Angle, Integer, LengthPercentage};
@@ -877,19 +877,17 @@ impl ToComputedValue for KeywordSize {
impl FontSize {
/// <https://html.spec.whatwg.org/multipage/#rules-for-parsing-a-legacy-font-size>
pub fn from_html_size(size: u8) -> Self {
- FontSize::Keyword(
- KeywordInfo::new(match size {
- // If value is less than 1, let it be 1.
- 0 | 1 => KeywordSize::XSmall,
- 2 => KeywordSize::Small,
- 3 => KeywordSize::Medium,
- 4 => KeywordSize::Large,
- 5 => KeywordSize::XLarge,
- 6 => KeywordSize::XXLarge,
- // If value is greater than 7, let it be 7.
- _ => KeywordSize::XXXLarge,
- })
- )
+ FontSize::Keyword(KeywordInfo::new(match size {
+ // If value is less than 1, let it be 1.
+ 0 | 1 => KeywordSize::XSmall,
+ 2 => KeywordSize::Small,
+ 3 => KeywordSize::Medium,
+ 4 => KeywordSize::Large,
+ 5 => KeywordSize::XLarge,
+ 6 => KeywordSize::XXLarge,
+ // If value is greater than 7, let it be 7.
+ _ => KeywordSize::XXXLarge,
+ }))
}
/// Compute it against a given base font size
@@ -924,9 +922,7 @@ impl FontSize {
FontSize::Length(LengthPercentage::Length(NoCalcLength::Absolute(ref l))) => {
context.maybe_zoom_text(l.to_computed_value(context))
},
- FontSize::Length(LengthPercentage::Length(ref l)) => {
- l.to_computed_value(context)
- },
+ FontSize::Length(LengthPercentage::Length(ref l)) => l.to_computed_value(context),
FontSize::Length(LengthPercentage::Percentage(pc)) => {
// If the parent font was keyword-derived, this is too.
// Tack the % onto the factor
@@ -983,8 +979,7 @@ impl FontSize {
},
FontSize::Larger => {
info = compose_keyword(LARGER_FONT_SIZE_RATIO);
- FontRelativeLength::Em(LARGER_FONT_SIZE_RATIO)
- .to_computed_value(context, base_size)
+ FontRelativeLength::Em(LARGER_FONT_SIZE_RATIO).to_computed_value(context, base_size)
},
FontSize::System(_) => {
@@ -994,7 +989,13 @@ impl FontSize {
}
#[cfg(feature = "gecko")]
{
- context.cached_system_font.as_ref().unwrap().font_size.size.0
+ context
+ .cached_system_font
+ .as_ref()
+ .unwrap()
+ .font_size
+ .size
+ .0
}
},
};
@@ -1115,7 +1116,15 @@ pub enum VariantAlternates {
}
#[derive(
- Clone, Debug, Default, MallocSizeOf, PartialEq, SpecifiedValueInfo, ToCss, ToResolvedValue, ToShmem,
+ Clone,
+ Debug,
+ Default,
+ MallocSizeOf,
+ PartialEq,
+ SpecifiedValueInfo,
+ ToCss,
+ ToResolvedValue,
+ ToShmem,
)]
#[repr(transparent)]
/// List of Variant Alternates
@@ -1190,7 +1199,7 @@ impl Parse for FontVariantAlternates {
.try(|input| input.expect_ident_matching("normal"))
.is_ok()
{
- return Ok(FontVariantAlternates::Value(Default::default()))
+ return Ok(FontVariantAlternates::Value(Default::default()));
}
let mut alternates = Vec::new();
diff --git a/components/style/values/specified/mod.rs b/components/style/values/specified/mod.rs
index bb10a7e540c..5daecf353bf 100644
--- a/components/style/values/specified/mod.rs
+++ b/components/style/values/specified/mod.rs
@@ -706,7 +706,7 @@ impl ClipRectOrAuto {
allow_quirks: AllowQuirks,
) -> Result<Self, ParseError<'i>> {
if let Ok(v) = input.try(|i| ClipRect::parse_quirky(context, i, allow_quirks)) {
- return Ok(generics::GenericClipRectOrAuto::Rect(v))
+ return Ok(generics::GenericClipRectOrAuto::Rect(v));
}
input.expect_ident_matching("auto")?;
Ok(generics::GenericClipRectOrAuto::Auto)
diff --git a/components/style/values/specified/text.rs b/components/style/values/specified/text.rs
index 1505192f86f..abe44aa8f03 100644
--- a/components/style/values/specified/text.rs
+++ b/components/style/values/specified/text.rs
@@ -89,8 +89,7 @@ impl ToComputedValue for LineHeight {
GenericLineHeight::Length(ref non_negative_lp) => {
let result = match non_negative_lp.0 {
LengthPercentage::Length(NoCalcLength::Absolute(ref abs)) => {
- context
- .maybe_zoom_text(abs.to_computed_value(context))
+ context.maybe_zoom_text(abs.to_computed_value(context))
},
LengthPercentage::Length(ref length) => length.to_computed_value(context),
LengthPercentage::Percentage(ref p) => FontRelativeLength::Em(p.0)