From 4c3646eff00f370ae8d9d32c7310da711873ed31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Sun, 11 Nov 2018 18:16:00 +0100 Subject: [PATCH] style: Allow user-select: -moz-text on user-agent stylesheets only. It's only used in contenteditable.css, and same usage in comm-central. That sheet is loaded as a ua sheet so let's restrict it to that. No relevant external usage either. This value was introduced in bug 1181130. Differential Revision: https://phabricator.services.mozilla.com/D11584 --- components/style/properties/longhands/ui.mako.rs | 1 - components/style/values/specified/ui.rs | 11 +++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/components/style/properties/longhands/ui.mako.rs b/components/style/properties/longhands/ui.mako.rs index b73792104cb..c077d4d8ba8 100644 --- a/components/style/properties/longhands/ui.mako.rs +++ b/components/style/properties/longhands/ui.mako.rs @@ -39,7 +39,6 @@ ${helpers.predefined_type( gecko_ffi_name="mUserSelect", alias="-webkit-user-select", animation_value_type="discrete", - needs_context=False, spec="https://drafts.csswg.org/css-ui-4/#propdef-user-select", )} diff --git a/components/style/values/specified/ui.rs b/components/style/values/specified/ui.rs index 6dbf910a655..067ce312102 100644 --- a/components/style/values/specified/ui.rs +++ b/components/style/values/specified/ui.rs @@ -141,6 +141,11 @@ impl Parse for ScrollbarColor { } } +fn in_ua_sheet(context: &ParserContext) -> bool { + use crate::stylesheets::Origin; + context.stylesheet_origin == Origin::UserAgent +} + /// The specified value for the `user-select` property. /// /// https://drafts.csswg.org/css-ui-4/#propdef-user-select @@ -167,5 +172,11 @@ pub enum UserSelect { All, /// Like `text`, except that it won't get overridden by ancestors having /// `all`. + /// + /// FIXME(emilio): This only has one use in contenteditable.css, can we find + /// a better way to do this? + /// + /// See bug 1181130. + #[parse(condition = "in_ua_sheet")] MozText, }