#[derive(Default, Debug, Clone)]
pub struct CompositePropertyDeclarationAutoprefixer
{
propertyNameAutoprefixers: Vec<PropertyNamePropertyDeclarationAutoprefixer>,
simplePropertyValueAutoprefixers: Vec<SimplePropertyValuePropertyDeclarationAutoprefixer>,
}
impl PropertyDeclarationAutoprefixer for CompositePropertyDeclarationAutoprefixer
{
#[inline(always)]
fn autoprefix<H: HasPropertyDeclarations<I>, I: HasImportance>(&self, property_declarations: &mut H, parent_vendor_prefix: Option<&VendorPrefix>)
{
for autoprefixer in self.propertyNameAutoprefixers.iter()
{
autoprefixer.autoprefix(property_declarations, parent_vendor_prefix);
}
for autoprefixer in self.simplePropertyValueAutoprefixers.iter()
{
autoprefixer.autoprefix(property_declarations, parent_vendor_prefix);
}
}
}
impl CompositePropertyDeclarationAutoprefixer
{
#[inline(always)]
pub(crate) fn new(can_i_use: &CanIUse, agents: &AgentNameAndVersionSet) -> Self
{
Self
{
propertyNameAutoprefixers: PropertyNamePropertyDeclarationAutoprefixerCreator::new(can_i_use, agents),
simplePropertyValueAutoprefixers: SimplePropertyValuePropertyDeclarationAutoprefixerCreator::new(can_i_use, agents),
}
}
}