mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
style: Parse scroll-snap-stop style and propagate it to APZ side
Depends on D146147 Differential Revision: https://phabricator.services.mozilla.com/D145850
This commit is contained in:
parent
f5cf952525
commit
3723a7b18d
7 changed files with 39 additions and 5 deletions
|
@ -73,7 +73,6 @@ COUNTED_UNKNOWN_PROPERTIES = [
|
||||||
"-webkit-perspective-origin-y",
|
"-webkit-perspective-origin-y",
|
||||||
"-webkit-margin-before-collapse",
|
"-webkit-margin-before-collapse",
|
||||||
"-webkit-border-before-style",
|
"-webkit-border-before-style",
|
||||||
"scroll-snap-stop",
|
|
||||||
"-webkit-margin-bottom-collapse",
|
"-webkit-margin-bottom-collapse",
|
||||||
"-webkit-ruby-position",
|
"-webkit-ruby-position",
|
||||||
"-webkit-column-break-after",
|
"-webkit-column-break-after",
|
||||||
|
|
|
@ -492,6 +492,7 @@ class Longhand(Property):
|
||||||
"ScrollbarGutter",
|
"ScrollbarGutter",
|
||||||
"ScrollSnapAlign",
|
"ScrollSnapAlign",
|
||||||
"ScrollSnapAxis",
|
"ScrollSnapAxis",
|
||||||
|
"ScrollSnapStop",
|
||||||
"ScrollSnapStrictness",
|
"ScrollSnapStrictness",
|
||||||
"ScrollSnapType",
|
"ScrollSnapType",
|
||||||
"TextAlign",
|
"TextAlign",
|
||||||
|
|
|
@ -285,6 +285,15 @@ ${helpers.predefined_type(
|
||||||
animation_value_type="discrete",
|
animation_value_type="discrete",
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
${helpers.predefined_type(
|
||||||
|
"scroll-snap-stop",
|
||||||
|
"ScrollSnapStop",
|
||||||
|
"computed::ScrollSnapStop::Normal",
|
||||||
|
engines="gecko",
|
||||||
|
spec="https://drafts.csswg.org/css-scroll-snap-1/#scroll-snap-stop",
|
||||||
|
animation_value_type="discrete",
|
||||||
|
)}
|
||||||
|
|
||||||
% for (axis, logical) in ALL_AXES:
|
% for (axis, logical) in ALL_AXES:
|
||||||
${helpers.predefined_type(
|
${helpers.predefined_type(
|
||||||
"overscroll-behavior-" + axis,
|
"overscroll-behavior-" + axis,
|
||||||
|
|
|
@ -15,8 +15,9 @@ pub use crate::values::specified::box_::{
|
||||||
AnimationName, AnimationTimeline, Appearance, BreakBetween, BreakWithin,
|
AnimationName, AnimationTimeline, Appearance, BreakBetween, BreakWithin,
|
||||||
Clear as SpecifiedClear, Contain, ContainerName, ContainerType, ContentVisibility, Display,
|
Clear as SpecifiedClear, Contain, ContainerName, ContainerType, ContentVisibility, Display,
|
||||||
Float as SpecifiedFloat, Overflow, OverflowAnchor, OverflowClipBox,
|
Float as SpecifiedFloat, Overflow, OverflowAnchor, OverflowClipBox,
|
||||||
OverscrollBehavior, ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStrictness,
|
OverscrollBehavior, ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStop,
|
||||||
ScrollSnapType, ScrollbarGutter, TouchAction, TransitionProperty, WillChange,
|
ScrollSnapStrictness, ScrollSnapType, ScrollbarGutter, TouchAction,
|
||||||
|
TransitionProperty, WillChange,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// A computed value for the `vertical-align` property.
|
/// A computed value for the `vertical-align` property.
|
||||||
|
|
|
@ -49,7 +49,8 @@ pub use self::box_::{AnimationIterationCount, AnimationName, AnimationTimeline,
|
||||||
pub use self::box_::{Appearance, BreakBetween, BreakWithin, Clear, ContentVisibility, Float};
|
pub use self::box_::{Appearance, BreakBetween, BreakWithin, Clear, ContentVisibility, Float};
|
||||||
pub use self::box_::{Display, Overflow, OverflowAnchor, TransitionProperty};
|
pub use self::box_::{Display, Overflow, OverflowAnchor, TransitionProperty};
|
||||||
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize, ScrollbarGutter};
|
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize, ScrollbarGutter};
|
||||||
pub use self::box_::{ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStrictness, ScrollSnapType};
|
pub use self::box_::{ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStop};
|
||||||
|
pub use self::box_::{ScrollSnapStrictness, ScrollSnapType};
|
||||||
pub use self::box_::{TouchAction, VerticalAlign, WillChange};
|
pub use self::box_::{TouchAction, VerticalAlign, WillChange};
|
||||||
pub use self::color::{Color, ColorOrAuto, ColorPropertyValue, ColorScheme, PrintColorAdjust};
|
pub use self::color::{Color, ColorOrAuto, ColorPropertyValue, ColorScheme, PrintColorAdjust};
|
||||||
pub use self::column::ColumnCount;
|
pub use self::column::ColumnCount;
|
||||||
|
|
|
@ -1080,6 +1080,28 @@ impl ToCss for ScrollSnapAlign {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(missing_docs)]
|
||||||
|
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
Copy,
|
||||||
|
Debug,
|
||||||
|
Eq,
|
||||||
|
MallocSizeOf,
|
||||||
|
Parse,
|
||||||
|
PartialEq,
|
||||||
|
SpecifiedValueInfo,
|
||||||
|
ToComputedValue,
|
||||||
|
ToCss,
|
||||||
|
ToResolvedValue,
|
||||||
|
ToShmem,
|
||||||
|
)]
|
||||||
|
#[repr(u8)]
|
||||||
|
pub enum ScrollSnapStop {
|
||||||
|
Normal,
|
||||||
|
Always,
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(missing_docs)]
|
#[allow(missing_docs)]
|
||||||
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
||||||
#[derive(
|
#[derive(
|
||||||
|
|
|
@ -40,7 +40,8 @@ pub use self::box_::{AnimationIterationCount, AnimationName, AnimationTimeline,
|
||||||
pub use self::box_::{Appearance, BreakBetween, BreakWithin, ContainerName, ContainerType};
|
pub use self::box_::{Appearance, BreakBetween, BreakWithin, ContainerName, ContainerType};
|
||||||
pub use self::box_::{Clear, ContentVisibility, Float, Overflow, OverflowAnchor};
|
pub use self::box_::{Clear, ContentVisibility, Float, Overflow, OverflowAnchor};
|
||||||
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize, ScrollbarGutter};
|
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize, ScrollbarGutter};
|
||||||
pub use self::box_::{ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStrictness, ScrollSnapType};
|
pub use self::box_::{ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStop};
|
||||||
|
pub use self::box_::{ScrollSnapStrictness, ScrollSnapType};
|
||||||
pub use self::box_::{TouchAction, TransitionProperty, VerticalAlign, WillChange};
|
pub use self::box_::{TouchAction, TransitionProperty, VerticalAlign, WillChange};
|
||||||
pub use self::color::{Color, ColorOrAuto, ColorPropertyValue, ColorScheme, PrintColorAdjust};
|
pub use self::color::{Color, ColorOrAuto, ColorPropertyValue, ColorScheme, PrintColorAdjust};
|
||||||
pub use self::column::ColumnCount;
|
pub use self::column::ColumnCount;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue