mirror of
https://github.com/servo/servo.git
synced 2025-10-04 02:29:12 +01:00
style: Run "cargo +nightly fmt" for style components in servo
The directories changed: * servo/components/selectors/ * servo/components/style/ * servo/components/style_derive/ * servo/ports/geckolib/ Per review request, disable rustfmt in `components_to_transform_3d_matrix()` to preserve the format for a call to `Transform3D::new`. My mozilla-central is at https://hg.mozilla.org/mozilla-central/rev/d1ae84015c22f2034435b47194fdced878072035 My nightly rust is 1.66.0-nightly (8b705839c 2022-09-26). Differential Revision: https://phabricator.services.mozilla.com/D158234
This commit is contained in:
parent
1a9198a5ef
commit
3da52edffc
60 changed files with 684 additions and 489 deletions
|
@ -6,29 +6,29 @@
|
|||
//!
|
||||
//! [container]: https://drafts.csswg.org/css-contain-3/#container-rule
|
||||
|
||||
use crate::logical_geometry::{WritingMode, LogicalSize};
|
||||
use crate::dom::TElement;
|
||||
use crate::logical_geometry::{LogicalSize, WritingMode};
|
||||
use crate::media_queries::Device;
|
||||
use crate::parser::ParserContext;
|
||||
use crate::queries::{QueryCondition, FeatureType};
|
||||
use crate::properties::ComputedValues;
|
||||
use crate::queries::feature::{AllowsRanges, Evaluator, FeatureFlags, QueryFeatureDescription};
|
||||
use crate::queries::values::Orientation;
|
||||
use crate::str::CssStringWriter;
|
||||
use crate::queries::{FeatureType, QueryCondition};
|
||||
use crate::shared_lock::{
|
||||
DeepCloneParams, DeepCloneWithLock, Locked, SharedRwLock, SharedRwLockReadGuard, ToCssWithGuard,
|
||||
};
|
||||
use crate::values::specified::ContainerName;
|
||||
use crate::values::computed::{Context, CSSPixelLength, Ratio};
|
||||
use crate::properties::ComputedValues;
|
||||
use crate::str::CssStringWriter;
|
||||
use crate::stylesheets::CssRules;
|
||||
use crate::values::computed::{CSSPixelLength, Context, Ratio};
|
||||
use crate::values::specified::ContainerName;
|
||||
use app_units::Au;
|
||||
use cssparser::{SourceLocation, Parser};
|
||||
use cssparser::{Parser, SourceLocation};
|
||||
use euclid::default::Size2D;
|
||||
#[cfg(feature = "gecko")]
|
||||
use malloc_size_of::{MallocSizeOfOps, MallocUnconditionalShallowSizeOf};
|
||||
use servo_arc::Arc;
|
||||
use std::fmt::{self, Write};
|
||||
use style_traits::{CssWriter, ToCss, ParseError};
|
||||
use style_traits::{CssWriter, ParseError, ToCss};
|
||||
|
||||
/// A container rule.
|
||||
#[derive(Debug, ToShmem)]
|
||||
|
@ -56,8 +56,8 @@ impl ContainerRule {
|
|||
#[cfg(feature = "gecko")]
|
||||
pub fn size_of(&self, guard: &SharedRwLockReadGuard, ops: &mut MallocSizeOfOps) -> usize {
|
||||
// Measurement of other fields may be added later.
|
||||
self.rules.unconditional_shallow_size_of(ops)
|
||||
+ self.rules.read_with(guard).size_of(guard, ops)
|
||||
self.rules.unconditional_shallow_size_of(ops) +
|
||||
self.rules.read_with(guard).size_of(guard, ops)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -122,12 +122,17 @@ impl ContainerCondition {
|
|||
|
||||
// FIXME: This is a bit ambiguous:
|
||||
// https://github.com/w3c/csswg-drafts/issues/7203
|
||||
let name = input.try_parse(|input| {
|
||||
ContainerName::parse(context, input)
|
||||
}).ok().unwrap_or_else(ContainerName::none);
|
||||
let name = input
|
||||
.try_parse(|input| ContainerName::parse(context, input))
|
||||
.ok()
|
||||
.unwrap_or_else(ContainerName::none);
|
||||
let condition = QueryCondition::parse(context, input, FeatureType::Container)?;
|
||||
let flags = condition.cumulative_flags();
|
||||
Ok(Self { name, condition, flags })
|
||||
Ok(Self {
|
||||
name,
|
||||
condition,
|
||||
flags,
|
||||
})
|
||||
}
|
||||
|
||||
fn valid_container_info<E>(&self, potential_container: E) -> Option<ContainerLookupResult<E>>
|
||||
|
@ -138,7 +143,7 @@ impl ContainerCondition {
|
|||
|
||||
fn container_type_axes(ty_: ContainerType, wm: WritingMode) -> FeatureFlags {
|
||||
if ty_.contains(ContainerType::SIZE) {
|
||||
return FeatureFlags::all_container_axes()
|
||||
return FeatureFlags::all_container_axes();
|
||||
}
|
||||
if ty_.contains(ContainerType::INLINE_SIZE) {
|
||||
let physical_axis = if wm.is_vertical() {
|
||||
|
@ -146,7 +151,7 @@ impl ContainerCondition {
|
|||
} else {
|
||||
FeatureFlags::CONTAINER_REQUIRES_WIDTH_AXIS
|
||||
};
|
||||
return FeatureFlags::CONTAINER_REQUIRES_INLINE_AXIS | physical_axis
|
||||
return FeatureFlags::CONTAINER_REQUIRES_INLINE_AXIS | physical_axis;
|
||||
}
|
||||
FeatureFlags::empty()
|
||||
}
|
||||
|
@ -211,7 +216,6 @@ impl ContainerCondition {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/// Information needed to evaluate an individual container query.
|
||||
#[derive(Copy, Clone)]
|
||||
pub struct ContainerInfo {
|
||||
|
@ -221,7 +225,7 @@ pub struct ContainerInfo {
|
|||
|
||||
fn get_container(context: &Context) -> ContainerInfo {
|
||||
if let Some(ref info) = context.container_info {
|
||||
return info.clone()
|
||||
return info.clone();
|
||||
}
|
||||
ContainerInfo {
|
||||
size: context.device().au_viewport_size(),
|
||||
|
@ -241,12 +245,20 @@ fn eval_height(context: &Context) -> CSSPixelLength {
|
|||
|
||||
fn eval_inline_size(context: &Context) -> CSSPixelLength {
|
||||
let info = get_container(context);
|
||||
CSSPixelLength::new(LogicalSize::from_physical(info.wm, info.size).inline.to_f32_px())
|
||||
CSSPixelLength::new(
|
||||
LogicalSize::from_physical(info.wm, info.size)
|
||||
.inline
|
||||
.to_f32_px(),
|
||||
)
|
||||
}
|
||||
|
||||
fn eval_block_size(context: &Context) -> CSSPixelLength {
|
||||
let info = get_container(context);
|
||||
CSSPixelLength::new(LogicalSize::from_physical(info.wm, info.size).block.to_f32_px())
|
||||
CSSPixelLength::new(
|
||||
LogicalSize::from_physical(info.wm, info.size)
|
||||
.block
|
||||
.to_f32_px(),
|
||||
)
|
||||
}
|
||||
|
||||
fn eval_aspect_ratio(context: &Context) -> Ratio {
|
||||
|
@ -293,12 +305,18 @@ pub static CONTAINER_FEATURES: [QueryFeatureDescription; 6] = [
|
|||
Evaluator::NumberRatio(eval_aspect_ratio),
|
||||
// XXX from_bits_truncate is const, but the pipe operator isn't, so this
|
||||
// works around it.
|
||||
FeatureFlags::from_bits_truncate(FeatureFlags::CONTAINER_REQUIRES_BLOCK_AXIS.bits() | FeatureFlags::CONTAINER_REQUIRES_INLINE_AXIS.bits()),
|
||||
FeatureFlags::from_bits_truncate(
|
||||
FeatureFlags::CONTAINER_REQUIRES_BLOCK_AXIS.bits() |
|
||||
FeatureFlags::CONTAINER_REQUIRES_INLINE_AXIS.bits()
|
||||
),
|
||||
),
|
||||
feature!(
|
||||
atom!("orientation"),
|
||||
AllowsRanges::No,
|
||||
keyword_evaluator!(eval_orientation, Orientation),
|
||||
FeatureFlags::from_bits_truncate(FeatureFlags::CONTAINER_REQUIRES_BLOCK_AXIS.bits() | FeatureFlags::CONTAINER_REQUIRES_INLINE_AXIS.bits()),
|
||||
FeatureFlags::from_bits_truncate(
|
||||
FeatureFlags::CONTAINER_REQUIRES_BLOCK_AXIS.bits() |
|
||||
FeatureFlags::CONTAINER_REQUIRES_INLINE_AXIS.bits()
|
||||
),
|
||||
),
|
||||
];
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
//! Style sheets and their CSS rules.
|
||||
|
||||
mod cascading_at_rule;
|
||||
pub mod container_rule;
|
||||
mod counter_style_rule;
|
||||
mod document_rule;
|
||||
mod font_face_rule;
|
||||
|
@ -12,7 +13,6 @@ pub mod font_feature_values_rule;
|
|||
pub mod import_rule;
|
||||
pub mod keyframes_rule;
|
||||
pub mod layer_rule;
|
||||
pub mod container_rule;
|
||||
mod loader;
|
||||
mod media_rule;
|
||||
mod namespace_rule;
|
||||
|
@ -45,6 +45,7 @@ use style_traits::ParsingMode;
|
|||
#[cfg(feature = "gecko")]
|
||||
use to_shmem::{self, SharedMemoryBuilder, ToShmem};
|
||||
|
||||
pub use self::container_rule::ContainerRule;
|
||||
pub use self::counter_style_rule::CounterStyleRule;
|
||||
pub use self::document_rule::DocumentRule;
|
||||
pub use self::font_face_rule::FontFaceRule;
|
||||
|
@ -53,7 +54,6 @@ pub use self::import_rule::ImportRule;
|
|||
pub use self::keyframes_rule::KeyframesRule;
|
||||
pub use self::layer_rule::{LayerBlockRule, LayerStatementRule};
|
||||
pub use self::loader::StylesheetLoader;
|
||||
pub use self::container_rule::ContainerRule;
|
||||
pub use self::media_rule::MediaRule;
|
||||
pub use self::namespace_rule::NamespaceRule;
|
||||
pub use self::origin::{Origin, OriginSet, OriginSetIterator, PerOrigin, PerOriginIter};
|
||||
|
|
|
@ -25,7 +25,11 @@ pub struct NamespaceRule {
|
|||
|
||||
impl ToCssWithGuard for NamespaceRule {
|
||||
// https://drafts.csswg.org/cssom/#serialize-a-css-rule CSSNamespaceRule
|
||||
fn to_css(&self, _guard: &SharedRwLockReadGuard, dest_str: &mut CssStringWriter) -> fmt::Result {
|
||||
fn to_css(
|
||||
&self,
|
||||
_guard: &SharedRwLockReadGuard,
|
||||
dest_str: &mut CssStringWriter,
|
||||
) -> fmt::Result {
|
||||
let mut dest = CssWriter::new(dest_str);
|
||||
dest.write_str("@namespace ")?;
|
||||
if let Some(ref prefix) = self.prefix {
|
||||
|
|
|
@ -12,12 +12,12 @@ use crate::shared_lock::{DeepCloneParams, DeepCloneWithLock, Locked};
|
|||
use crate::shared_lock::{SharedRwLock, SharedRwLockReadGuard, ToCssWithGuard};
|
||||
use crate::str::CssStringWriter;
|
||||
use crate::values::{AtomIdent, CustomIdent};
|
||||
use style_traits::{CssWriter, ParseError, ToCss};
|
||||
use cssparser::{Parser, SourceLocation};
|
||||
#[cfg(feature = "gecko")]
|
||||
use malloc_size_of::{MallocSizeOf, MallocSizeOfOps, MallocUnconditionalShallowSizeOf};
|
||||
use servo_arc::Arc;
|
||||
use std::fmt::{self, Write};
|
||||
use style_traits::{CssWriter, ParseError, ToCss};
|
||||
|
||||
/// Type of a single [`@page`][page selector]
|
||||
///
|
||||
|
@ -32,7 +32,7 @@ impl PageSelector {
|
|||
/// This does not currently take pseudo selectors into account.
|
||||
#[inline]
|
||||
pub fn ident_matches(&self, other: &CustomIdent) -> bool {
|
||||
self.0.0 == other.0
|
||||
self.0 .0 == other.0
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,9 @@ impl Parse for PageSelectors {
|
|||
context: &ParserContext,
|
||||
input: &mut Parser<'i, 't>,
|
||||
) -> Result<Self, ParseError<'i>> {
|
||||
Ok(PageSelectors::new(input.parse_comma_separated(|i| PageSelector::parse(context, i))?))
|
||||
Ok(PageSelectors::new(input.parse_comma_separated(|i| {
|
||||
PageSelector::parse(context, i)
|
||||
})?))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,7 +104,9 @@ impl PageRule {
|
|||
#[cfg(feature = "gecko")]
|
||||
pub fn size_of(&self, guard: &SharedRwLockReadGuard, ops: &mut MallocSizeOfOps) -> usize {
|
||||
// Measurement of other fields may be added later.
|
||||
self.block.unconditional_shallow_size_of(ops) + self.block.read_with(guard).size_of(ops) + self.selectors.size_of(ops)
|
||||
self.block.unconditional_shallow_size_of(ops) +
|
||||
self.block.read_with(guard).size_of(ops) +
|
||||
self.selectors.size_of(ops)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ use crate::properties::parse_property_declaration_list;
|
|||
use crate::selector_parser::{SelectorImpl, SelectorParser};
|
||||
use crate::shared_lock::{Locked, SharedRwLock};
|
||||
use crate::str::starts_with_ignore_ascii_case;
|
||||
use crate::stylesheets::container_rule::{ContainerRule, ContainerCondition};
|
||||
use crate::stylesheets::container_rule::{ContainerCondition, ContainerRule};
|
||||
use crate::stylesheets::document_rule::DocumentCondition;
|
||||
use crate::stylesheets::font_feature_values_rule::parse_family_name_list;
|
||||
use crate::stylesheets::import_rule::ImportLayer;
|
||||
|
@ -69,7 +69,7 @@ impl<'a> InsertRuleContext<'a> {
|
|||
}
|
||||
}
|
||||
State::Body
|
||||
}
|
||||
},
|
||||
_ => State::Body,
|
||||
}
|
||||
}
|
||||
|
@ -664,15 +664,13 @@ impl<'a, 'b, 'i> AtRuleParser<'i> for NestedRuleParser<'a, 'b> {
|
|||
},
|
||||
))))
|
||||
},
|
||||
AtRulePrelude::Container(condition) => {
|
||||
Ok(CssRule::Container(Arc::new(self.shared_lock.wrap(
|
||||
ContainerRule {
|
||||
condition,
|
||||
rules: self.parse_nested_rules(input, CssRuleType::Container),
|
||||
source_location: start.source_location(),
|
||||
},
|
||||
))))
|
||||
},
|
||||
AtRulePrelude::Container(condition) => Ok(CssRule::Container(Arc::new(
|
||||
self.shared_lock.wrap(ContainerRule {
|
||||
condition,
|
||||
rules: self.parse_nested_rules(input, CssRuleType::Container),
|
||||
source_location: start.source_location(),
|
||||
}),
|
||||
))),
|
||||
AtRulePrelude::Layer(names) => {
|
||||
let name = match names.len() {
|
||||
0 | 1 => names.into_iter().next(),
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
//! [@supports rules](https://drafts.csswg.org/css-conditional-3/#at-supports)
|
||||
|
||||
use crate::font_face::{FontFaceSourceFormatKeyword, FontFaceSourceTechFlags};
|
||||
use crate::parser::ParserContext;
|
||||
use crate::properties::{PropertyDeclaration, PropertyId, SourcePropertyDeclaration};
|
||||
use crate::selector_parser::{SelectorImpl, SelectorParser};
|
||||
|
@ -11,7 +12,6 @@ use crate::shared_lock::{DeepCloneParams, DeepCloneWithLock, Locked};
|
|||
use crate::shared_lock::{SharedRwLock, SharedRwLockReadGuard, ToCssWithGuard};
|
||||
use crate::str::CssStringWriter;
|
||||
use crate::stylesheets::{CssRuleType, CssRules, Namespaces};
|
||||
use crate::font_face::{FontFaceSourceFormatKeyword, FontFaceSourceTechFlags};
|
||||
use cssparser::parse_important;
|
||||
use cssparser::{Delimiter, Parser, SourceLocation, Token};
|
||||
use cssparser::{ParseError as CssParseError, ParserInput};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue