| // This file is autogenerated by build-prefixes.js. DO NOT EDIT! |
| |
| use crate::targets::Browsers; |
| use crate::vendor_prefix::VendorPrefix; |
| |
| #[allow(dead_code)] |
| pub enum Feature { |
| AlignContent, |
| AlignItems, |
| AlignSelf, |
| Animation, |
| AnimationDelay, |
| AnimationDirection, |
| AnimationDuration, |
| AnimationFillMode, |
| AnimationIterationCount, |
| AnimationName, |
| AnimationPlayState, |
| AnimationTimingFunction, |
| AnyPseudo, |
| Appearance, |
| AtKeyframes, |
| AtResolution, |
| AtViewport, |
| BackdropFilter, |
| BackfaceVisibility, |
| BackgroundClip, |
| BackgroundOrigin, |
| BackgroundSize, |
| BorderBlockEnd, |
| BorderBlockStart, |
| BorderBottomLeftRadius, |
| BorderBottomRightRadius, |
| BorderImage, |
| BorderInlineEnd, |
| BorderInlineStart, |
| BorderRadius, |
| BorderTopLeftRadius, |
| BorderTopRightRadius, |
| BoxDecorationBreak, |
| BoxShadow, |
| BoxSizing, |
| BreakAfter, |
| BreakBefore, |
| BreakInside, |
| Calc, |
| ClipPath, |
| ColorAdjust, |
| ColumnCount, |
| ColumnFill, |
| ColumnGap, |
| ColumnRule, |
| ColumnRuleColor, |
| ColumnRuleStyle, |
| ColumnRuleWidth, |
| ColumnSpan, |
| ColumnWidth, |
| Columns, |
| CrossFade, |
| DisplayFlex, |
| DisplayGrid, |
| Element, |
| Fill, |
| FillAvailable, |
| Filter, |
| FilterFunction, |
| FitContent, |
| Flex, |
| FlexBasis, |
| FlexDirection, |
| FlexFlow, |
| FlexGrow, |
| FlexShrink, |
| FlexWrap, |
| FlowFrom, |
| FlowInto, |
| FontFeatureSettings, |
| FontKerning, |
| FontLanguageOverride, |
| FontVariantLigatures, |
| Grab, |
| Grabbing, |
| GridArea, |
| GridColumn, |
| GridColumnAlign, |
| GridColumnEnd, |
| GridColumnStart, |
| GridRow, |
| GridRowAlign, |
| GridRowEnd, |
| GridRowStart, |
| GridTemplate, |
| GridTemplateAreas, |
| GridTemplateColumns, |
| GridTemplateRows, |
| Hyphens, |
| ImageRendering, |
| ImageSet, |
| InlineFlex, |
| InlineGrid, |
| Isolate, |
| IsolateOverride, |
| JustifyContent, |
| LinearGradient, |
| MarginBlockEnd, |
| MarginBlockStart, |
| MarginInlineEnd, |
| MarginInlineStart, |
| Mask, |
| MaskBorder, |
| MaskBorderOutset, |
| MaskBorderRepeat, |
| MaskBorderSlice, |
| MaskBorderSource, |
| MaskBorderWidth, |
| MaskClip, |
| MaskComposite, |
| MaskImage, |
| MaskOrigin, |
| MaskPosition, |
| MaskRepeat, |
| MaskSize, |
| MaxContent, |
| MinContent, |
| ObjectFit, |
| ObjectPosition, |
| Order, |
| OverscrollBehavior, |
| PaddingBlockEnd, |
| PaddingBlockStart, |
| PaddingInlineEnd, |
| PaddingInlineStart, |
| Perspective, |
| PerspectiveOrigin, |
| Pixelated, |
| PlaceSelf, |
| Plaintext, |
| PrintColorAdjust, |
| PseudoClassAnyLink, |
| PseudoClassAutofill, |
| PseudoClassFullscreen, |
| PseudoClassPlaceholderShown, |
| PseudoClassReadOnly, |
| PseudoClassReadWrite, |
| PseudoElementBackdrop, |
| PseudoElementFileSelectorButton, |
| PseudoElementPlaceholder, |
| PseudoElementSelection, |
| RadialGradient, |
| RegionFragment, |
| RepeatingLinearGradient, |
| RepeatingRadialGradient, |
| ScrollSnapCoordinate, |
| ScrollSnapDestination, |
| ScrollSnapPointsX, |
| ScrollSnapPointsY, |
| ScrollSnapType, |
| ShapeImageThreshold, |
| ShapeMargin, |
| ShapeOutside, |
| Sticky, |
| Stretch, |
| TabSize, |
| TextAlignLast, |
| TextDecoration, |
| TextDecorationColor, |
| TextDecorationLine, |
| TextDecorationSkip, |
| TextDecorationSkipInk, |
| TextDecorationStyle, |
| TextEmphasis, |
| TextEmphasisColor, |
| TextEmphasisPosition, |
| TextEmphasisStyle, |
| TextOrientation, |
| TextOverflow, |
| TextSizeAdjust, |
| TextSpacing, |
| TouchAction, |
| Transform, |
| TransformOrigin, |
| TransformStyle, |
| Transition, |
| TransitionDelay, |
| TransitionDuration, |
| TransitionProperty, |
| TransitionTimingFunction, |
| UserSelect, |
| WritingMode, |
| ZoomIn, |
| ZoomOut, |
| } |
| |
| impl Feature { |
| pub fn prefixes_for(&self, browsers: Browsers) -> VendorPrefix { |
| let mut prefixes = VendorPrefix::None; |
| match self { |
| Feature::BorderRadius |
| | Feature::BorderTopLeftRadius |
| | Feature::BorderTopRightRadius |
| | Feature::BorderBottomRightRadius |
| | Feature::BorderBottomLeftRadius => { |
| if let Some(version) = browsers.android { |
| if version <= 131328 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 198144 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version <= 197120 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BoxShadow => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 196608 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 197888 && version <= 198144 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 327680 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Animation |
| | Feature::AnimationName |
| | Feature::AnimationDuration |
| | Feature::AnimationDelay |
| | Feature::AnimationDirection |
| | Feature::AnimationFillMode |
| | Feature::AnimationIterationCount |
| | Feature::AnimationPlayState |
| | Feature::AnimationTimingFunction |
| | Feature::AtKeyframes => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 2752512 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 327680 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version == 786432 { |
| prefixes |= VendorPrefix::O; |
| } |
| if version >= 983040 && version <= 1900544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Transition |
| | Feature::TransitionProperty |
| | Feature::TransitionDuration |
| | Feature::TransitionDelay |
| | Feature::TransitionTimingFunction => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 1638400 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 262144 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 655360 && version <= 786432 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Transform | Feature::TransformOrigin => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 2293760 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 197888 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version <= 589824 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 656640 && version <= 786432 { |
| prefixes |= VendorPrefix::O; |
| } |
| if version >= 983040 && version <= 1441792 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Perspective | Feature::PerspectiveOrigin | Feature::TransformStyle => { |
| if let Some(version) = browsers.android { |
| if version >= 196608 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 786432 && version <= 2293760 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 655360 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 1441792 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BackfaceVisibility => { |
| if let Some(version) = browsers.android { |
| if version >= 196608 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 786432 && version <= 2293760 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 655360 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 1441792 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::LinearGradient |
| | Feature::RepeatingLinearGradient |
| | Feature::RadialGradient |
| | Feature::RepeatingRadialGradient => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 1638400 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 198144 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 721152 && version <= 786432 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BoxSizing => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 196608 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 1835008 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 327680 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Filter => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1179648 && version <= 3407872 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2555904 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393216 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 393728 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::FilterFunction => { |
| if let Some(version) = browsers.ios_saf { |
| if version >= 589824 && version <= 590592 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BackdropFilter => { |
| if let Some(version) = browsers.edge { |
| if version >= 1114112 && version <= 1179648 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 589824 && version <= 1115648 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 589824 && version <= 1115648 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Element => { |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 9043968 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| } |
| Feature::Columns |
| | Feature::ColumnWidth |
| | Feature::ColumnGap |
| | Feature::ColumnRule |
| | Feature::ColumnRuleColor |
| | Feature::ColumnRuleWidth |
| | Feature::ColumnCount |
| | Feature::ColumnRuleStyle |
| | Feature::ColumnSpan |
| | Feature::ColumnFill => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 3211264 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 3342336 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2359296 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BreakBefore | Feature::BreakAfter | Feature::BreakInside => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 3211264 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2359296 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::UserSelect => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 3473408 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 4456448 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2621440 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 327680 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::DisplayFlex |
| | Feature::InlineFlex |
| | Feature::Flex |
| | Feature::FlexGrow |
| | Feature::FlexShrink |
| | Feature::FlexBasis |
| | Feature::FlexDirection |
| | Feature::FlexWrap |
| | Feature::FlexFlow |
| | Feature::JustifyContent |
| | Feature::Order |
| | Feature::AlignItems |
| | Feature::AlignSelf |
| | Feature::AlignContent => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 1835008 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 1376256 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version == 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 1048576 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Calc => { |
| if let Some(version) = browsers.chrome { |
| if version >= 1245184 && version <= 1638400 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 262144 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BackgroundOrigin | Feature::BackgroundSize => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 131840 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version <= 198144 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version <= 655360 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| } |
| Feature::BackgroundClip => { |
| if let Some(version) = browsers.android { |
| if version >= 262144 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 7798784 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 917504 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| if version >= 5177344 && version <= 7798784 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 6881280 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 197120 && version <= 851968 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 1572864 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 262144 && version <= 851968 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::FontFeatureSettings | Feature::FontVariantLigatures | Feature::FontLanguageOverride => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1048576 && version <= 3080192 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 262144 && version <= 2162688 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2228224 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::FontKerning => { |
| if let Some(version) = browsers.android { |
| if version <= 263168 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1900544 && version <= 2097152 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 524288 && version <= 721664 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 1048576 && version <= 1245184 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 458752 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BorderImage => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 917504 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 197888 && version <= 917504 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 327680 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 720896 && version <= 786688 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 327936 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoElementSelection => { |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 3997696 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| } |
| Feature::PseudoElementPlaceholder => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 3670016 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 1179648 && version <= 3276800 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 262656 && version <= 655360 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2818048 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 327680 && version <= 655360 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 393728 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoClassPlaceholderShown => { |
| if let Some(version) = browsers.firefox { |
| if version >= 262144 && version <= 3276800 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| } |
| Feature::Hyphens => { |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 393216 && version <= 2752512 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 262656 && version <= 1050112 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 327936 && version <= 1050112 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoClassFullscreen => { |
| if let Some(version) = browsers.chrome { |
| if version >= 983040 && version <= 4587520 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 655360 && version <= 4128768 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 720896 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 4128768 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 327936 && version <= 1049344 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 590336 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoElementBackdrop => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 2097152 && version <= 2359296 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if browsers.ie.is_some() { |
| prefixes |= VendorPrefix::Ms; |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 1245184 && version <= 1507328 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoElementFileSelectorButton => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 5767168 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| if version >= 5177344 && version <= 5767168 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 917504 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 4849664 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 917504 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 917504 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoClassAutofill => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 7143424 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 7143424 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 918784 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 6225920 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 917760 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 1310720 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TabSize => { |
| if let Some(version) = browsers.firefox { |
| if version >= 262144 && version <= 5898240 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 656896 && version <= 786688 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| } |
| Feature::MaxContent | Feature::MinContent => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1441792 && version <= 2949120 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 4259840 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 852992 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2097152 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Fill | Feature::FillAvailable => { |
| if let Some(version) = browsers.chrome { |
| if version >= 1441792 && version <= 8912896 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 4259840 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 852992 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::FitContent => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1441792 && version <= 2949120 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 6094848 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 852992 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2097152 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Stretch => { |
| if let Some(version) = browsers.chrome { |
| if version >= 1441792 && version <= 8912896 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 9043968 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 458752 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 327680 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::ZoomIn | Feature::ZoomOut => { |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 2359296 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 1507328 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 1507328 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Grab | Feature::Grabbing => { |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 4390912 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 1703936 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 3538944 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Sticky => { |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 786944 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 786688 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TouchAction => { |
| if let Some(version) = browsers.ie { |
| if version == 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| } |
| Feature::TextDecorationSkip | Feature::TextDecorationSkipInk => { |
| if let Some(version) = browsers.ios_saf { |
| if version >= 524288 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 459008 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TextDecoration => { |
| if let Some(version) = browsers.ios_saf { |
| if version >= 524288 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 524288 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TextDecorationColor | Feature::TextDecorationLine | Feature::TextDecorationStyle => { |
| if let Some(version) = browsers.firefox { |
| if version >= 393216 && version <= 2293760 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 524288 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 524288 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TextSizeAdjust => { |
| if let Some(version) = browsers.firefox { |
| if version <= 8847360 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 327680 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::MaskClip |
| | Feature::MaskComposite |
| | Feature::MaskImage |
| | Feature::MaskOrigin |
| | Feature::MaskRepeat |
| | Feature::MaskBorderRepeat |
| | Feature::MaskBorderSource |
| | Feature::Mask |
| | Feature::MaskPosition |
| | Feature::MaskSize |
| | Feature::MaskBorder |
| | Feature::MaskBorderOutset |
| | Feature::MaskBorderWidth |
| | Feature::MaskBorderSlice => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 7798784 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 7798784 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 6881280 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 1572864 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::ClipPath => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1572864 && version <= 3538944 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2686976 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 458752 && version <= 589824 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 327680 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BoxDecorationBreak => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1441792 && version <= 8454144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 8454144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 1180672 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::ObjectFit | Feature::ObjectPosition => { |
| if let Some(version) = browsers.opera { |
| if version >= 656896 && version <= 786688 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| } |
| Feature::ShapeMargin | Feature::ShapeOutside | Feature::ShapeImageThreshold => { |
| if let Some(version) = browsers.ios_saf { |
| if version >= 524288 && version <= 655360 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 459008 && version <= 655360 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TextOverflow => { |
| if let Some(version) = browsers.opera { |
| if version >= 589824 && version <= 786432 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| } |
| Feature::AtViewport => { |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 720896 && version <= 786688 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| } |
| Feature::AtResolution => { |
| if let Some(version) = browsers.android { |
| if version >= 131840 && version <= 262656 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 1835008 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 197888 && version <= 983040 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 262144 && version <= 984576 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 591104 && version <= 786432 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 984576 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::TextAlignLast => { |
| if let Some(version) = browsers.firefox { |
| if version >= 786432 && version <= 3145728 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| } |
| Feature::Pixelated => { |
| if let Some(version) = browsers.firefox { |
| if version >= 198144 && version <= 4194304 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 327680 && version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 722432 && version <= 786688 { |
| prefixes |= VendorPrefix::O; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version <= 393216 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::ImageRendering => { |
| if let Some(version) = browsers.ie { |
| if version >= 458752 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| } |
| Feature::BorderInlineStart |
| | Feature::BorderInlineEnd |
| | Feature::MarginInlineStart |
| | Feature::MarginInlineEnd |
| | Feature::PaddingInlineStart |
| | Feature::PaddingInlineEnd => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 4456448 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 2621440 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 3604480 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 590336 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::BorderBlockStart |
| | Feature::BorderBlockEnd |
| | Feature::MarginBlockStart |
| | Feature::MarginBlockEnd |
| | Feature::PaddingBlockStart |
| | Feature::PaddingBlockEnd => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 4456448 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 3604480 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 786432 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 590336 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Appearance => { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 5439488 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| if version >= 5177344 && version <= 5439488 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 131072 && version <= 5177344 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if browsers.ie.is_some() { |
| prefixes |= VendorPrefix::Ms; |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 4718592 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 851968 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::ScrollSnapType |
| | Feature::ScrollSnapCoordinate |
| | Feature::ScrollSnapDestination |
| | Feature::ScrollSnapPointsX |
| | Feature::ScrollSnapPointsY => { |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 589824 && version <= 656128 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 589824 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::FlowInto | Feature::FlowFrom | Feature::RegionFragment => { |
| if let Some(version) = browsers.chrome { |
| if version >= 983040 && version <= 1179648 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 720896 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 720896 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::ImageSet => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1376256 && version <= 7340032 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 7340032 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 590592 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 6422528 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393216 && version <= 590080 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 1441792 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::WritingMode => { |
| if let Some(version) = browsers.android { |
| if version >= 196608 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 524288 && version <= 3080192 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 328960 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 327680 && version <= 656128 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2228224 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 327936 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version <= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::CrossFade => { |
| if let Some(version) = browsers.chrome { |
| if version >= 1114112 && version <= 8912896 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 327680 && version <= 590592 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 327936 && version <= 590080 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PseudoClassReadOnly | Feature::PseudoClassReadWrite => { |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 5046272 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| } |
| Feature::TextEmphasis |
| | Feature::TextEmphasisPosition |
| | Feature::TextEmphasisStyle |
| | Feature::TextEmphasisColor => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 1638400 && version <= 6422528 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 6422528 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 5570560 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 458752 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 && version <= 1114112 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::DisplayGrid |
| | Feature::InlineGrid |
| | Feature::GridTemplateColumns |
| | Feature::GridTemplateRows |
| | Feature::GridRowStart |
| | Feature::GridColumnStart |
| | Feature::GridRowEnd |
| | Feature::GridColumnEnd |
| | Feature::GridRow |
| | Feature::GridColumn |
| | Feature::GridArea |
| | Feature::GridTemplate |
| | Feature::GridTemplateAreas |
| | Feature::PlaceSelf |
| | Feature::GridColumnAlign |
| | Feature::GridRowAlign => { |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 983040 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| } |
| Feature::TextSpacing => { |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1179648 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 524288 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| } |
| Feature::PseudoClassAnyLink => { |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 263171 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 983040 && version <= 4194304 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 196608 && version <= 3211264 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 524544 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 3342336 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393472 && version <= 524288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 327680 && version <= 524800 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Isolate => { |
| if let Some(version) = browsers.chrome { |
| if version >= 1048576 && version <= 3080192 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 655360 && version <= 3211264 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 656128 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 && version <= 2228224 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393216 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::Plaintext => { |
| if let Some(version) = browsers.firefox { |
| if version >= 655360 && version <= 3211264 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 656128 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393216 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::IsolateOverride => { |
| if let Some(version) = browsers.firefox { |
| if version >= 1114112 && version <= 3211264 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 458752 && version <= 656128 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 458752 && version <= 655616 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::OverscrollBehavior => { |
| if let Some(version) = browsers.edge { |
| if version >= 786432 && version <= 1114112 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version >= 655360 { |
| prefixes |= VendorPrefix::Ms; |
| } |
| } |
| } |
| Feature::TextOrientation => { |
| if let Some(version) = browsers.safari { |
| if version >= 655616 && version <= 852224 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::PrintColorAdjust | Feature::ColorAdjust => { |
| if let Some(version) = browsers.chrome { |
| if version >= 1114112 && version <= 8912896 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 8716288 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 3145728 && version <= 6291456 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 393216 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 983040 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 393216 && version <= 983552 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 262144 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| Feature::AnyPseudo => { |
| if let Some(version) = browsers.chrome { |
| if version >= 786432 && version <= 5701632 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version >= 5177344 && version <= 5701632 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version >= 262144 && version <= 5111808 { |
| prefixes |= VendorPrefix::Moz; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version >= 917504 && version <= 4784128 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 327680 && version <= 851968 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 327680 && version <= 851968 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version >= 65536 && version <= 917504 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version >= 263168 && version <= 5701632 { |
| prefixes |= VendorPrefix::WebKit; |
| } |
| } |
| } |
| } |
| prefixes |
| } |
| } |
| |
| pub fn is_flex_2009(browsers: Browsers) -> bool { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 262656 { |
| return true; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 1310720 { |
| return true; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 393216 { |
| return true; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 196864 && version <= 393216 { |
| return true; |
| } |
| } |
| false |
| } |
| |
| pub fn is_webkit_gradient(browsers: Browsers) -> bool { |
| if let Some(version) = browsers.android { |
| if version >= 131328 && version <= 196608 { |
| return true; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version >= 262144 && version <= 589824 { |
| return true; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version >= 197120 && version <= 393216 { |
| return true; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version >= 262144 && version <= 393216 { |
| return true; |
| } |
| } |
| false |
| } |