mirror of
https://github.com/servo/servo.git
synced 2025-08-04 05:00:08 +01:00
style: Add 'overflow-anchor' CSS property.
https://drafts.csswg.org/css-scroll-anchoring/#exclusion-api Differential Revision: https://phabricator.services.mozilla.com/D13265
This commit is contained in:
parent
c7cd1b83a1
commit
c04a4140a7
8 changed files with 38 additions and 3 deletions
|
@ -63,6 +63,7 @@ include = [
|
||||||
"Float",
|
"Float",
|
||||||
"OverscrollBehavior",
|
"OverscrollBehavior",
|
||||||
"ScrollSnapType",
|
"ScrollSnapType",
|
||||||
|
"OverflowAnchor",
|
||||||
"OverflowClipBox",
|
"OverflowClipBox",
|
||||||
"Resize",
|
"Resize",
|
||||||
"Overflow",
|
"Overflow",
|
||||||
|
|
|
@ -326,6 +326,7 @@ class Longhand(object):
|
||||||
"Opacity",
|
"Opacity",
|
||||||
"OutlineStyle",
|
"OutlineStyle",
|
||||||
"Overflow",
|
"Overflow",
|
||||||
|
"OverflowAnchor",
|
||||||
"OverflowClipBox",
|
"OverflowClipBox",
|
||||||
"OverflowWrap",
|
"OverflowWrap",
|
||||||
"OverscrollBehavior",
|
"OverscrollBehavior",
|
||||||
|
|
|
@ -1419,6 +1419,7 @@ impl Clone for ${style_struct.gecko_struct_name} {
|
||||||
"Number": impl_simple,
|
"Number": impl_simple,
|
||||||
"Opacity": impl_simple,
|
"Opacity": impl_simple,
|
||||||
"OverflowWrap": impl_simple,
|
"OverflowWrap": impl_simple,
|
||||||
|
"OverflowAnchor": impl_simple,
|
||||||
"Perspective": impl_style_coord,
|
"Perspective": impl_style_coord,
|
||||||
"Position": impl_position,
|
"Position": impl_position,
|
||||||
"RGBAColor": impl_rgba_color,
|
"RGBAColor": impl_rgba_color,
|
||||||
|
|
|
@ -125,6 +125,18 @@ ${helpers.predefined_type(
|
||||||
servo_restyle_damage = "reflow",
|
servo_restyle_damage = "reflow",
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
${helpers.predefined_type(
|
||||||
|
"overflow-anchor",
|
||||||
|
"OverflowAnchor",
|
||||||
|
"computed::OverflowAnchor::Auto",
|
||||||
|
initial_specified_value="specified::OverflowAnchor::Auto",
|
||||||
|
products="gecko",
|
||||||
|
needs_context=False,
|
||||||
|
gecko_pref="layout.css.scroll-anchoring.enabled",
|
||||||
|
spec="https://drafts.csswg.org/css-scroll-anchoring/#exclusion-api",
|
||||||
|
animation_value_type="discrete",
|
||||||
|
)}
|
||||||
|
|
||||||
<% transition_extra_prefixes = "moz:layout.css.prefixes.transitions webkit" %>
|
<% transition_extra_prefixes = "moz:layout.css.prefixes.transitions webkit" %>
|
||||||
|
|
||||||
${helpers.predefined_type(
|
${helpers.predefined_type(
|
||||||
|
|
|
@ -13,7 +13,7 @@ use crate::values::specified::box_ as specified;
|
||||||
|
|
||||||
pub use crate::values::specified::box_::{AnimationName, Appearance, BreakBetween, BreakWithin};
|
pub use crate::values::specified::box_::{AnimationName, Appearance, BreakBetween, BreakWithin};
|
||||||
pub use crate::values::specified::box_::{Clear as SpecifiedClear, Float as SpecifiedFloat};
|
pub use crate::values::specified::box_::{Clear as SpecifiedClear, Float as SpecifiedFloat};
|
||||||
pub use crate::values::specified::box_::{Contain, Display, Overflow, OverflowClipBox};
|
pub use crate::values::specified::box_::{Contain, Display, Overflow, OverflowAnchor, OverflowClipBox};
|
||||||
pub use crate::values::specified::box_::{OverscrollBehavior, ScrollSnapType};
|
pub use crate::values::specified::box_::{OverscrollBehavior, ScrollSnapType};
|
||||||
pub use crate::values::specified::box_::{TouchAction, TransitionProperty, WillChange};
|
pub use crate::values::specified::box_::{TouchAction, TransitionProperty, WillChange};
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ pub use self::border::{BorderImageRepeat, BorderImageSideWidth};
|
||||||
pub use self::border::{BorderImageSlice, BorderImageWidth};
|
pub use self::border::{BorderImageSlice, BorderImageWidth};
|
||||||
pub use self::box_::{AnimationIterationCount, AnimationName, Contain};
|
pub use self::box_::{AnimationIterationCount, AnimationName, Contain};
|
||||||
pub use self::box_::{Appearance, BreakBetween, BreakWithin, Clear, Float};
|
pub use self::box_::{Appearance, BreakBetween, BreakWithin, Clear, Float};
|
||||||
pub use self::box_::{Display, Overflow, TransitionProperty};
|
pub use self::box_::{Display, Overflow, OverflowAnchor, TransitionProperty};
|
||||||
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize};
|
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize};
|
||||||
pub use self::box_::{ScrollSnapType, TouchAction, VerticalAlign, WillChange};
|
pub use self::box_::{ScrollSnapType, TouchAction, VerticalAlign, WillChange};
|
||||||
pub use self::color::{Color, ColorPropertyValue, RGBAColor};
|
pub use self::color::{Color, ColorPropertyValue, RGBAColor};
|
||||||
|
|
|
@ -413,6 +413,26 @@ pub enum OverscrollBehavior {
|
||||||
None,
|
None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(missing_docs)]
|
||||||
|
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
Copy,
|
||||||
|
Debug,
|
||||||
|
Eq,
|
||||||
|
MallocSizeOf,
|
||||||
|
Parse,
|
||||||
|
PartialEq,
|
||||||
|
SpecifiedValueInfo,
|
||||||
|
ToComputedValue,
|
||||||
|
ToCss,
|
||||||
|
)]
|
||||||
|
#[repr(u8)]
|
||||||
|
pub enum OverflowAnchor {
|
||||||
|
Auto,
|
||||||
|
None,
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(missing_docs)]
|
#[allow(missing_docs)]
|
||||||
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
|
||||||
#[derive(
|
#[derive(
|
||||||
|
|
|
@ -36,7 +36,7 @@ pub use self::border::{BorderCornerRadius, BorderImageSlice, BorderImageWidth};
|
||||||
pub use self::border::{BorderImageRepeat, BorderImageSideWidth};
|
pub use self::border::{BorderImageRepeat, BorderImageSideWidth};
|
||||||
pub use self::border::{BorderRadius, BorderSideWidth, BorderSpacing, BorderStyle};
|
pub use self::border::{BorderRadius, BorderSideWidth, BorderSpacing, BorderStyle};
|
||||||
pub use self::box_::{AnimationIterationCount, AnimationName, Contain, Display};
|
pub use self::box_::{AnimationIterationCount, AnimationName, Contain, Display};
|
||||||
pub use self::box_::{Appearance, BreakBetween, BreakWithin, Clear, Float, Overflow};
|
pub use self::box_::{Appearance, BreakBetween, BreakWithin, Clear, Float, Overflow, OverflowAnchor};
|
||||||
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize};
|
pub use self::box_::{OverflowClipBox, OverscrollBehavior, Perspective, Resize};
|
||||||
pub use self::box_::{ScrollSnapType, TouchAction, TransitionProperty, VerticalAlign, WillChange};
|
pub use self::box_::{ScrollSnapType, TouchAction, TransitionProperty, VerticalAlign, WillChange};
|
||||||
pub use self::color::{Color, ColorPropertyValue, RGBAColor};
|
pub use self::color::{Color, ColorPropertyValue, RGBAColor};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue