| // This file is autogenerated by build-prefixes.js. DO NOT EDIT! |
| |
| use crate::targets::Browsers; |
| |
| #[allow(dead_code)] |
| #[derive(Clone, Copy, PartialEq)] |
| pub enum Feature { |
| AbsFunction, |
| AccentSystemColor, |
| AfarListStyleType, |
| AmharicAbegedeListStyleType, |
| AmharicListStyleType, |
| AnchorSizeSize, |
| AnimationTimelineShorthand, |
| AnyLink, |
| AnyPseudo, |
| ArabicIndicListStyleType, |
| ArmenianListStyleType, |
| AsterisksListStyleType, |
| AutoSize, |
| Autofill, |
| BengaliListStyleType, |
| BinaryListStyleType, |
| BorderImageRepeatRound, |
| BorderImageRepeatSpace, |
| CalcFunction, |
| CambodianListStyleType, |
| CapUnit, |
| CaseInsensitive, |
| ChUnit, |
| Checkmark, |
| CircleListStyleType, |
| CjkDecimalListStyleType, |
| CjkEarthlyBranchListStyleType, |
| CjkHeavenlyStemListStyleType, |
| ClampFunction, |
| ColorFunction, |
| ConicGradient, |
| ContainerQueryLengthUnits, |
| Cue, |
| CueFunction, |
| CustomMediaQueries, |
| DecimalLeadingZeroListStyleType, |
| DecimalListStyleType, |
| DefaultPseudo, |
| DetailsContent, |
| DevanagariListStyleType, |
| Dialog, |
| DirSelector, |
| DiscListStyleType, |
| DisclosureClosedListStyleType, |
| DisclosureOpenListStyleType, |
| DoublePositionGradients, |
| EmUnit, |
| EthiopicAbegedeAmEtListStyleType, |
| EthiopicAbegedeGezListStyleType, |
| EthiopicAbegedeListStyleType, |
| EthiopicAbegedeTiErListStyleType, |
| EthiopicAbegedeTiEtListStyleType, |
| EthiopicHalehameAaErListStyleType, |
| EthiopicHalehameAaEtListStyleType, |
| EthiopicHalehameAmEtListStyleType, |
| EthiopicHalehameGezListStyleType, |
| EthiopicHalehameOmEtListStyleType, |
| EthiopicHalehameSidEtListStyleType, |
| EthiopicHalehameSoEtListStyleType, |
| EthiopicHalehameTigListStyleType, |
| EthiopicListStyleType, |
| EthiopicNumericListStyleType, |
| ExUnit, |
| ExtendedSystemFonts, |
| FirstLetter, |
| FirstLine, |
| FitContentFunctionSize, |
| FitContentSize, |
| FocusVisible, |
| FocusWithin, |
| FontFamilySystemUi, |
| FontSizeRem, |
| FontSizeXXXLarge, |
| FontStretchPercentage, |
| FontStyleObliqueAngle, |
| FontWeightNumber, |
| FootnotesListStyleType, |
| FormValidation, |
| Fullscreen, |
| Gencontent, |
| GeorgianListStyleType, |
| GradientInterpolationHints, |
| GujaratiListStyleType, |
| GurmukhiListStyleType, |
| HasSelector, |
| HebrewListStyleType, |
| HexAlphaColors, |
| HiraganaIrohaListStyleType, |
| HiraganaListStyleType, |
| HypotFunction, |
| IcUnit, |
| ImageSet, |
| InOutOfRange, |
| IndeterminatePseudo, |
| IsAnimatableSize, |
| IsSelector, |
| JapaneseFormalListStyleType, |
| JapaneseInformalListStyleType, |
| KannadaListStyleType, |
| KatakanaIrohaListStyleType, |
| KatakanaListStyleType, |
| KhmerListStyleType, |
| KoreanHangulFormalListStyleType, |
| KoreanHanjaFormalListStyleType, |
| KoreanHanjaInformalListStyleType, |
| LabColors, |
| LangSelectorList, |
| LaoListStyleType, |
| LhUnit, |
| LightDark, |
| LinearGradient, |
| LogicalBorderRadius, |
| LogicalBorderShorthand, |
| LogicalBorders, |
| LogicalInset, |
| LogicalMargin, |
| LogicalMarginShorthand, |
| LogicalPadding, |
| LogicalPaddingShorthand, |
| LogicalSize, |
| LogicalTextAlign, |
| LowerAlphaListStyleType, |
| LowerArmenianListStyleType, |
| LowerGreekListStyleType, |
| LowerHexadecimalListStyleType, |
| LowerLatinListStyleType, |
| LowerNorwegianListStyleType, |
| LowerRomanListStyleType, |
| MalayalamListStyleType, |
| MarkerPseudo, |
| MaxContentSize, |
| MaxFunction, |
| MediaIntervalSyntax, |
| MediaRangeSyntax, |
| MinContentSize, |
| MinFunction, |
| ModFunction, |
| MongolianListStyleType, |
| MozAvailableSize, |
| MyanmarListStyleType, |
| Namespaces, |
| Nesting, |
| NoneListStyleType, |
| NotSelectorList, |
| NthChildOf, |
| OctalListStyleType, |
| OklabColors, |
| OptionalPseudo, |
| OriyaListStyleType, |
| OromoListStyleType, |
| OverflowShorthand, |
| P3Colors, |
| PartPseudo, |
| PersianListStyleType, |
| Picker, |
| PickerIcon, |
| PlaceContent, |
| PlaceItems, |
| PlaceSelf, |
| Placeholder, |
| PlaceholderShown, |
| QUnit, |
| RadialGradient, |
| RcapUnit, |
| RchUnit, |
| ReadOnlyWrite, |
| RemFunction, |
| RemUnit, |
| RepeatingConicGradient, |
| RepeatingLinearGradient, |
| RepeatingRadialGradient, |
| RexUnit, |
| RicUnit, |
| RlhUnit, |
| RoundFunction, |
| Selection, |
| Selectors2, |
| Selectors3, |
| Shadowdomv1, |
| SidamaListStyleType, |
| SignFunction, |
| SimpChineseFormalListStyleType, |
| SimpChineseInformalListStyleType, |
| SomaliListStyleType, |
| SpaceSeparatedColorNotation, |
| SquareListStyleType, |
| StretchSize, |
| StringListStyleType, |
| SymbolsListStyleType, |
| TamilListStyleType, |
| TargetText, |
| TeluguListStyleType, |
| TextDecorationThicknessPercent, |
| TextDecorationThicknessShorthand, |
| ThaiListStyleType, |
| TibetanListStyleType, |
| TigreListStyleType, |
| TigrinyaErAbegedeListStyleType, |
| TigrinyaErListStyleType, |
| TigrinyaEtAbegedeListStyleType, |
| TigrinyaEtListStyleType, |
| TradChineseFormalListStyleType, |
| TradChineseInformalListStyleType, |
| UpperAlphaListStyleType, |
| UpperArmenianListStyleType, |
| UpperHexadecimalListStyleType, |
| UpperLatinListStyleType, |
| UpperNorwegianListStyleType, |
| UpperRomanListStyleType, |
| VbUnit, |
| VhUnit, |
| ViUnit, |
| ViewTransition, |
| ViewportPercentageUnitsDynamic, |
| ViewportPercentageUnitsLarge, |
| ViewportPercentageUnitsSmall, |
| VmaxUnit, |
| VminUnit, |
| VwUnit, |
| WebkitFillAvailableSize, |
| XResolutionUnit, |
| } |
| |
| impl Feature { |
| pub fn is_compatible(&self, browsers: Browsers) -> bool { |
| match self { |
| Feature::Selectors2 => { |
| if let Some(version) = browsers.ie { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 131072 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 196864 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 197120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 131328 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::Selectors3 => { |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 197888 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 197120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 591104 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 197120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 131328 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::Gencontent | Feature::FirstLine => { |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 131072 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 196864 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 197120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 131328 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::FirstLetter => { |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 197888 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 722432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 196608 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::InOutOfRange => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3276800 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3473408 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2621440 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FormValidation => { |
| if let Some(version) = browsers.ie { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263171 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::AnyLink => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3276800 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 4259840 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3407872 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 590336 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::DefaultPseudo => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3342336 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2490368 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::DirSelector => { |
| if let Some(version) = browsers.edge { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3211264 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 6946816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FocusWithin => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3407872 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3932160 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3080192 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 524800 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FocusVisible => { |
| if let Some(version) = browsers.edge { |
| if version < 5636096 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5570560 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 5636096 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4718592 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::IndeterminatePseudo => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3342336 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 2555904 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::IsSelector => { |
| if let Some(version) = browsers.edge { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5111808 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::OptionalPseudo => { |
| if let Some(version) = browsers.ie { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 131840 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::PlaceholderShown => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3342336 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3080192 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2228224 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Dialog => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 6422528 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 2424832 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 1572864 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Fullscreen => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4194304 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 4653056 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() || browsers.ie.is_some() || browsers.ios_saf.is_some() { |
| return false; |
| } |
| } |
| Feature::MarkerPseudo => { |
| if let Some(version) = browsers.edge { |
| if version < 5636096 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4456448 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 5636096 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4718592 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() || browsers.ios_saf.is_some() || browsers.safari.is_some() { |
| return false; |
| } |
| } |
| Feature::Placeholder => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3342336 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2883584 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 459264 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Selection => { |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 196864 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 591104 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if browsers.ios_saf.is_some() { |
| return false; |
| } |
| } |
| Feature::CaseInsensitive => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3080192 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3211264 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2359296 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ReadOnlyWrite => { |
| if let Some(version) = browsers.edge { |
| if version < 851968 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5111808 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 2359296 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 1507328 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Autofill => { |
| if let Some(version) = browsers.chrome { |
| if version < 7208960 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7208960 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5636096 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 6291456 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1376256 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Namespaces => { |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 131072 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 262656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 131328 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| } |
| Feature::Shadowdomv1 => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3473408 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2621440 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 393728 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::HexAlphaColors => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3211264 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3407872 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 524800 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Nesting => { |
| if let Some(version) = browsers.edge { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7667712 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 6946816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::NotSelectorList => { |
| if let Some(version) = browsers.edge { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5505024 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::HasSelector => { |
| if let Some(version) = browsers.edge { |
| if version < 6881280 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7929856 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 6881280 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1310720 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FontFamilySystemUi => { |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 6029312 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 3670016 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2818048 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 393728 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ExtendedSystemFonts => { |
| if let Some(version) = browsers.safari { |
| if version < 852224 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 852992 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() |
| || browsers.chrome.is_some() |
| || browsers.edge.is_some() |
| || browsers.firefox.is_some() |
| || browsers.ie.is_some() |
| || browsers.opera.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::CalcFunction => { |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.chrome { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 393472 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8847360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::CustomMediaQueries | Feature::FitContentFunctionSize | Feature::StretchSize => return false, |
| Feature::DoublePositionGradients => { |
| if let Some(version) = browsers.chrome { |
| if version < 4653056 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4194304 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3276800 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 786944 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4653056 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ClampFunction => { |
| if let Some(version) = browsers.chrome { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 852224 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 852992 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::PlaceSelf | Feature::PlaceItems => { |
| if let Some(version) = browsers.chrome { |
| if version < 3866624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2949120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2818048 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 3866624 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::PlaceContent => { |
| if let Some(version) = browsers.chrome { |
| if version < 3866624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2949120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2818048 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 3866624 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::OverflowShorthand => { |
| if let Some(version) = browsers.chrome { |
| if version < 4456448 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3997696 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3145728 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 852224 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 852992 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4456448 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::MediaRangeSyntax => { |
| if let Some(version) = browsers.chrome { |
| if version < 6815744 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 6815744 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4653056 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1310720 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 6815744 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::MediaIntervalSyntax => { |
| if let Some(version) = browsers.chrome { |
| if version < 6815744 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 6815744 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 6684672 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4653056 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1310720 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 6815744 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalBorders => { |
| if let Some(version) = browsers.chrome { |
| if version < 4521984 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2686976 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3145728 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 786944 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4521984 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalBorderShorthand | Feature::LogicalMarginShorthand | Feature::LogicalPaddingShorthand => { |
| if let Some(version) = browsers.chrome { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4325376 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 917760 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 918784 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalBorderRadius => { |
| if let Some(version) = browsers.chrome { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4325376 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalMargin | Feature::LogicalPadding => { |
| if let Some(version) = browsers.chrome { |
| if version < 4521984 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2686976 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3145728 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 786944 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalInset => { |
| if let Some(version) = browsers.chrome { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 917760 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 918784 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2686976 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2818048 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 786944 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LogicalTextAlign => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 196864 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 131072 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 2424832 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LabColors => { |
| if let Some(version) = browsers.chrome { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7405568 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1441792 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::OklabColors => { |
| if let Some(version) = browsers.chrome { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7405568 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1441792 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ColorFunction => { |
| if let Some(version) = browsers.chrome { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7405568 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1441792 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::SpaceSeparatedColorNotation => { |
| if let Some(version) = browsers.chrome { |
| if version < 4259840 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3407872 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3080192 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 786944 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4259840 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::TextDecorationThicknessPercent => { |
| if let Some(version) = browsers.chrome { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1115136 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1115136 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::TextDecorationThicknessShorthand => { |
| if let Some(version) = browsers.chrome { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() || browsers.ios_saf.is_some() || browsers.safari.is_some() { |
| return false; |
| } |
| } |
| Feature::Cue => { |
| if let Some(version) = browsers.chrome { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3604480 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::CueFunction => { |
| if let Some(version) = browsers.chrome { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::AnyPseudo => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::PartPseudo => { |
| if let Some(version) = browsers.chrome { |
| if version < 4784128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3407872 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 852224 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 852992 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4784128 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ImageSet => { |
| if let Some(version) = browsers.chrome { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 393216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 393216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::XResolutionUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 4456448 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3145728 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4456448 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::NthChildOf => { |
| if let Some(version) = browsers.chrome { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7405568 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1441792 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::MinFunction | Feature::MaxFunction => { |
| if let Some(version) = browsers.chrome { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 721152 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 721664 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::RoundFunction | Feature::RemFunction | Feature::ModFunction => { |
| if let Some(version) = browsers.chrome { |
| if version < 8192000 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 8192000 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5439488 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1769472 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8192000 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::AbsFunction | Feature::SignFunction => { |
| if let Some(version) = browsers.firefox { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() |
| || browsers.chrome.is_some() |
| || browsers.edge.is_some() |
| || browsers.ie.is_some() |
| || browsers.opera.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::HypotFunction => { |
| if let Some(version) = browsers.chrome { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5242880 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::GradientInterpolationHints => { |
| if let Some(version) = browsers.chrome { |
| if version < 2621440 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2359296 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 1769472 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 2621440 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::BorderImageRepeatRound => { |
| if let Some(version) = browsers.chrome { |
| if version < 1966080 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 590080 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 590592 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 131072 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::BorderImageRepeatSpace => { |
| if let Some(version) = browsers.chrome { |
| if version < 3670016 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3276800 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2818048 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 590080 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 590592 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 393216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 3670016 { |
| return false; |
| } |
| } |
| } |
| Feature::FontSizeRem => { |
| if let Some(version) = browsers.chrome { |
| if version < 2752512 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2031616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 1835008 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 2752512 { |
| return false; |
| } |
| } |
| } |
| Feature::FontSizeXXXLarge => { |
| if let Some(version) = browsers.chrome { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FontStyleObliqueAngle => { |
| if let Some(version) = browsers.chrome { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3997696 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3014656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 721152 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 721664 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 524288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FontWeightNumber => { |
| if let Some(version) = browsers.chrome { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 1114112 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3997696 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3014656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 524288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::FontStretchPercentage => { |
| if let Some(version) = browsers.chrome { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3997696 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3014656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 721152 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 721664 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 524288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4063232 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LightDark => { |
| if let Some(version) = browsers.chrome { |
| if version < 8060928 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 8060928 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5373952 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1115392 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1115392 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1769472 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8060928 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::AccentSystemColor => { |
| if let Some(version) = browsers.firefox { |
| if version < 6750208 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049856 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049856 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() |
| || browsers.chrome.is_some() |
| || browsers.edge.is_some() |
| || browsers.ie.is_some() |
| || browsers.opera.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::AnimationTimelineShorthand => { |
| if let Some(version) = browsers.chrome { |
| if version < 7536640 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7536640 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5046272 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1507328 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7536640 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() |
| || browsers.ie.is_some() |
| || browsers.ios_saf.is_some() |
| || browsers.safari.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::ViewTransition => { |
| if let Some(version) = browsers.chrome { |
| if version < 7143424 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7143424 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4849664 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1376256 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7143424 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::DetailsContent => { |
| if let Some(version) = browsers.chrome { |
| if version < 8585216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 8585216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5701632 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1180672 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1180672 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8585216 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() || browsers.samsung.is_some() { |
| return false; |
| } |
| } |
| Feature::TargetText => { |
| if let Some(version) = browsers.chrome { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 8585216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1180160 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1180160 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::Picker => { |
| if let Some(version) = browsers.chrome { |
| if version < 8781824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 8781824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8781824 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() |
| || browsers.ie.is_some() |
| || browsers.ios_saf.is_some() |
| || browsers.safari.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::PickerIcon | Feature::Checkmark => { |
| if let Some(version) = browsers.chrome { |
| if version < 8716288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 8716288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5767168 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8716288 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() |
| || browsers.ie.is_some() |
| || browsers.ios_saf.is_some() |
| || browsers.safari.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::QUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 3211264 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3014656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 852224 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 852992 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 524288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::CapUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 6356992 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ChUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 1769472 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::ContainerQueryLengthUnits => { |
| if let Some(version) = browsers.chrome { |
| if version < 6881280 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 6881280 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7208960 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4718592 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1310720 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 6881280 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::EmUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 196608 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 65536 { |
| return false; |
| } |
| } |
| } |
| Feature::ExUnit |
| | Feature::CircleListStyleType |
| | Feature::DecimalListStyleType |
| | Feature::DiscListStyleType |
| | Feature::SquareListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::IcUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 6946816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 6946816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 6356992 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4718592 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1310720 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 6946816 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LhUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 7143424 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7143424 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4849664 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1376256 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7143424 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::RcapUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7733248 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::RchUnit | Feature::RexUnit | Feature::RicUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1114624 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1441792 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::RemUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 131072 { |
| return false; |
| } |
| } |
| } |
| Feature::RlhUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 7864320 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4915200 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 1049600 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1441792 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7274496 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::VbUnit |
| | Feature::ViUnit |
| | Feature::ViewportPercentageUnitsDynamic |
| | Feature::ViewportPercentageUnitsLarge |
| | Feature::ViewportPercentageUnitsSmall => { |
| if let Some(version) = browsers.chrome { |
| if version < 7077888 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 7077888 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 6619136 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4784128 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 984064 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1376256 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 7077888 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::VhUnit | Feature::VwUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1245184 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 589824 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 393216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 393216 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::VmaxUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1245184 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::VminUnit => { |
| if let Some(version) = browsers.chrome { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1245184 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::ConicGradient | Feature::RepeatingConicGradient => { |
| if let Some(version) = browsers.chrome { |
| if version < 4521984 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 5439488 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3145728 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 786688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 786944 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 4521984 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LinearGradient | Feature::RepeatingLinearGradient => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::RadialGradient => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::RepeatingRadialGradient => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 655360 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::AfarListStyleType |
| | Feature::AmharicListStyleType |
| | Feature::AmharicAbegedeListStyleType |
| | Feature::EthiopicListStyleType |
| | Feature::EthiopicAbegedeListStyleType |
| | Feature::EthiopicAbegedeAmEtListStyleType |
| | Feature::EthiopicAbegedeGezListStyleType |
| | Feature::EthiopicAbegedeTiErListStyleType |
| | Feature::EthiopicAbegedeTiEtListStyleType |
| | Feature::EthiopicHalehameAaErListStyleType |
| | Feature::EthiopicHalehameAaEtListStyleType |
| | Feature::EthiopicHalehameAmEtListStyleType |
| | Feature::EthiopicHalehameGezListStyleType |
| | Feature::EthiopicHalehameOmEtListStyleType |
| | Feature::EthiopicHalehameSidEtListStyleType |
| | Feature::EthiopicHalehameSoEtListStyleType |
| | Feature::EthiopicHalehameTigListStyleType |
| | Feature::LowerHexadecimalListStyleType |
| | Feature::LowerNorwegianListStyleType |
| | Feature::UpperHexadecimalListStyleType |
| | Feature::UpperNorwegianListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 262656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 196608 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ArabicIndicListStyleType |
| | Feature::BengaliListStyleType |
| | Feature::CjkEarthlyBranchListStyleType |
| | Feature::CjkHeavenlyStemListStyleType |
| | Feature::DevanagariListStyleType |
| | Feature::GujaratiListStyleType |
| | Feature::GurmukhiListStyleType |
| | Feature::KannadaListStyleType |
| | Feature::KhmerListStyleType |
| | Feature::LaoListStyleType |
| | Feature::MalayalamListStyleType |
| | Feature::MyanmarListStyleType |
| | Feature::OriyaListStyleType |
| | Feature::PersianListStyleType |
| | Feature::TeluguListStyleType |
| | Feature::ThaiListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 262656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::ArmenianListStyleType |
| | Feature::DecimalLeadingZeroListStyleType |
| | Feature::GeorgianListStyleType |
| | Feature::LowerAlphaListStyleType |
| | Feature::LowerGreekListStyleType |
| | Feature::LowerRomanListStyleType |
| | Feature::UpperAlphaListStyleType |
| | Feature::UpperLatinListStyleType |
| | Feature::UpperRomanListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 524288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::AsterisksListStyleType | Feature::FootnotesListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::BinaryListStyleType |
| | Feature::OctalListStyleType |
| | Feature::OromoListStyleType |
| | Feature::SidamaListStyleType |
| | Feature::SomaliListStyleType |
| | Feature::TigreListStyleType |
| | Feature::TigrinyaErListStyleType |
| | Feature::TigrinyaErAbegedeListStyleType |
| | Feature::TigrinyaEtListStyleType |
| | Feature::TigrinyaEtAbegedeListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 262656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::CambodianListStyleType | Feature::MongolianListStyleType | Feature::TibetanListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2162688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 262656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::CjkDecimalListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1835008 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4194304 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::DisclosureClosedListStyleType | Feature::DisclosureOpenListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2162688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4128768 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5832704 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::EthiopicNumericListStyleType |
| | Feature::JapaneseFormalListStyleType |
| | Feature::JapaneseInformalListStyleType |
| | Feature::TamilListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 4194304 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5963776 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::HebrewListStyleType |
| | Feature::HiraganaListStyleType |
| | Feature::HiraganaIrohaListStyleType |
| | Feature::KatakanaListStyleType |
| | Feature::KatakanaIrohaListStyleType |
| | Feature::NoneListStyleType |
| | Feature::AutoSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::KoreanHangulFormalListStyleType |
| | Feature::KoreanHanjaFormalListStyleType |
| | Feature::KoreanHanjaInformalListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 2949120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1835008 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2097152 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 2949120 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LowerArmenianListStyleType | Feature::UpperArmenianListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2162688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 327936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::LowerLatinListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 1179648 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 524288 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 65536 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::SimpChineseFormalListStyleType |
| | Feature::SimpChineseInformalListStyleType |
| | Feature::TradChineseFormalListStyleType |
| | Feature::TradChineseInformalListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 2949120 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2097152 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 983040 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 2949120 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::StringListStyleType => { |
| if let Some(version) = browsers.chrome { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 2555904 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 3735552 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 917760 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 918784 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::SymbolsListStyleType => { |
| if let Some(version) = browsers.firefox { |
| if version < 2293760 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() |
| || browsers.chrome.is_some() |
| || browsers.edge.is_some() |
| || browsers.ie.is_some() |
| || browsers.ios_saf.is_some() |
| || browsers.opera.is_some() |
| || browsers.safari.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::AnchorSizeSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 8192000 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 8192000 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 5439488 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 1769472 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 8192000 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() |
| || browsers.ie.is_some() |
| || browsers.ios_saf.is_some() |
| || browsers.safari.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::FitContentSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::IsAnimatableSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 1703936 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 786432 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 1048576 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ie { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| } |
| Feature::MaxContentSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2818048 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 66816 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::MinContentSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 3014656 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 2162688 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 720896 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 3014656 { |
| return false; |
| } |
| } |
| if browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::WebkitFillAvailableSize => { |
| if let Some(version) = browsers.chrome { |
| if version < 1638400 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.edge { |
| if version < 5177344 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.opera { |
| if version < 917504 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.safari { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 458752 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.samsung { |
| if version < 327680 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.android { |
| if version < 263168 { |
| return false; |
| } |
| } |
| if browsers.firefox.is_some() || browsers.ie.is_some() { |
| return false; |
| } |
| } |
| Feature::MozAvailableSize => { |
| if let Some(version) = browsers.firefox { |
| if version < 262144 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() |
| || browsers.chrome.is_some() |
| || browsers.edge.is_some() |
| || browsers.ie.is_some() |
| || browsers.ios_saf.is_some() |
| || browsers.opera.is_some() |
| || browsers.safari.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| Feature::P3Colors | Feature::LangSelectorList => { |
| if let Some(version) = browsers.safari { |
| if version < 655616 { |
| return false; |
| } |
| } |
| if let Some(version) = browsers.ios_saf { |
| if version < 656128 { |
| return false; |
| } |
| } |
| if browsers.android.is_some() |
| || browsers.chrome.is_some() |
| || browsers.edge.is_some() |
| || browsers.firefox.is_some() |
| || browsers.ie.is_some() |
| || browsers.opera.is_some() |
| || browsers.samsung.is_some() |
| { |
| return false; |
| } |
| } |
| } |
| true |
| } |
| |
| pub fn is_partially_compatible(&self, targets: Browsers) -> bool { |
| let mut browsers = Browsers::default(); |
| if targets.android.is_some() { |
| browsers.android = targets.android; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.android = None; |
| } |
| if targets.chrome.is_some() { |
| browsers.chrome = targets.chrome; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.chrome = None; |
| } |
| if targets.edge.is_some() { |
| browsers.edge = targets.edge; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.edge = None; |
| } |
| if targets.firefox.is_some() { |
| browsers.firefox = targets.firefox; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.firefox = None; |
| } |
| if targets.ie.is_some() { |
| browsers.ie = targets.ie; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.ie = None; |
| } |
| if targets.ios_saf.is_some() { |
| browsers.ios_saf = targets.ios_saf; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.ios_saf = None; |
| } |
| if targets.opera.is_some() { |
| browsers.opera = targets.opera; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.opera = None; |
| } |
| if targets.safari.is_some() { |
| browsers.safari = targets.safari; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.safari = None; |
| } |
| if targets.samsung.is_some() { |
| browsers.samsung = targets.samsung; |
| if self.is_compatible(browsers) { |
| return true; |
| } |
| browsers.samsung = None; |
| } |
| |
| false |
| } |
| } |