mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
style: Move user-select outside of mako.
This is the first step to unprefix user-select. This has no behavior change, it's just a nicer way to do the same thing which allows us to unship individual values more easily using parse(condition). Differential Revision: https://phabricator.services.mozilla.com/D11580
This commit is contained in:
parent
fcada8a71e
commit
1aa6725f9a
8 changed files with 47 additions and 9 deletions
|
@ -53,5 +53,6 @@ include = [
|
||||||
"TimingFunction",
|
"TimingFunction",
|
||||||
"PathCommand",
|
"PathCommand",
|
||||||
"UnicodeRange",
|
"UnicodeRange",
|
||||||
|
"UserSelect",
|
||||||
]
|
]
|
||||||
item_types = ["enums", "structs", "typedefs"]
|
item_types = ["enums", "structs", "typedefs"]
|
||||||
|
|
|
@ -336,6 +336,7 @@ class Longhand(object):
|
||||||
"TextEmphasisPosition",
|
"TextEmphasisPosition",
|
||||||
"TouchAction",
|
"TouchAction",
|
||||||
"TransformStyle",
|
"TransformStyle",
|
||||||
|
"UserSelect",
|
||||||
"XSpan",
|
"XSpan",
|
||||||
"XTextZoom",
|
"XTextZoom",
|
||||||
"ZIndex",
|
"ZIndex",
|
||||||
|
|
|
@ -1429,6 +1429,7 @@ impl Clone for ${style_struct.gecko_struct_name} {
|
||||||
"SVGWidth": impl_svg_length,
|
"SVGWidth": impl_svg_length,
|
||||||
"Transform": impl_transform,
|
"Transform": impl_transform,
|
||||||
"TransformOrigin": impl_transform_origin,
|
"TransformOrigin": impl_transform_origin,
|
||||||
|
"UserSelect": impl_simple,
|
||||||
"url::UrlOrNone": impl_css_url,
|
"url::UrlOrNone": impl_css_url,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,16 +31,15 @@ ${helpers.single_keyword(
|
||||||
spec="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-width"
|
spec="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-width"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
${helpers.single_keyword(
|
${helpers.predefined_type(
|
||||||
"-moz-user-select",
|
"-moz-user-select",
|
||||||
"auto text none all element elements toggle tri-state -moz-all -moz-text",
|
"UserSelect",
|
||||||
|
"computed::UserSelect::Auto",
|
||||||
products="gecko",
|
products="gecko",
|
||||||
alias="-webkit-user-select",
|
|
||||||
gecko_ffi_name="mUserSelect",
|
gecko_ffi_name="mUserSelect",
|
||||||
gecko_enum_prefix="StyleUserSelect",
|
alias="-webkit-user-select",
|
||||||
gecko_strip_moz_prefix=False,
|
|
||||||
aliases="-moz-none=none",
|
|
||||||
animation_value_type="discrete",
|
animation_value_type="discrete",
|
||||||
|
needs_context=False,
|
||||||
spec="https://drafts.csswg.org/css-ui-4/#propdef-user-select",
|
spec="https://drafts.csswg.org/css-ui-4/#propdef-user-select",
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ pub use self::transform::{Rotate, Scale, Transform, TransformOperation};
|
||||||
pub use self::transform::{TransformOrigin, TransformStyle, Translate};
|
pub use self::transform::{TransformOrigin, TransformStyle, Translate};
|
||||||
#[cfg(feature = "gecko")]
|
#[cfg(feature = "gecko")]
|
||||||
pub use self::ui::CursorImage;
|
pub use self::ui::CursorImage;
|
||||||
pub use self::ui::{ColorOrAuto, Cursor, MozForceBrokenImageIcon};
|
pub use self::ui::{ColorOrAuto, Cursor, MozForceBrokenImageIcon, UserSelect};
|
||||||
pub use super::specified::{BorderStyle, TextDecorationLine};
|
pub use super::specified::{BorderStyle, TextDecorationLine};
|
||||||
pub use super::{Auto, Either, None_};
|
pub use super::{Auto, Either, None_};
|
||||||
pub use app_units::Au;
|
pub use app_units::Au;
|
||||||
|
|
|
@ -10,7 +10,7 @@ use crate::values::computed::Number;
|
||||||
use crate::values::generics::ui as generics;
|
use crate::values::generics::ui as generics;
|
||||||
use crate::values::{Auto, Either};
|
use crate::values::{Auto, Either};
|
||||||
|
|
||||||
pub use crate::values::specified::ui::MozForceBrokenImageIcon;
|
pub use crate::values::specified::ui::{MozForceBrokenImageIcon, UserSelect};
|
||||||
|
|
||||||
/// auto | <color>
|
/// auto | <color>
|
||||||
pub type ColorOrAuto = Either<Color, Auto>;
|
pub type ColorOrAuto = Either<Color, Auto>;
|
||||||
|
|
|
@ -82,7 +82,7 @@ pub use self::transform::{Rotate, Scale, Transform};
|
||||||
pub use self::transform::{TransformOrigin, TransformStyle, Translate};
|
pub use self::transform::{TransformOrigin, TransformStyle, Translate};
|
||||||
#[cfg(feature = "gecko")]
|
#[cfg(feature = "gecko")]
|
||||||
pub use self::ui::CursorImage;
|
pub use self::ui::CursorImage;
|
||||||
pub use self::ui::{ColorOrAuto, Cursor, MozForceBrokenImageIcon};
|
pub use self::ui::{ColorOrAuto, Cursor, MozForceBrokenImageIcon, UserSelect};
|
||||||
pub use super::generics::grid::GridTemplateComponent as GenericGridTemplateComponent;
|
pub use super::generics::grid::GridTemplateComponent as GenericGridTemplateComponent;
|
||||||
|
|
||||||
#[cfg(feature = "gecko")]
|
#[cfg(feature = "gecko")]
|
||||||
|
|
|
@ -140,3 +140,39 @@ impl Parse for ScrollbarColor {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The specified value for the `user-select` property.
|
||||||
|
///
|
||||||
|
/// https://drafts.csswg.org/css-ui-4/#propdef-user-select
|
||||||
|
#[allow(missing_docs)]
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
Copy,
|
||||||
|
Debug,
|
||||||
|
Eq,
|
||||||
|
MallocSizeOf,
|
||||||
|
Parse,
|
||||||
|
PartialEq,
|
||||||
|
SpecifiedValueInfo,
|
||||||
|
ToComputedValue,
|
||||||
|
ToCss,
|
||||||
|
)]
|
||||||
|
#[repr(u8)]
|
||||||
|
pub enum UserSelect {
|
||||||
|
Auto,
|
||||||
|
Text,
|
||||||
|
#[parse(aliases = "-moz-none")]
|
||||||
|
None,
|
||||||
|
Element,
|
||||||
|
Elements,
|
||||||
|
All,
|
||||||
|
Toggle,
|
||||||
|
TriState,
|
||||||
|
/// Force selection of all children, unless an ancestor has `none` set.
|
||||||
|
///
|
||||||
|
/// See bug 48096.
|
||||||
|
MozAll,
|
||||||
|
/// Like `text`, except that it won't get overridden by ancestors having
|
||||||
|
/// `all`.
|
||||||
|
MozText,
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue