mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00: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-margin-before-collapse",
|
||||
"-webkit-border-before-style",
|
||||
"scroll-snap-stop",
|
||||
"-webkit-margin-bottom-collapse",
|
||||
"-webkit-ruby-position",
|
||||
"-webkit-column-break-after",
|
||||
|
|
|
@ -492,6 +492,7 @@ class Longhand(Property):
|
|||
"ScrollbarGutter",
|
||||
"ScrollSnapAlign",
|
||||
"ScrollSnapAxis",
|
||||
"ScrollSnapStop",
|
||||
"ScrollSnapStrictness",
|
||||
"ScrollSnapType",
|
||||
"TextAlign",
|
||||
|
|
|
@ -285,6 +285,15 @@ ${helpers.predefined_type(
|
|||
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:
|
||||
${helpers.predefined_type(
|
||||
"overscroll-behavior-" + axis,
|
||||
|
|
|
@ -15,8 +15,9 @@ pub use crate::values::specified::box_::{
|
|||
AnimationName, AnimationTimeline, Appearance, BreakBetween, BreakWithin,
|
||||
Clear as SpecifiedClear, Contain, ContainerName, ContainerType, ContentVisibility, Display,
|
||||
Float as SpecifiedFloat, Overflow, OverflowAnchor, OverflowClipBox,
|
||||
OverscrollBehavior, ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStrictness,
|
||||
ScrollSnapType, ScrollbarGutter, TouchAction, TransitionProperty, WillChange,
|
||||
OverscrollBehavior, ScrollSnapAlign, ScrollSnapAxis, ScrollSnapStop,
|
||||
ScrollSnapStrictness, ScrollSnapType, ScrollbarGutter, TouchAction,
|
||||
TransitionProperty, WillChange,
|
||||
};
|
||||
|
||||
/// 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_::{Display, Overflow, OverflowAnchor, TransitionProperty};
|
||||
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::color::{Color, ColorOrAuto, ColorPropertyValue, ColorScheme, PrintColorAdjust};
|
||||
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)]
|
||||
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
||||
#[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_::{Clear, ContentVisibility, Float, Overflow, OverflowAnchor};
|
||||
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::color::{Color, ColorOrAuto, ColorPropertyValue, ColorScheme, PrintColorAdjust};
|
||||
pub use self::column::ColumnCount;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue