author | Xidorn Quan <me@upsuper.org> |
Sun, 29 Apr 2018 22:09:17 +1000 | |
changeset 416241 | 2784dccf11ec0ed92c2da46a258abab9fc716d10 |
parent 416240 | 7ec44505efeb6262e8e8066cca1615c5e4eb98df |
child 416242 | 54a4ed5b619b646d63b3d7b5b04411d8ea0d151a |
push id | 33920 |
push user | toros@mozilla.com |
push date | Mon, 30 Apr 2018 09:50:56 +0000 |
treeherder | mozilla-central@f01311ae4951 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | heycam |
bugs | 1448759 |
milestone | 61.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
layout/style/moz.build | file | annotate | diff | comparison | revisions | |
layout/style/nsCSSPropAliasList.h | file | annotate | diff | comparison | revisions | |
layout/style/nsCSSPropList.h | file | annotate | diff | comparison | revisions | |
layout/style/nsCSSProps.cpp | file | annotate | diff | comparison | revisions |
--- a/layout/style/moz.build +++ b/layout/style/moz.build @@ -29,19 +29,17 @@ EXPORTS += [ 'nsAnimationManager.h', 'nsComputedDOMStylePropertyList.h', 'nsCSSAnonBoxes.h', 'nsCSSAnonBoxList.h', 'nsCSSCounterDescList.h', 'nsCSSFontDescList.h', 'nsCSSKeywordList.h', 'nsCSSKeywords.h', - 'nsCSSPropAliasList.h', 'nsCSSPropertyIDSet.h', - 'nsCSSPropList.h', 'nsCSSProps.h', 'nsCSSPseudoElementList.h', 'nsCSSPseudoElements.h', 'nsCSSScanner.h', 'nsCSSValue.h', 'nsDOMCSSAttrDeclaration.h', 'nsDOMCSSDeclaration.h', 'nsDOMCSSRGBColor.h',
deleted file mode 100644 --- a/layout/style/nsCSSPropAliasList.h +++ /dev/null @@ -1,619 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * a list of all CSS property aliases with data about them, for preprocessing - */ - -/****** - - This file contains the list of all CSS properties that are just - aliases for other properties (e.g., for when we temporarily continue - to support a prefixed property after adding support for its unprefixed - form). It is designed to be used as inline input through the magic of - C preprocessing. All entries must be enclosed in the appropriate - CSS_PROP_ALIAS macro which will have cruel and unusual things done to - it. - - The arguments to CSS_PROP_ALIAS are: - - -. 'aliasname' entries represent a CSS property name and *must* use - only lowercase characters. - - -. 'aliasid' represent a CSS property name but in snake case. This - is used in Servo pref check. - - -. 'id' should be the same as the 'id' field in nsCSSPropList.h for - the property that 'aliasname' is being aliased to. - - -. 'method' is the CSS2Properties property name. Unlike - nsCSSPropList.h, prefixes should just be included in this file (rather - than needing the CSS_PROP_DOMPROP_PREFIXED(prop) macro). - - -. 'pref' is the name of a pref that controls whether the property - is enabled. The property is enabled if 'pref' is an empty string, - or if the boolean property whose name is 'pref' is set to true. - - ******/ - -CSS_PROP_ALIAS(-moz-animation, - _moz_animation, - animation, - MozAnimation, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-delay, - _moz_animation_delay, - animation_delay, - MozAnimationDelay, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-direction, - _moz_animation_direction, - animation_direction, - MozAnimationDirection, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-duration, - _moz_animation_duration, - animation_duration, - MozAnimationDuration, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-fill-mode, - _moz_animation_fill_mode, - animation_fill_mode, - MozAnimationFillMode, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-iteration-count, - _moz_animation_iteration_count, - animation_iteration_count, - MozAnimationIterationCount, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-name, - _moz_animation_name, - animation_name, - MozAnimationName, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-play-state, - _moz_animation_play_state, - animation_play_state, - MozAnimationPlayState, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-animation-timing-function, - _moz_animation_timing_function, - animation_timing_function, - MozAnimationTimingFunction, - "layout.css.prefixes.animations") -CSS_PROP_ALIAS(-moz-backface-visibility, - _moz_backface_visibility, - backface_visibility, - MozBackfaceVisibility, - "layout.css.prefixes.transforms") -CSS_PROP_ALIAS(-moz-border-end, - _moz_border_end, - border_inline_end, - MozBorderEnd, - "") -CSS_PROP_ALIAS(-moz-border-end-color, - _moz_border_end_color, - border_inline_end_color, - MozBorderEndColor, - "") -CSS_PROP_ALIAS(-moz-border-end-style, - _moz_border_end_style, - border_inline_end_style, - MozBorderEndStyle, - "") -CSS_PROP_ALIAS(-moz-border-end-width, - _moz_border_end_width, - border_inline_end_width, - MozBorderEndWidth, - "") -CSS_PROP_ALIAS(-moz-border-image, - _moz_border_image, - border_image, - MozBorderImage, - "layout.css.prefixes.border-image") -CSS_PROP_ALIAS(-moz-border-start, - _moz_border_start, - border_inline_start, - MozBorderStart, - "") -CSS_PROP_ALIAS(-moz-border-start-color, - _moz_border_start_color, - border_inline_start_color, - MozBorderStartColor, - "") -CSS_PROP_ALIAS(-moz-border-start-style, - _moz_border_start_style, - border_inline_start_style, - MozBorderStartStyle, - "") -CSS_PROP_ALIAS(-moz-border-start-width, - _moz_border_start_width, - border_inline_start_width, - MozBorderStartWidth, - "") -CSS_PROP_ALIAS(-moz-box-sizing, - _moz_box_sizing, - box_sizing, - MozBoxSizing, - "layout.css.prefixes.box-sizing") -CSS_PROP_ALIAS(-moz-column-count, - _moz_column_count, - column_count, - MozColumnCount, - "") -CSS_PROP_ALIAS(-moz-column-fill, - _moz_column_fill, - column_fill, - MozColumnFill, - "") -CSS_PROP_ALIAS(-moz-column-gap, - _moz_column_gap, - column_gap, - MozColumnGap, - "") -CSS_PROP_ALIAS(-moz-column-rule, - _moz_column_rule, - column_rule, - MozColumnRule, - "") -CSS_PROP_ALIAS(-moz-column-rule-color, - _moz_column_rule_color, - column_rule_color, - MozColumnRuleColor, - "") -CSS_PROP_ALIAS(-moz-column-rule-style, - _moz_column_rule_style, - column_rule_style, - MozColumnRuleStyle, - "") -CSS_PROP_ALIAS(-moz-column-rule-width, - _moz_column_rule_width, - column_rule_width, - MozColumnRuleWidth, - "") -CSS_PROP_ALIAS(-moz-column-span, - _moz_column_span, - column_span, - MozColumnSpan, - "layout.css.column-span.enabled") -CSS_PROP_ALIAS(-moz-column-width, - _moz_column_width, - column_width, - MozColumnWidth, - "") -CSS_PROP_ALIAS(-moz-columns, - _moz_columns, - columns, - MozColumns, - "") -CSS_PROP_ALIAS(-moz-font-feature-settings, - _moz_font_feature_settings, - font_feature_settings, - MozFontFeatureSettings, - "layout.css.prefixes.font-features") -CSS_PROP_ALIAS(-moz-font-language-override, - _moz_font_language_override, - font_language_override, - MozFontLanguageOverride, - "layout.css.prefixes.font-features") -CSS_PROP_ALIAS(-moz-hyphens, - _moz_hyphens, - hyphens, - MozHyphens, - "") -CSS_PROP_ALIAS(-moz-margin-end, - _moz_margin_end, - margin_inline_end, - MozMarginEnd, - "") -CSS_PROP_ALIAS(-moz-margin-start, - _moz_margin_start, - margin_inline_start, - MozMarginStart, - "") -CSS_PROP_ALIAS(-moz-padding-end, - _moz_padding_end, - padding_inline_end, - MozPaddingEnd, - "") -CSS_PROP_ALIAS(-moz-padding-start, - _moz_padding_start, - padding_inline_start, - MozPaddingStart, - "") -CSS_PROP_ALIAS(-moz-perspective, - _moz_perspective, - perspective, - MozPerspective, - "layout.css.prefixes.transforms") -CSS_PROP_ALIAS(-moz-perspective-origin, - _moz_perspective_origin, - perspective_origin, - MozPerspectiveOrigin, - "layout.css.prefixes.transforms") -CSS_PROP_ALIAS(-moz-transform, - _moz_transform, - transform, - MozTransform, - "layout.css.prefixes.transforms") -CSS_PROP_ALIAS(-moz-transform-origin, - _moz_transform_origin, - transform_origin, - MozTransformOrigin, - "layout.css.prefixes.transforms") -CSS_PROP_ALIAS(-moz-transform-style, - _moz_transform_style, - transform_style, - MozTransformStyle, - "layout.css.prefixes.transforms") -CSS_PROP_ALIAS(-moz-transition, - _moz_transition, - transition, - MozTransition, - "layout.css.prefixes.transitions") -CSS_PROP_ALIAS(-moz-transition-delay, - _moz_transition_delay, - transition_delay, - MozTransitionDelay, - "layout.css.prefixes.transitions") -CSS_PROP_ALIAS(-moz-transition-duration, - _moz_transition_duration, - transition_duration, - MozTransitionDuration, - "layout.css.prefixes.transitions") -CSS_PROP_ALIAS(-moz-transition-property, - _moz_transition_property, - transition_property, - MozTransitionProperty, - "layout.css.prefixes.transitions") -CSS_PROP_ALIAS(-moz-transition-timing-function, - _moz_transition_timing_function, - transition_timing_function, - MozTransitionTimingFunction, - "layout.css.prefixes.transitions") - -#define WEBKIT_PREFIX_PREF "layout.css.prefixes.webkit" - -// -webkit- prefixes -CSS_PROP_ALIAS(-webkit-align-content, - _webkit_align_content, - align_content, - WebkitAlignContent, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-align-items, - _webkit_align_items, - align_items, - WebkitAlignItems, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-align-self, - _webkit_align_self, - align_self, - WebkitAlignSelf, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation, - _webkit_animation, - animation, - WebkitAnimation, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-delay, - _webkit_animation_delay, - animation_delay, - WebkitAnimationDelay, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-direction, - _webkit_animation_direction, - animation_direction, - WebkitAnimationDirection, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-duration, - _webkit_animation_duration, - animation_duration, - WebkitAnimationDuration, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-fill-mode, - _webkit_animation_fill_mode, - animation_fill_mode, - WebkitAnimationFillMode, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-iteration-count, - _webkit_animation_iteration_count, - animation_iteration_count, - WebkitAnimationIterationCount, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-name, - _webkit_animation_name, - animation_name, - WebkitAnimationName, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-play-state, - _webkit_animation_play_state, - animation_play_state, - WebkitAnimationPlayState, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-animation-timing-function, - _webkit_animation_timing_function, - animation_timing_function, - WebkitAnimationTimingFunction, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-backface-visibility, - _webkit_backface_visibility, - backface_visibility, - WebkitBackfaceVisibility, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-background-clip, - _webkit_background_clip, - background_clip, - WebkitBackgroundClip, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-background-origin, - _webkit_background_origin, - background_origin, - WebkitBackgroundOrigin, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-background-size, - _webkit_background_size, - background_size, - WebkitBackgroundSize, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-border-bottom-left-radius, - _webkit_border_bottom_left_radius, - border_bottom_left_radius, - WebkitBorderBottomLeftRadius, // really no dom property - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-border-bottom-right-radius, - _webkit_border_bottom_right_radius, - border_bottom_right_radius, - WebkitBorderBottomRightRadius, // really no dom property - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-border-image, - _webkit_border_image, - border_image, - WebkitBorderImage, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-border-radius, - _webkit_border_radius, - border_radius, - WebkitBorderRadius, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-border-top-left-radius, - _webkit_border_top_left_radius, - border_top_left_radius, - WebkitBorderTopLeftRadius, // really no dom property - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-border-top-right-radius, - _webkit_border_top_right_radius, - border_top_right_radius, - WebkitBorderTopRightRadius, // really no dom property - WEBKIT_PREFIX_PREF) - -// Alias -webkit-box properties to their -moz-box equivalents. -// (NOTE: Even though they're aliases, in practice these -webkit properties -// will behave a bit differently from their -moz versions, if they're -// accompanied by "display:-webkit-box", because we generate a different frame -// for those two display values.) -CSS_PROP_ALIAS(-webkit-box-align, - _webkit_box_align, - _moz_box_align, - WebkitBoxAlign, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-box-direction, - _webkit_box_direction, - _moz_box_direction, - WebkitBoxDirection, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-box-flex, - _webkit_box_flex, - _moz_box_flex, - WebkitBoxFlex, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-box-ordinal-group, - _webkit_box_ordinal_group, - _moz_box_ordinal_group, - WebkitBoxOrdinalGroup, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-box-orient, - _webkit_box_orient, - _moz_box_orient, - WebkitBoxOrient, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-box-pack, - _webkit_box_pack, - _moz_box_pack, - WebkitBoxPack, - WEBKIT_PREFIX_PREF) - -CSS_PROP_ALIAS(-webkit-box-shadow, - _webkit_box_shadow, - box_shadow, - WebkitBoxShadow, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-box-sizing, - _webkit_box_sizing, - box_sizing, - WebkitBoxSizing, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-filter, - _webkit_filter, - filter, - WebkitFilter, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex, - _webkit_flex, - flex, - WebkitFlex, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex-basis, - _webkit_flex_basis, - flex_basis, - WebkitFlexBasis, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex-direction, - _webkit_flex_direction, - flex_direction, - WebkitFlexDirection, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex-flow, - _webkit_flex_flow, - flex_flow, - WebkitFlexFlow, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex-grow, - _webkit_flex_grow, - flex_grow, - WebkitFlexGrow, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex-shrink, - _webkit_flex_shrink, - flex_shrink, - WebkitFlexShrink, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-flex-wrap, - _webkit_flex_wrap, - flex_wrap, - WebkitFlexWrap, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-justify-content, - _webkit_justify_content, - justify_content, - WebkitJustifyContent, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask, - _webkit_mask, - mask, - WebkitMask, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-clip, - _webkit_mask_clip, - mask_clip, - WebkitMaskClip, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-composite, - _webkit_mask_composite, - mask_composite, - WebkitMaskComposite, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-image, - _webkit_mask_image, - mask_image, - WebkitMaskImage, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-origin, - _webkit_mask_origin, - mask_origin, - WebkitMaskOrigin, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-position, - _webkit_mask_position, - mask_position, - WebkitMaskPosition, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-position-x, - _webkit_mask_position_x, - mask_position_x, - WebkitMaskPositionX, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-position-y, - _webkit_mask_position_y, - mask_position_y, - WebkitMaskPositionY, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-repeat, - _webkit_mask_repeat, - mask_repeat, - WebkitMaskRepeat, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-mask-size, - _webkit_mask_size, - mask_size, - WebkitMaskSize, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-order, - _webkit_order, - order, - WebkitOrder, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-perspective, - _webkit_perspective, - perspective, - WebkitPerspective, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-perspective-origin, - _webkit_perspective_origin, - perspective_origin, - WebkitPerspectiveOrigin, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-text-size-adjust, - _webkit_text_size_adjust, - _moz_text_size_adjust, - WebkitTextSizeAdjust, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transform, - _webkit_transform, - transform, - WebkitTransform, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transform-origin, - _webkit_transform_origin, - transform_origin, - WebkitTransformOrigin, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transform-style, - _webkit_transform_style, - transform_style, - WebkitTransformStyle, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transition, - _webkit_transition, - transition, - WebkitTransition, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transition-delay, - _webkit_transition_delay, - transition_delay, - WebkitTransitionDelay, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transition-duration, - _webkit_transition_duration, - transition_duration, - WebkitTransitionDuration, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transition-property, - _webkit_transition_property, - transition_property, - WebkitTransitionProperty, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-transition-timing-function, - _webkit_transition_timing_function, - transition_timing_function, - WebkitTransitionTimingFunction, - WEBKIT_PREFIX_PREF) -CSS_PROP_ALIAS(-webkit-user-select, - _webkit_user_select, - _moz_user_select, - WebkitUserSelect, - WEBKIT_PREFIX_PREF) -#undef WEBKIT_PREFIX_PREF - -CSS_PROP_ALIAS(grid-column-gap, - grid_column_gap, - column_gap, - GridColumnGap, - "") -CSS_PROP_ALIAS(grid-gap, - grid_gap, - gap, - GridGap, - "") -CSS_PROP_ALIAS(grid-row-gap, - grid_row_gap, - row_gap, - GridRowGap, - "") -CSS_PROP_ALIAS(word-wrap, - word_wrap, - overflow_wrap, - WordWrap, - "")
deleted file mode 100644 --- a/layout/style/nsCSSPropList.h +++ /dev/null @@ -1,2740 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * a list of all CSS properties with considerable data about them, for - * preprocessing - */ - -/****** - - This file contains the list of all parsed CSS properties. It is - designed to be used as inline input through the magic of C - preprocessing. All entries must be enclosed in the appropriate - CSS_PROP_* macro which will have cruel and unusual things done to it. - It is recommended (but not strictly necessary) to keep all entries in - alphabetical order. - - The arguments to CSS_PROP are: - - -. 'name' entries represent a CSS property name and *must* use only - lowercase characters. - - -. 'id' should be the same as 'name' except that all hyphens ('-') - in 'name' are converted to underscores ('_') in 'id'. For properties - on a standards track, any '-moz-' prefix is removed in 'id'. This - lets us do nice things with the macros without having to copy/convert - strings at runtime. These are the names used for the enum values of - the nsCSSPropertyID enumeration defined in nsCSSProps.h. - - -. 'method' is designed to be as input for CSS2Properties and similar - callers. It must always be the same as 'name' except it must use - InterCaps and all hyphens ('-') must be removed. Callers using this - parameter must also define the CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, - privatename_) macro to yield either publicname_ or privatename_. - The names differ in that publicname_ has Moz prefixes where they are - used, and also in CssFloat vs. Float. The caller's choice depends on - whether the use is for internal use such as eCSSProperty_* or - nsRuleData::ValueFor* or external use such as exposing DOM properties. - - -. 'pref' is the name of a pref that controls whether the property - is enabled. The property is enabled if 'pref' is an empty string, - or if the boolean property whose name is 'pref' is set to true. - - -. 'parsevariant', to be passed to ParseVariant in the parser. - - -. 'kwtable', which is either nullptr or the name of the appropriate - keyword table member of class nsCSSProps, for use in - nsCSSProps::LookupPropertyValue. - - -. 'animtype_' gives the animation type (see nsStyleAnimType) of this - property. - - CSS_PROP_SHORTHAND only takes 1-4. - - ******/ - - -/*************************************************************************/ - - -// All includers must explicitly define CSS_PROP_SHORTHAND if they -// want it. -#ifndef CSS_PROP_SHORTHAND -#define CSS_PROP_SHORTHAND(name_, id_, method_, pref_) /* nothing */ -#define DEFINED_CSS_PROP_SHORTHAND -#endif - -#define CSS_PROP_DOMPROP_PREFIXED(name_) \ - CSS_PROP_PUBLIC_OR_PRIVATE(Moz ## name_, name_) - -// Callers may define CSS_PROP_LIST_EXCLUDE_INTERNAL if they want to -// exclude internal properties that are not represented in the DOM (only -// the DOM style code defines this). All properties defined in an -// #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL section must have the -// CSSPropFlags::Internal flag set. - -// Callers may also define CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -// to exclude properties that are not considered to be components of the 'all' -// shorthand property. Currently this excludes 'direction' and 'unicode-bidi', -// as required by the CSS Cascading and Inheritance specification, and any -// internal properties that cannot be changed by using CSS syntax. For example, -// the internal '-moz-system-font' property is not excluded, as it is set by the -// 'font' shorthand, while '-x-lang' is excluded as there is no way to set this -// internal property from a style sheet. - -// A caller who wants all the properties can define the |CSS_PROP| -// macro. -#ifdef CSS_PROP - -#define USED_CSS_PROP -// We still need this extra level so that CSS_PROP_DOMPROP_PREFIXED has -// a chance to be expanded. -#define CSS_PROP_(name_, id_, method_, pref_, parsevariant_, kwtable_) CSS_PROP(name_, id_, method_, pref_, parsevariant_, kwtable_) - -#else /* !defined(CSS_PROP) */ - -// An includer who does not define CSS_PROP can define any or all of the -// per-struct macros that are equivalent to it, and the rest will be -// ignored. - -#define CSS_PROP_(name_, id_, method_, pref_, parsevariant_, kwtable_) /* nothing */ - -#endif /* !defined(CSS_PROP) */ - -/*************************************************************************/ - -// For notes XXX bug 3935 below, the names being parsed do not correspond -// to the constants used internally. It would be nice to bring the -// constants into line sometime. - -// The parser will refuse to parse properties marked with -x-. - -// Those marked XXX bug 48973 are CSS2 properties that we support -// differently from the spec for UI requirements. If we ever -// support them correctly the old constants need to be renamed and -// new ones should be entered. - -// CSS2.1 section 5.12.1 says that the properties that apply to -// :first-line are: font properties, color properties, background -// properties, 'word-spacing', 'letter-spacing', 'text-decoration', -// 'vertical-align', 'text-transform', and 'line-height'. -// -// We also allow 'text-shadow', which was listed in CSS2 (where the -// property existed). - -// CSS2.1 section 5.12.2 says that the properties that apply to -// :first-letter are: font properties, 'text-decoration', -// 'text-transform', 'letter-spacing', 'word-spacing' (when -// appropriate), 'line-height', 'float', 'vertical-align' (only if -// 'float' is 'none'), margin properties, padding properties, border -// properties, 'color', and background properties. We also allow -// 'text-shadow' (see above) and 'box-shadow' (which is like the -// border properties). - -// Please keep these sorted by property name, ignoring any "-moz-", -// "-webkit-" or "-x-" prefix. - -CSS_PROP_( - align-content, - align_content, - AlignContent, - "", - VARIANT_HK, - kAutoCompletionAlignJustifyContent) -CSS_PROP_( - align-items, - align_items, - AlignItems, - "", - VARIANT_HK, - kAutoCompletionAlignItems) -CSS_PROP_( - align-self, - align_self, - AlignSelf, - "", - VARIANT_HK, - kAutoCompletionAlignJustifySelf) -CSS_PROP_SHORTHAND( - all, - all, - All, - "layout.css.all-shorthand.enabled") -CSS_PROP_SHORTHAND( - animation, - animation, - Animation, - "") -CSS_PROP_( - animation-delay, - animation_delay, - AnimationDelay, - "", - VARIANT_TIME, // used by list parsing - nullptr) -CSS_PROP_( - animation-direction, - animation_direction, - AnimationDirection, - "", - VARIANT_KEYWORD, // used by list parsing - kAnimationDirectionKTable) -CSS_PROP_( - animation-duration, - animation_duration, - AnimationDuration, - "", - VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing - nullptr) -CSS_PROP_( - animation-fill-mode, - animation_fill_mode, - AnimationFillMode, - "", - VARIANT_KEYWORD, // used by list parsing - kAnimationFillModeKTable) -CSS_PROP_( - animation-iteration-count, - animation_iteration_count, - AnimationIterationCount, - "", - VARIANT_KEYWORD | VARIANT_NUMBER, // used by list parsing - kAnimationIterationCountKTable) -CSS_PROP_( - animation-name, - animation_name, - AnimationName, - "", - // FIXME: The spec should say something about 'inherit' and 'initial' - // not being allowed. - VARIANT_NONE | VARIANT_IDENTIFIER_NO_INHERIT | VARIANT_STRING, // used by list parsing - nullptr) -CSS_PROP_( - animation-play-state, - animation_play_state, - AnimationPlayState, - "", - VARIANT_KEYWORD, // used by list parsing - kAnimationPlayStateKTable) -CSS_PROP_( - animation-timing-function, - animation_timing_function, - AnimationTimingFunction, - "", - VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing - kTransitionTimingFunctionKTable) -CSS_PROP_( - -moz-appearance, - _moz_appearance, - CSS_PROP_DOMPROP_PREFIXED(Appearance), - "", - VARIANT_HK, - kAppearanceKTable) -CSS_PROP_( - backface-visibility, - backface_visibility, - BackfaceVisibility, - "", - VARIANT_HK, - kBackfaceVisibilityKTable) -CSS_PROP_SHORTHAND( - background, - background, - Background, - "") -CSS_PROP_( - background-attachment, - background_attachment, - BackgroundAttachment, - "", - VARIANT_KEYWORD, // used by list parsing - kImageLayerAttachmentKTable) -CSS_PROP_( - background-blend-mode, - background_blend_mode, - BackgroundBlendMode, - "layout.css.background-blend-mode.enabled", - VARIANT_KEYWORD, // used by list parsing - kBlendModeKTable) -CSS_PROP_( - background-clip, - background_clip, - BackgroundClip, - "", - VARIANT_KEYWORD, // used by list parsing - kBackgroundClipKTable) -CSS_PROP_( - background-color, - background_color, - BackgroundColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - background-image, - background_image, - BackgroundImage, - "", - VARIANT_IMAGE, // used by list parsing - nullptr) -CSS_PROP_( - background-origin, - background_origin, - BackgroundOrigin, - "", - VARIANT_KEYWORD, // used by list parsing - kBackgroundOriginKTable) -CSS_PROP_SHORTHAND( - background-position, - background_position, - BackgroundPosition, - "") -CSS_PROP_( - background-position-x, - background_position_x, - BackgroundPositionX, - "", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - background-position-y, - background_position_y, - BackgroundPositionY, - "", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - background-repeat, - background_repeat, - BackgroundRepeat, - "", - VARIANT_KEYWORD, // used by list parsing - kImageLayerRepeatKTable) -CSS_PROP_( - background-size, - background_size, - BackgroundSize, - "", - 0, - kImageLayerSizeKTable) -CSS_PROP_( - -moz-binding, - _moz_binding, - CSS_PROP_DOMPROP_PREFIXED(Binding), - "", - VARIANT_HUO, - nullptr) // XXX bug 3935 -CSS_PROP_( - block-size, - block_size, - BlockSize, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_SHORTHAND( - border, - border, - Border, - "") -CSS_PROP_SHORTHAND( - border-block-end, - border_block_end, - BorderBlockEnd, - "") -CSS_PROP_( - border-block-end-color, - border_block_end_color, - BorderBlockEndColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-block-end-style, - border_block_end_style, - BorderBlockEndStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - border-block-end-width, - border_block_end_width, - BorderBlockEndWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - border-block-start, - border_block_start, - BorderBlockStart, - "") -CSS_PROP_( - border-block-start-color, - border_block_start_color, - BorderBlockStartColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-block-start-style, - border_block_start_style, - BorderBlockStartStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - border-block-start-width, - border_block_start_width, - BorderBlockStartWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - border-bottom, - border_bottom, - BorderBottom, - "") -CSS_PROP_( - border-bottom-color, - border_bottom_color, - BorderBottomColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-bottom-left-radius, - border_bottom_left_radius, - BorderBottomLeftRadius, - "", - 0, - nullptr) -CSS_PROP_( - border-bottom-right-radius, - border_bottom_right_radius, - BorderBottomRightRadius, - "", - 0, - nullptr) -CSS_PROP_( - border-bottom-style, - border_bottom_style, - BorderBottomStyle, - "", - VARIANT_HK, - kBorderStyleKTable) // on/off will need reflow -CSS_PROP_( - border-bottom-width, - border_bottom_width, - BorderBottomWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_( - border-collapse, - border_collapse, - BorderCollapse, - "", - VARIANT_HK, - kBorderCollapseKTable) -CSS_PROP_SHORTHAND( - border-color, - border_color, - BorderColor, - "") -CSS_PROP_SHORTHAND( - border-image, - border_image, - BorderImage, - "") -CSS_PROP_( - border-image-outset, - border_image_outset, - BorderImageOutset, - "", - 0, - nullptr) -CSS_PROP_( - border-image-repeat, - border_image_repeat, - BorderImageRepeat, - "", - 0, - kBorderImageRepeatKTable) -CSS_PROP_( - border-image-slice, - border_image_slice, - BorderImageSlice, - "", - 0, - kBorderImageSliceKTable) -CSS_PROP_( - border-image-source, - border_image_source, - BorderImageSource, - "", - VARIANT_IMAGE | VARIANT_INHERIT, - nullptr) -CSS_PROP_( - border-image-width, - border_image_width, - BorderImageWidth, - "", - 0, - nullptr) -CSS_PROP_SHORTHAND( - border-inline-end, - border_inline_end, - BorderInlineEnd, - "") -CSS_PROP_( - border-inline-end-color, - border_inline_end_color, - BorderInlineEndColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-inline-end-style, - border_inline_end_style, - BorderInlineEndStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - border-inline-end-width, - border_inline_end_width, - BorderInlineEndWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - border-inline-start, - border_inline_start, - BorderInlineStart, - "") -CSS_PROP_( - border-inline-start-color, - border_inline_start_color, - BorderInlineStartColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-inline-start-style, - border_inline_start_style, - BorderInlineStartStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - border-inline-start-width, - border_inline_start_width, - BorderInlineStartWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - border-left, - border_left, - BorderLeft, - "") -CSS_PROP_( - border-left-color, - border_left_color, - BorderLeftColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-left-style, - border_left_style, - BorderLeftStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - border-left-width, - border_left_width, - BorderLeftWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - border-radius, - border_radius, - BorderRadius, - "") -CSS_PROP_SHORTHAND( - border-right, - border_right, - BorderRight, - "") -CSS_PROP_( - border-right-color, - border_right_color, - BorderRightColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-right-style, - border_right_style, - BorderRightStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - border-right-width, - border_right_width, - BorderRightWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_( - border-spacing, - border_spacing, - BorderSpacing, - "", - 0, - nullptr) -CSS_PROP_SHORTHAND( - border-style, - border_style, - BorderStyle, - "") // on/off will need reflow -CSS_PROP_SHORTHAND( - border-top, - border_top, - BorderTop, - "") -CSS_PROP_( - border-top-color, - border_top_color, - BorderTopColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - border-top-left-radius, - border_top_left_radius, - BorderTopLeftRadius, - "", - 0, - nullptr) -CSS_PROP_( - border-top-right-radius, - border_top_right_radius, - BorderTopRightRadius, - "", - 0, - nullptr) -CSS_PROP_( - border-top-style, - border_top_style, - BorderTopStyle, - "", - VARIANT_HK, - kBorderStyleKTable) // on/off will need reflow -CSS_PROP_( - border-top-width, - border_top_width, - BorderTopWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - border-width, - border_width, - BorderWidth, - "") -CSS_PROP_( - bottom, - bottom, - Bottom, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - -moz-box-align, - _moz_box_align, - CSS_PROP_DOMPROP_PREFIXED(BoxAlign), - "", - VARIANT_HK, - kBoxAlignKTable) // XXX bug 3935 -CSS_PROP_( - box-decoration-break, - box_decoration_break, - BoxDecorationBreak, - "layout.css.box-decoration-break.enabled", - VARIANT_HK, - kBoxDecorationBreakKTable) -CSS_PROP_( - -moz-box-direction, - _moz_box_direction, - CSS_PROP_DOMPROP_PREFIXED(BoxDirection), - "", - VARIANT_HK, - kBoxDirectionKTable) // XXX bug 3935 -CSS_PROP_( - -moz-box-flex, - _moz_box_flex, - CSS_PROP_DOMPROP_PREFIXED(BoxFlex), - "", - VARIANT_HN, - nullptr) // XXX bug 3935 -CSS_PROP_( - -moz-box-ordinal-group, - _moz_box_ordinal_group, - CSS_PROP_DOMPROP_PREFIXED(BoxOrdinalGroup), - "", - VARIANT_HI, - nullptr) -CSS_PROP_( - -moz-box-orient, - _moz_box_orient, - CSS_PROP_DOMPROP_PREFIXED(BoxOrient), - "", - VARIANT_HK, - kBoxOrientKTable) // XXX bug 3935 -CSS_PROP_( - -moz-box-pack, - _moz_box_pack, - CSS_PROP_DOMPROP_PREFIXED(BoxPack), - "", - VARIANT_HK, - kBoxPackKTable) // XXX bug 3935 -CSS_PROP_( - box-shadow, - box_shadow, - BoxShadow, - // NOTE: some components must be nonnegative - "", - VARIANT_COLOR | VARIANT_LENGTH | VARIANT_CALC | VARIANT_INHERIT | VARIANT_NONE, - kBoxShadowTypeKTable) -CSS_PROP_( - box-sizing, - box_sizing, - BoxSizing, - "", - VARIANT_HK, - kBoxSizingKTable) -CSS_PROP_( - caption-side, - caption_side, - CaptionSide, - "", - VARIANT_HK, - kCaptionSideKTable) -CSS_PROP_( - caret-color, - caret_color, - CaretColor, - "", - VARIANT_AUTO | VARIANT_HC, - nullptr) -CSS_PROP_( - clear, - clear, - Clear, - "", - VARIANT_HK, - kClearKTable) -CSS_PROP_( - clip, - clip, - Clip, - "", - VARIANT_AH, - nullptr) -CSS_PROP_( - clip-path, - clip_path, - ClipPath, - "", - VARIANT_HUO, - nullptr) -CSS_PROP_( - clip-rule, - clip_rule, - ClipRule, - "", - VARIANT_HK, - kFillRuleKTable) -CSS_PROP_( - color, - color, - Color, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - color-adjust, - color_adjust, - ColorAdjust, - "layout.css.color-adjust.enabled", - VARIANT_HK, - kColorAdjustKTable) -CSS_PROP_( - color-interpolation, - color_interpolation, - ColorInterpolation, - "", - VARIANT_HK, - kColorInterpolationKTable) -CSS_PROP_( - color-interpolation-filters, - color_interpolation_filters, - ColorInterpolationFilters, - "", - VARIANT_HK, - kColorInterpolationKTable) -CSS_PROP_( - column-count, - column_count, - ColumnCount, - "", - VARIANT_AHI, - nullptr) -CSS_PROP_( - column-fill, - column_fill, - ColumnFill, - "", - VARIANT_HK, - kColumnFillKTable) -CSS_PROP_( - column-gap, - column_gap, - ColumnGap, - "", - VARIANT_HLP | VARIANT_NORMAL | VARIANT_CALC, - nullptr) -CSS_PROP_SHORTHAND( - column-rule, - column_rule, - ColumnRule, - "") -CSS_PROP_( - column-rule-color, - column_rule_color, - ColumnRuleColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - column-rule-style, - column_rule_style, - ColumnRuleStyle, - "", - VARIANT_HK, - kBorderStyleKTable) -CSS_PROP_( - column-rule-width, - column_rule_width, - ColumnRuleWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_( - column-span, - column_span, - ColumnSpan, - "layout.css.column-span.enabled", - VARIANT_HK, - kColumnSpanKTable) -CSS_PROP_( - column-width, - column_width, - ColumnWidth, - "", - VARIANT_AHL | VARIANT_CALC, - nullptr) -CSS_PROP_SHORTHAND( - columns, - columns, - Columns, - "") -CSS_PROP_( - contain, - contain, - Contain, - "layout.css.contain.enabled", - // Does not affect parsing, but is needed for tab completion in devtools: - VARIANT_HK | VARIANT_NONE, - kContainKTable) -CSS_PROP_( - content, - content, - Content, - "", - VARIANT_HMK | VARIANT_NONE | VARIANT_URL | VARIANT_COUNTER | VARIANT_ATTR, - kContentKTable) -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - // Only intended to be used internally by Mozilla, so prefixed. - -moz-context-properties, - _moz_context_properties, - CSS_PROP_DOMPROP_PREFIXED(ContextProperties), - "", - 0, - nullptr) -CSS_PROP_( - -moz-control-character-visibility, - _moz_control_character_visibility, - CSS_PROP_DOMPROP_PREFIXED(ControlCharacterVisibility), - "", - VARIANT_HK, - kControlCharacterVisibilityKTable) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - counter-increment, - counter_increment, - CounterIncrement, - "", - VARIANT_INHERIT | VARIANT_NONE, - nullptr) // XXX bug 137285 -CSS_PROP_( - counter-reset, - counter_reset, - CounterReset, - "", - VARIANT_INHERIT | VARIANT_NONE, - nullptr) // XXX bug 137285 -CSS_PROP_( - cursor, - cursor, - Cursor, - "", - 0, - kCursorKTable) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - direction, - direction, - Direction, - "", - VARIANT_HK, - kDirectionKTable) -#endif // !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND) -CSS_PROP_( - display, - display, - Display, - "", - VARIANT_HK, - kDisplayKTable) -CSS_PROP_( - dominant-baseline, - dominant_baseline, - DominantBaseline, - "", - VARIANT_HK, - kDominantBaselineKTable) -CSS_PROP_( - empty-cells, - empty_cells, - EmptyCells, - "", - VARIANT_HK, - kEmptyCellsKTable) -CSS_PROP_( - fill, - fill, - Fill, - "", - 0, - kContextPatternKTable) -CSS_PROP_( - fill-opacity, - fill_opacity, - FillOpacity, - "", - VARIANT_HN | VARIANT_KEYWORD, - kContextOpacityKTable) -CSS_PROP_( - fill-rule, - fill_rule, - FillRule, - "", - VARIANT_HK, - kFillRuleKTable) -CSS_PROP_( - filter, - filter, - Filter, - "", - 0, - nullptr) -CSS_PROP_SHORTHAND( - flex, - flex, - Flex, - "") -CSS_PROP_( - flex-basis, - flex_basis, - FlexBasis, - "", - // NOTE: The parsing implementation for the 'flex' shorthand property has - // its own code to parse each subproperty. It does not depend on the - // longhand parsing defined here. - VARIANT_AHKLP | VARIANT_CALC, - kFlexBasisKTable) -CSS_PROP_( - flex-direction, - flex_direction, - FlexDirection, - "", - VARIANT_HK, - kFlexDirectionKTable) -CSS_PROP_SHORTHAND( - flex-flow, - flex_flow, - FlexFlow, - "") -CSS_PROP_( - flex-grow, - flex_grow, - FlexGrow, - "", - // NOTE: The parsing implementation for the 'flex' shorthand property has - // its own code to parse each subproperty. It does not depend on the - // longhand parsing defined here. - VARIANT_HN, - nullptr) -CSS_PROP_( - flex-shrink, - flex_shrink, - FlexShrink, - "", - // NOTE: The parsing implementation for the 'flex' shorthand property has - // its own code to parse each subproperty. It does not depend on the - // longhand parsing defined here. - VARIANT_HN, - nullptr) -CSS_PROP_( - flex-wrap, - flex_wrap, - FlexWrap, - "", - VARIANT_HK, - kFlexWrapKTable) -CSS_PROP_( - float, - float, - CSS_PROP_PUBLIC_OR_PRIVATE(CssFloat, Float), - "", - VARIANT_HK, - kFloatKTable) -CSS_PROP_( - -moz-float-edge, - _moz_float_edge, - CSS_PROP_DOMPROP_PREFIXED(FloatEdge), - "", - VARIANT_HK, - kFloatEdgeKTable) // XXX bug 3935 -CSS_PROP_( - flood-color, - flood_color, - FloodColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - flood-opacity, - flood_opacity, - FloodOpacity, - "", - VARIANT_HN, - nullptr) -CSS_PROP_SHORTHAND( - font, - font, - Font, - "") -CSS_PROP_( - font-family, - font_family, - FontFamily, - "", - 0, - nullptr) -CSS_PROP_( - font-feature-settings, - font_feature_settings, - FontFeatureSettings, - "", - 0, - nullptr) -CSS_PROP_( - font-kerning, - font_kerning, - FontKerning, - "", - VARIANT_HK, - kFontKerningKTable) -CSS_PROP_( - font-language-override, - font_language_override, - FontLanguageOverride, - "", - VARIANT_NORMAL | VARIANT_INHERIT | VARIANT_STRING, - nullptr) -CSS_PROP_( - font-optical-sizing, - font_optical_sizing, - FontOpticalSizing, - "layout.css.font-variations.enabled", - VARIANT_HK, - kFontOpticalSizingKTable) -CSS_PROP_( - font-size, - font_size, - FontSize, - "", - VARIANT_HKLP | VARIANT_SYSFONT | VARIANT_CALC, - kFontSizeKTable) -CSS_PROP_( - font-size-adjust, - font_size_adjust, - FontSizeAdjust, - "", - VARIANT_HON | VARIANT_SYSFONT, - nullptr) -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -moz-font-smoothing-background-color, - _moz_font_smoothing_background_color, - CSS_PROP_DOMPROP_PREFIXED(FontSmoothingBackgroundColor), - "", - VARIANT_HC, - nullptr) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - font-stretch, - font_stretch, - FontStretch, - "", - VARIANT_HK | VARIANT_SYSFONT | VARIANT_PERCENT, - kFontStretchKTable) -CSS_PROP_( - font-style, - font_style, - FontStyle, - "", - VARIANT_HK | VARIANT_SYSFONT, - kFontStyleKTable) -CSS_PROP_( - font-synthesis, - font_synthesis, - FontSynthesis, - "", - 0, - kFontSynthesisKTable) -CSS_PROP_SHORTHAND( - font-variant, - font_variant, - FontVariant, - "") -CSS_PROP_( - font-variant-alternates, - font_variant_alternates, - FontVariantAlternates, - "", - 0, - kFontVariantAlternatesKTable) -CSS_PROP_( - font-variant-caps, - font_variant_caps, - FontVariantCaps, - "", - VARIANT_HMK, - kFontVariantCapsKTable) -CSS_PROP_( - font-variant-east-asian, - font_variant_east_asian, - FontVariantEastAsian, - "", - 0, - kFontVariantEastAsianKTable) -CSS_PROP_( - font-variant-ligatures, - font_variant_ligatures, - FontVariantLigatures, - "", - 0, - kFontVariantLigaturesKTable) -CSS_PROP_( - font-variant-numeric, - font_variant_numeric, - FontVariantNumeric, - "", - 0, - kFontVariantNumericKTable) -CSS_PROP_( - font-variant-position, - font_variant_position, - FontVariantPosition, - "", - VARIANT_HMK, - kFontVariantPositionKTable) -CSS_PROP_( - font-variation-settings, - font_variation_settings, - FontVariationSettings, - "layout.css.font-variations.enabled", - 0, - nullptr) -CSS_PROP_( - font-weight, - font_weight, - FontWeight, - // NOTE: This property has range restrictions on interpolation! - "", - 0, - kFontWeightKTable) -CSS_PROP_( - -moz-force-broken-image-icon, - _moz_force_broken_image_icon, - CSS_PROP_DOMPROP_PREFIXED(ForceBrokenImageIcon), - "", - VARIANT_HI, - nullptr) // bug 58646 -CSS_PROP_SHORTHAND( - gap, - gap, - Gap, - "") -CSS_PROP_SHORTHAND( - grid, - grid, - Grid, - "") -CSS_PROP_SHORTHAND( - grid-area, - grid_area, - GridArea, - "") -CSS_PROP_( - grid-auto-columns, - grid_auto_columns, - GridAutoColumns, - "", - 0, - kGridTrackBreadthKTable) -CSS_PROP_( - grid-auto-flow, - grid_auto_flow, - GridAutoFlow, - "", - 0, - kGridAutoFlowKTable) -CSS_PROP_( - grid-auto-rows, - grid_auto_rows, - GridAutoRows, - "", - 0, - kGridTrackBreadthKTable) -CSS_PROP_SHORTHAND( - grid-column, - grid_column, - GridColumn, - "") -CSS_PROP_( - grid-column-end, - grid_column_end, - GridColumnEnd, - "", - 0, - nullptr) -CSS_PROP_( - grid-column-start, - grid_column_start, - GridColumnStart, - "", - 0, - nullptr) -CSS_PROP_SHORTHAND( - grid-row, - grid_row, - GridRow, - "") -CSS_PROP_( - grid-row-end, - grid_row_end, - GridRowEnd, - "", - 0, - nullptr) -CSS_PROP_( - grid-row-start, - grid_row_start, - GridRowStart, - "", - 0, - nullptr) -CSS_PROP_SHORTHAND( - grid-template, - grid_template, - GridTemplate, - "") -CSS_PROP_( - grid-template-areas, - grid_template_areas, - GridTemplateAreas, - "", - 0, - nullptr) -CSS_PROP_( - grid-template-columns, - grid_template_columns, - GridTemplateColumns, - "", - 0, - kGridTrackBreadthKTable) -CSS_PROP_( - grid-template-rows, - grid_template_rows, - GridTemplateRows, - "", - 0, - kGridTrackBreadthKTable) -CSS_PROP_( - height, - height, - Height, - "", - VARIANT_AHKLP | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - hyphens, - hyphens, - Hyphens, - "", - VARIANT_HK, - kHyphensKTable) -CSS_PROP_( - image-orientation, - image_orientation, - ImageOrientation, - "layout.css.image-orientation.enabled", - 0, - kImageOrientationKTable) -CSS_PROP_( - -moz-image-region, - _moz_image_region, - CSS_PROP_DOMPROP_PREFIXED(ImageRegion), - "", - 0, - nullptr) -CSS_PROP_( - image-rendering, - image_rendering, - ImageRendering, - "", - VARIANT_HK, - kImageRenderingKTable) -CSS_PROP_( - ime-mode, - ime_mode, - ImeMode, - "", - VARIANT_HK, - kIMEModeKTable) -CSS_PROP_( - initial-letter, - initial_letter, - InitialLetter, - "layout.css.initial-letter.enabled", - 0, - nullptr) -CSS_PROP_( - inline-size, - inline_size, - InlineSize, - "", - VARIANT_AHKLP | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - isolation, - isolation, - Isolation, - "layout.css.isolation.enabled", - VARIANT_HK, - kIsolationKTable) -CSS_PROP_( - justify-content, - justify_content, - JustifyContent, - "", - VARIANT_HK, - kAutoCompletionAlignJustifyContent) -CSS_PROP_( - justify-items, - justify_items, - JustifyItems, - "", - VARIANT_HK, - // for auto-completion we use same values as justify-self: - kAutoCompletionAlignJustifySelf) -CSS_PROP_( - justify-self, - justify_self, - JustifySelf, - "", - VARIANT_HK, - kAutoCompletionAlignJustifySelf) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -x-lang, - _x_lang, - Lang, - "", - 0, - nullptr) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -#endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - left, - left, - Left, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - letter-spacing, - letter_spacing, - LetterSpacing, - "", - VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC, - nullptr) -CSS_PROP_( - lighting-color, - lighting_color, - LightingColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - line-height, - line_height, - LineHeight, - "", - VARIANT_HLPN | VARIANT_KEYWORD | VARIANT_NORMAL | VARIANT_SYSFONT | VARIANT_CALC, - kLineHeightKTable) -CSS_PROP_SHORTHAND( - list-style, - list_style, - ListStyle, - "") -CSS_PROP_( - list-style-image, - list_style_image, - ListStyleImage, - "", - VARIANT_HUO, - nullptr) -CSS_PROP_( - list-style-position, - list_style_position, - ListStylePosition, - "", - VARIANT_HK, - kListStylePositionKTable) -CSS_PROP_( - list-style-type, - list_style_type, - ListStyleType, - "", - 0, - nullptr) -CSS_PROP_SHORTHAND( - margin, - margin, - Margin, - "") -CSS_PROP_( - margin-block-end, - margin_block_end, - MarginBlockEnd, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-block-start, - margin_block_start, - MarginBlockStart, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-bottom, - margin_bottom, - MarginBottom, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-inline-end, - margin_inline_end, - MarginInlineEnd, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-inline-start, - margin_inline_start, - MarginInlineStart, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-left, - margin_left, - MarginLeft, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-right, - margin_right, - MarginRight, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - margin-top, - margin_top, - MarginTop, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_SHORTHAND( - marker, - marker, - Marker, - "") -CSS_PROP_( - marker-end, - marker_end, - MarkerEnd, - "", - VARIANT_HUO, - nullptr) -CSS_PROP_( - marker-mid, - marker_mid, - MarkerMid, - "", - VARIANT_HUO, - nullptr) -CSS_PROP_( - marker-start, - marker_start, - MarkerStart, - "", - VARIANT_HUO, - nullptr) -CSS_PROP_SHORTHAND( - mask, - mask, - Mask, - "") -CSS_PROP_( - mask-clip, - mask_clip, - MaskClip, - "", - VARIANT_KEYWORD, // used by list parsing - kMaskClipKTable) -CSS_PROP_( - mask-composite, - mask_composite, - MaskComposite, - "", - VARIANT_KEYWORD, // used by list parsing - kImageLayerCompositeKTable) -CSS_PROP_( - mask-image, - mask_image, - MaskImage, - "", - VARIANT_IMAGE, // used by list parsing - nullptr) -CSS_PROP_( - mask-mode, - mask_mode, - MaskMode, - "", - VARIANT_KEYWORD, // used by list parsing - kImageLayerModeKTable) -CSS_PROP_( - mask-origin, - mask_origin, - MaskOrigin, - "", - VARIANT_KEYWORD, // used by list parsing - kMaskOriginKTable) -CSS_PROP_SHORTHAND( - mask-position, - mask_position, - MaskPosition, - "") -CSS_PROP_( - mask-position-x, - mask_position_x, - MaskPositionX, - "", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - mask-position-y, - mask_position_y, - MaskPositionY, - "", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - mask-repeat, - mask_repeat, - MaskRepeat, - "", - VARIANT_KEYWORD, // used by list parsing - kImageLayerRepeatKTable) -CSS_PROP_( - mask-size, - mask_size, - MaskSize, - "", - 0, - kImageLayerSizeKTable) -CSS_PROP_( - mask-type, - mask_type, - MaskType, - "", - VARIANT_HK, - kMaskTypeKTable) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -moz-math-display, - _moz_math_display, - MathDisplay, - "", - VARIANT_HK, - kMathDisplayKTable) -CSS_PROP_( - -moz-math-variant, - _moz_math_variant, - MathVariant, - "", - VARIANT_HK, - kMathVariantKTable) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -#endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - max-block-size, - max_block_size, - MaxBlockSize, - "", - VARIANT_HLPO | VARIANT_CALC, - nullptr) -CSS_PROP_( - max-height, - max_height, - MaxHeight, - "", - VARIANT_HKLPO | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - max-inline-size, - max_inline_size, - MaxInlineSize, - "", - VARIANT_HKLPO | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - max-width, - max_width, - MaxWidth, - "", - VARIANT_HKLPO | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - min-block-size, - min_block_size, - MinBlockSize, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -moz-min-font-size-ratio, - _moz_min_font_size_ratio, - CSS_PROP_DOMPROP_PREFIXED(MinFontSizeRatio), - "", - VARIANT_INHERIT | VARIANT_PERCENT, - nullptr) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - min-height, - min_height, - MinHeight, - "", - VARIANT_AHKLP | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - min-inline-size, - min_inline_size, - MinInlineSize, - "", - VARIANT_AHKLP | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - min-width, - min_width, - MinWidth, - "", - VARIANT_AHKLP | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - mix-blend-mode, - mix_blend_mode, - MixBlendMode, - "layout.css.mix-blend-mode.enabled", - VARIANT_HK, - kBlendModeKTable) -CSS_PROP_( - object-fit, - object_fit, - ObjectFit, - "", - VARIANT_HK, - kObjectFitKTable) -CSS_PROP_( - object-position, - object_position, - ObjectPosition, - "", - VARIANT_CALC, - kImageLayerPositionKTable) -CSS_PROP_( - offset-block-end, - offset_block_end, - OffsetBlockEnd, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - offset-block-start, - offset_block_start, - OffsetBlockStart, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - offset-inline-end, - offset_inline_end, - OffsetInlineEnd, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - offset-inline-start, - offset_inline_start, - OffsetInlineStart, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - opacity, - opacity, - Opacity, - "", - VARIANT_HN, - nullptr) -CSS_PROP_( - order, - order, - Order, - "", - VARIANT_HI, - nullptr) // <integer> -CSS_PROP_( - -moz-orient, - _moz_orient, - CSS_PROP_DOMPROP_PREFIXED(Orient), - "", - VARIANT_HK, - kOrientKTable) -CSS_PROP_( - -moz-osx-font-smoothing, - _moz_osx_font_smoothing, - CSS_PROP_DOMPROP_PREFIXED(OsxFontSmoothing), - "layout.css.osx-font-smoothing.enabled", - VARIANT_HK, - kFontSmoothingKTable) -CSS_PROP_SHORTHAND( - outline, - outline, - Outline, - "") -CSS_PROP_( - outline-color, - outline_color, - OutlineColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - outline-offset, - outline_offset, - OutlineOffset, - "", - VARIANT_HL | VARIANT_CALC, - nullptr) -CSS_PROP_SHORTHAND( - -moz-outline-radius, - _moz_outline_radius, - CSS_PROP_DOMPROP_PREFIXED(OutlineRadius), - "") -CSS_PROP_( - -moz-outline-radius-bottomleft, - _moz_outline_radius_bottomleft, - CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomleft), - "", - 0, - nullptr) -CSS_PROP_( - -moz-outline-radius-bottomright, - _moz_outline_radius_bottomright, - CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomright), - "", - 0, - nullptr) -CSS_PROP_( - -moz-outline-radius-topleft, - _moz_outline_radius_topleft, - CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopleft), - "", - 0, - nullptr) -CSS_PROP_( - -moz-outline-radius-topright, - _moz_outline_radius_topright, - CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopright), - "", - 0, - nullptr) -CSS_PROP_( - outline-style, - outline_style, - OutlineStyle, - "", - VARIANT_HK, - kOutlineStyleKTable) -CSS_PROP_( - outline-width, - outline_width, - OutlineWidth, - "", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_SHORTHAND( - overflow, - overflow, - Overflow, - "") -CSS_PROP_SHORTHAND( - overflow-clip-box, - overflow_clip_box, - OverflowClipBox, - "layout.css.overflow-clip-box.enabled") -CSS_PROP_( - overflow-clip-box-block, - overflow_clip_box_block, - OverflowClipBoxBlock, - "layout.css.overflow-clip-box.enabled", - VARIANT_HK, - kOverflowClipBoxKTable) -CSS_PROP_( - overflow-clip-box-inline, - overflow_clip_box_inline, - OverflowClipBoxInline, - "layout.css.overflow-clip-box.enabled", - VARIANT_HK, - kOverflowClipBoxKTable) -CSS_PROP_( - overflow-wrap, - overflow_wrap, - OverflowWrap, - "", - VARIANT_HK, - kOverflowWrapKTable) -CSS_PROP_( - overflow-x, - overflow_x, - OverflowX, - "", - VARIANT_HK, - kOverflowSubKTable) -CSS_PROP_( - overflow-y, - overflow_y, - OverflowY, - "", - VARIANT_HK, - kOverflowSubKTable) -CSS_PROP_SHORTHAND( - overscroll-behavior, - overscroll_behavior, - OverscrollBehavior, - "layout.css.overscroll-behavior.enabled") -CSS_PROP_( - overscroll-behavior-x, - overscroll_behavior_x, - OverscrollBehaviorX, - "layout.css.overscroll-behavior.enabled", - VARIANT_HK, - kOverscrollBehaviorKTable) -CSS_PROP_( - overscroll-behavior-y, - overscroll_behavior_y, - OverscrollBehaviorY, - "layout.css.overscroll-behavior.enabled", - VARIANT_HK, - kOverscrollBehaviorKTable) -CSS_PROP_SHORTHAND( - padding, - padding, - Padding, - "") -CSS_PROP_( - padding-block-end, - padding_block_end, - PaddingBlockEnd, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-block-start, - padding_block_start, - PaddingBlockStart, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-bottom, - padding_bottom, - PaddingBottom, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-inline-end, - padding_inline_end, - PaddingInlineEnd, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-inline-start, - padding_inline_start, - PaddingInlineStart, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-left, - padding_left, - PaddingLeft, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-right, - padding_right, - PaddingRight, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - padding-top, - padding_top, - PaddingTop, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - page-break-after, - page_break_after, - PageBreakAfter, - "", - VARIANT_HK, - kPageBreakKTable) // temp fix for bug 24000 -CSS_PROP_( - page-break-before, - page_break_before, - PageBreakBefore, - "", - VARIANT_HK, - kPageBreakKTable) // temp fix for bug 24000 -CSS_PROP_( - page-break-inside, - page_break_inside, - PageBreakInside, - "", - VARIANT_HK, - kPageBreakInsideKTable) -CSS_PROP_( - paint-order, - paint_order, - PaintOrder, - "", - 0, - nullptr) -CSS_PROP_( - perspective, - perspective, - Perspective, - "", - VARIANT_NONE | VARIANT_INHERIT | VARIANT_LENGTH | - VARIANT_NONNEGATIVE_DIMENSION, - nullptr) -CSS_PROP_( - perspective-origin, - perspective_origin, - PerspectiveOrigin, - "", - VARIANT_CALC, - kImageLayerPositionKTable) -CSS_PROP_SHORTHAND( - place-content, - place_content, - PlaceContent, - "") -CSS_PROP_SHORTHAND( - place-items, - place_items, - PlaceItems, - "") -CSS_PROP_SHORTHAND( - place-self, - place_self, - PlaceSelf, - "") -CSS_PROP_( - pointer-events, - pointer_events, - PointerEvents, - "", - VARIANT_HK, - kPointerEventsKTable) -CSS_PROP_( - position, - position, - Position, - "", - VARIANT_HK, - kPositionKTable) -CSS_PROP_( - quotes, - quotes, - Quotes, - "", - VARIANT_HOS, - nullptr) -CSS_PROP_( - resize, - resize, - Resize, - "", - VARIANT_HK, - kResizeKTable) -CSS_PROP_( - right, - right, - Right, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - rotate, - rotate, - Rotate, - "layout.css.individual-transform.enabled", - 0, - nullptr) -CSS_PROP_( - row-gap, - row_gap, - RowGap, - "", - VARIANT_HLP | VARIANT_NORMAL | VARIANT_CALC, - nullptr) -CSS_PROP_( - ruby-align, - ruby_align, - RubyAlign, - "", - VARIANT_HK, - kRubyAlignKTable) -CSS_PROP_( - ruby-position, - ruby_position, - RubyPosition, - "", - VARIANT_HK, - kRubyPositionKTable) -CSS_PROP_( - scale, - scale, - Scale, - "layout.css.individual-transform.enabled", - 0, - nullptr) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -moz-script-level, - _moz_script_level, - ScriptLevel, - // We only allow 'script-level' when unsafe rules are enabled, because - // otherwise it could interfere with rulenode optimizations if used in - // a non-MathML-enabled document. - "", - // script-level can take Auto, Integer and Number values, but only Auto - // ("increment if parent is not in displaystyle") and Integer - // ("relative") values can be specified in a style sheet. - VARIANT_AHI, - nullptr) -CSS_PROP_( - -moz-script-min-size, - _moz_script_min_size, - ScriptMinSize, - "", - 0, - nullptr) -CSS_PROP_( - -moz-script-size-multiplier, - _moz_script_size_multiplier, - ScriptSizeMultiplier, - "", - 0, - nullptr) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -#endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - scroll-behavior, - scroll_behavior, - ScrollBehavior, - "layout.css.scroll-behavior.property-enabled", - VARIANT_HK, - kScrollBehaviorKTable) -CSS_PROP_( - scroll-snap-coordinate, - scroll_snap_coordinate, - ScrollSnapCoordinate, - "layout.css.scroll-snap.enabled", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - scroll-snap-destination, - scroll_snap_destination, - ScrollSnapDestination, - "layout.css.scroll-snap.enabled", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - scroll-snap-points-x, - scroll_snap_points_x, - ScrollSnapPointsX, - "layout.css.scroll-snap.enabled", - 0, - nullptr) -CSS_PROP_( - scroll-snap-points-y, - scroll_snap_points_y, - ScrollSnapPointsY, - "layout.css.scroll-snap.enabled", - 0, - nullptr) -CSS_PROP_SHORTHAND( - scroll-snap-type, - scroll_snap_type, - ScrollSnapType, - "layout.css.scroll-snap.enabled") -CSS_PROP_( - scroll-snap-type-x, - scroll_snap_type_x, - ScrollSnapTypeX, - "layout.css.scroll-snap.enabled", - VARIANT_HK, - kScrollSnapTypeKTable) -CSS_PROP_( - scroll-snap-type-y, - scroll_snap_type_y, - ScrollSnapTypeY, - "layout.css.scroll-snap.enabled", - VARIANT_HK, - kScrollSnapTypeKTable) -CSS_PROP_( - shape-image-threshold, - shape_image_threshold, - ShapeImageThreshold, - "layout.css.shape-outside.enabled", - VARIANT_HN, - nullptr) -CSS_PROP_( - shape-margin, - shape_margin, - ShapeMargin, - "layout.css.shape-outside.enabled", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - shape-outside, - shape_outside, - ShapeOutside, - "layout.css.shape-outside.enabled", - 0, - nullptr) -CSS_PROP_( - shape-rendering, - shape_rendering, - ShapeRendering, - "", - VARIANT_HK, - kShapeRenderingKTable) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -x-span, - _x_span, - Span, - "", - 0, - nullptr) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -#endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - -moz-stack-sizing, - _moz_stack_sizing, - CSS_PROP_DOMPROP_PREFIXED(StackSizing), - "", - VARIANT_HK, - kStackSizingKTable) -CSS_PROP_( - stop-color, - stop_color, - StopColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - stop-opacity, - stop_opacity, - StopOpacity, - "", - VARIANT_HN, - nullptr) -CSS_PROP_( - stroke, - stroke, - Stroke, - "", - 0, - kContextPatternKTable) -CSS_PROP_( - stroke-dasharray, - stroke_dasharray, - StrokeDasharray, - // NOTE: Internal values have range restrictions. - "", - 0, - kStrokeContextValueKTable) -CSS_PROP_( - stroke-dashoffset, - stroke_dashoffset, - StrokeDashoffset, - "", - VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD, - kStrokeContextValueKTable) -CSS_PROP_( - stroke-linecap, - stroke_linecap, - StrokeLinecap, - "", - VARIANT_HK, - kStrokeLinecapKTable) -CSS_PROP_( - stroke-linejoin, - stroke_linejoin, - StrokeLinejoin, - "", - VARIANT_HK, - kStrokeLinejoinKTable) -CSS_PROP_( - stroke-miterlimit, - stroke_miterlimit, - StrokeMiterlimit, - "", - VARIANT_HN, - nullptr) -CSS_PROP_( - stroke-opacity, - stroke_opacity, - StrokeOpacity, - "", - VARIANT_HN | VARIANT_KEYWORD, - kContextOpacityKTable) -CSS_PROP_( - stroke-width, - stroke_width, - StrokeWidth, - "", - VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD, - kStrokeContextValueKTable) -CSS_PROP_( - -moz-tab-size, - _moz_tab_size, - CSS_PROP_DOMPROP_PREFIXED(TabSize), - "", - VARIANT_INHERIT | VARIANT_LNCALC, - nullptr) -CSS_PROP_( - table-layout, - table_layout, - TableLayout, - "", - VARIANT_HK, - kTableLayoutKTable) -CSS_PROP_( - text-align, - text_align, - TextAlign, - "", - // When we support aligning on a string, we can parse text-align - // as a string.... - VARIANT_HK /* | VARIANT_STRING */, - kTextAlignKTable) -CSS_PROP_( - text-align-last, - text_align_last, - TextAlignLast, - "", - VARIANT_HK, - kTextAlignLastKTable) -CSS_PROP_( - text-anchor, - text_anchor, - TextAnchor, - "", - VARIANT_HK, - kTextAnchorKTable) -CSS_PROP_( - text-combine-upright, - text_combine_upright, - TextCombineUpright, - "", - 0, - kTextCombineUprightKTable) -CSS_PROP_SHORTHAND( - text-decoration, - text_decoration, - TextDecoration, - "") -CSS_PROP_( - text-decoration-color, - text_decoration_color, - TextDecorationColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - text-decoration-line, - text_decoration_line, - TextDecorationLine, - "", - 0, - kTextDecorationLineKTable) -CSS_PROP_( - text-decoration-style, - text_decoration_style, - TextDecorationStyle, - "", - VARIANT_HK, - kTextDecorationStyleKTable) -CSS_PROP_SHORTHAND( - text-emphasis, - text_emphasis, - TextEmphasis, - "") -CSS_PROP_( - text-emphasis-color, - text_emphasis_color, - TextEmphasisColor, - "", - VARIANT_HC, - nullptr) -CSS_PROP_( - text-emphasis-position, - text_emphasis_position, - TextEmphasisPosition, - "", - 0, - kTextEmphasisPositionKTable) -CSS_PROP_( - text-emphasis-style, - text_emphasis_style, - TextEmphasisStyle, - "", - 0, - nullptr) -CSS_PROP_( - -webkit-text-fill-color, - _webkit_text_fill_color, - WebkitTextFillColor, - "layout.css.prefixes.webkit", - VARIANT_HC, - nullptr) -CSS_PROP_( - text-indent, - text_indent, - TextIndent, - "", - VARIANT_HLP | VARIANT_CALC, - nullptr) -CSS_PROP_( - text-justify, - text_justify, - TextJustify, - "layout.css.text-justify.enabled", - VARIANT_HK, - kTextJustifyKTable) -CSS_PROP_( - text-orientation, - text_orientation, - TextOrientation, - "", - VARIANT_HK, - kTextOrientationKTable) -CSS_PROP_( - text-overflow, - text_overflow, - TextOverflow, - "", - 0, - kTextOverflowKTable) -CSS_PROP_( - text-rendering, - text_rendering, - TextRendering, - "", - VARIANT_HK, - kTextRenderingKTable) -CSS_PROP_( - text-shadow, - text_shadow, - TextShadow, - // NOTE: some components must be nonnegative - "", - VARIANT_COLOR | VARIANT_LENGTH | VARIANT_CALC | VARIANT_INHERIT | VARIANT_NONE, - nullptr) -CSS_PROP_( - -moz-text-size-adjust, - _moz_text_size_adjust, - CSS_PROP_DOMPROP_PREFIXED(TextSizeAdjust), - "", - VARIANT_HK, - kTextSizeAdjustKTable) -CSS_PROP_SHORTHAND( - -webkit-text-stroke, - _webkit_text_stroke, - WebkitTextStroke, - "layout.css.prefixes.webkit") -CSS_PROP_( - -webkit-text-stroke-color, - _webkit_text_stroke_color, - WebkitTextStrokeColor, - "layout.css.prefixes.webkit", - VARIANT_HC, - nullptr) -CSS_PROP_( - -webkit-text-stroke-width, - _webkit_text_stroke_width, - WebkitTextStrokeWidth, - "layout.css.prefixes.webkit", - VARIANT_HKL | VARIANT_CALC, - kBorderWidthKTable) -CSS_PROP_( - text-transform, - text_transform, - TextTransform, - "", - VARIANT_HK, - kTextTransformKTable) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -x-text-zoom, - _x_text_zoom, - TextZoom, - "", - 0, - nullptr) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -#endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - top, - top, - Top, - "", - VARIANT_AHLP | VARIANT_CALC, - nullptr) -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -moz-top-layer, - _moz_top_layer, - CSS_PROP_DOMPROP_PREFIXED(TopLayer), - "", - VARIANT_HK, - kTopLayerKTable) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - touch-action, - touch_action, - TouchAction, - "layout.css.touch_action.enabled", - VARIANT_HK, - kTouchActionKTable) -CSS_PROP_( - transform, - transform, - Transform, - "", - 0, - nullptr) -CSS_PROP_( - transform-box, - transform_box, - TransformBox, - "svg.transform-box.enabled", - VARIANT_HK, - kTransformBoxKTable) -CSS_PROP_( - transform-origin, - transform_origin, - TransformOrigin, - "", - 0, - kImageLayerPositionKTable) -CSS_PROP_( - transform-style, - transform_style, - TransformStyle, - "", - VARIANT_HK, - kTransformStyleKTable) -CSS_PROP_SHORTHAND( - transition, - transition, - Transition, - "") -CSS_PROP_( - transition-delay, - transition_delay, - TransitionDelay, - "", - VARIANT_TIME, // used by list parsing - nullptr) -CSS_PROP_( - transition-duration, - transition_duration, - TransitionDuration, - "", - VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing - nullptr) -CSS_PROP_( - transition-property, - transition_property, - TransitionProperty, - "", - VARIANT_IDENTIFIER | VARIANT_NONE | VARIANT_ALL, // used only in shorthand - nullptr) -CSS_PROP_( - transition-timing-function, - transition_timing_function, - TransitionTimingFunction, - "", - VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing - kTransitionTimingFunctionKTable) -CSS_PROP_( - translate, - translate, - Translate, - "layout.css.individual-transform.enabled", - 0, - nullptr) -#ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - unicode-bidi, - unicode_bidi, - UnicodeBidi, - "", - VARIANT_HK, - kUnicodeBidiKTable) -#endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_( - -moz-user-focus, - _moz_user_focus, - CSS_PROP_DOMPROP_PREFIXED(UserFocus), - "", - VARIANT_HK, - kUserFocusKTable) // XXX bug 3935 -CSS_PROP_( - -moz-user-input, - _moz_user_input, - CSS_PROP_DOMPROP_PREFIXED(UserInput), - "", - VARIANT_HK, - kUserInputKTable) // XXX ??? // XXX bug 3935 -CSS_PROP_( - -moz-user-modify, - _moz_user_modify, - CSS_PROP_DOMPROP_PREFIXED(UserModify), - "", - VARIANT_HK, - kUserModifyKTable) // XXX bug 3935 -CSS_PROP_( - -moz-user-select, - _moz_user_select, - CSS_PROP_DOMPROP_PREFIXED(UserSelect), - "", - VARIANT_HK, - kUserSelectKTable) // XXX bug 3935 -CSS_PROP_( - vector-effect, - vector_effect, - VectorEffect, - "", - VARIANT_HK, - kVectorEffectKTable) -// NOTE: vertical-align is only supposed to apply to :first-letter when -// 'float' is 'none', but we don't worry about that since it has no -// effect otherwise -CSS_PROP_( - vertical-align, - vertical_align, - VerticalAlign, - "", - VARIANT_HKLP | VARIANT_CALC, - kVerticalAlignKTable) -CSS_PROP_( - visibility, - visibility, - Visibility, - "", - VARIANT_HK, - kVisibilityKTable) // reflow for collapse -CSS_PROP_( - white-space, - white_space, - WhiteSpace, - "", - VARIANT_HK, - kWhitespaceKTable) -CSS_PROP_( - width, - width, - Width, - "", - VARIANT_AHKLP | VARIANT_CALC, - kWidthKTable) -CSS_PROP_( - will-change, - will_change, - WillChange, - "", - 0, - nullptr) -CSS_PROP_( - -moz-window-dragging, - _moz_window_dragging, - CSS_PROP_DOMPROP_PREFIXED(WindowDragging), - "", - VARIANT_HK, - kWindowDraggingKTable) -#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - -moz-window-opacity, - _moz_window_opacity, - CSS_PROP_DOMPROP_PREFIXED(WindowOpacity), - "", - VARIANT_HN, - nullptr) -CSS_PROP_( - -moz-window-shadow, - _moz_window_shadow, - CSS_PROP_DOMPROP_PREFIXED(WindowShadow), - "", - VARIANT_HK, - kWindowShadowKTable) -CSS_PROP_( - -moz-window-transform, - _moz_window_transform, - CSS_PROP_DOMPROP_PREFIXED(WindowTransform), - "", - 0, - nullptr) -CSS_PROP_( - -moz-window-transform-origin, - _moz_window_transform_origin, - CSS_PROP_DOMPROP_PREFIXED(WindowTransformOrigin), - "", - 0, - kImageLayerPositionKTable) -#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL -CSS_PROP_( - word-break, - word_break, - WordBreak, - "", - VARIANT_HK, - kWordBreakKTable) -CSS_PROP_( - word-spacing, - word_spacing, - WordSpacing, - "", - VARIANT_HLP | VARIANT_NORMAL | VARIANT_CALC, - nullptr) -CSS_PROP_( - writing-mode, - writing_mode, - WritingMode, - "", - VARIANT_HK, - kWritingModeKTable) -CSS_PROP_( - z-index, - z_index, - ZIndex, - "", - VARIANT_AHI, - nullptr) - -#undef CSS_PROP_ - -#ifdef DEFINED_CSS_PROP_SHORTHAND -#undef CSS_PROP_SHORTHAND -#undef DEFINED_CSS_PROP_SHORTHAND -#endif - -#undef CSS_PROP_DOMPROP_PREFIXED
--- a/layout/style/nsCSSProps.cpp +++ b/layout/style/nsCSSProps.cpp @@ -91,96 +91,16 @@ CreateStaticTable(const char* const aRaw nsAutoCString temp(aRawTable[index]); MOZ_ASSERT(-1 == temp.FindChar('_'), "underscore char in case insensitive name table"); } #endif return table; } -#ifdef DEBUG -static void -CheckServoCSSPropList() -{ - struct PropData { - nsCSSPropertyID mID; - const char* mPref; - }; - const PropData sGeckoProps[eCSSProperty_COUNT_with_aliases] = { -#define CSS_PROP(name_, id_, method_, pref_, ...) \ - { eCSSProperty_##id_, pref_ }, -#include "nsCSSPropList.h" -#undef CSS_PROP - -#define CSS_PROP_SHORTHAND(name_, id_, method_, pref_) \ - { eCSSProperty_##id_, pref_ }, -#include "nsCSSPropList.h" -#undef CSS_PROP_SHORTHAND - -#define CSS_PROP_ALIAS(aliasname_, aliasid_, propid_, aliasmethod_, pref_) \ - { eCSSPropertyAlias_##aliasid_, pref_ }, -#include "nsCSSPropAliasList.h" -#undef CSS_PROP_ALIAS - }; - const PropData sServoProps[eCSSProperty_COUNT_with_aliases] = { -#define CSS_PROP_LONGHAND(name_, id_, method_, flags_, pref_) \ - { eCSSProperty_##id_, pref_ }, -#define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) \ - { eCSSProperty_##id_, pref_ }, -#define CSS_PROP_ALIAS(name_, aliasid_, id_, method_, pref_) \ - { eCSSPropertyAlias_##aliasid_, pref_ }, -#include "mozilla/ServoCSSPropList.h" -#undef CSS_PROP_ALIAS -#undef CSS_PROP_SHORTHAND -#undef CSS_PROP_LONGHAND - }; - - bool mismatch = false; - for (size_t i = 0; i < eCSSProperty_COUNT_with_aliases; i++) { - auto& geckoData = sGeckoProps[i]; - auto& servoData = sServoProps[i]; - const char* name = nsCSSProps::GetStringValue(geckoData.mID).get(); - if (geckoData.mID != servoData.mID) { - printf_stderr("Order mismatches: gecko: %s, servo: %s\n", - name, nsCSSProps::GetStringValue(servoData.mID).get()); - mismatch = true; - continue; - } - if (strcmp(geckoData.mPref, servoData.mPref) != 0) { - printf_stderr("Pref of %s mismatches\n", name); - mismatch = true; - } - } - - const nsCSSPropertyID sGeckoAliases[eCSSAliasCount] = { -#define CSS_PROP_ALIAS(aliasname_, aliasid_, propid_, aliasmethod_, pref_) \ - eCSSProperty_##propid_, -#include "nsCSSPropAliasList.h" -#undef CSS_PROP_ALIAS - }; - const nsCSSPropertyID sServoAliases[eCSSAliasCount] = { -#define CSS_PROP_ALIAS(aliasname_, aliasid_, propid_, aliasmethod_, pref_) \ - eCSSProperty_##propid_, -#include "mozilla/ServoCSSPropList.h" -#undef CSS_PROP_ALIAS - }; - for (size_t i = 0; i < eCSSAliasCount; i++) { - if (sGeckoAliases[i] == sServoAliases[i]) { - continue; - } - nsCSSPropertyID aliasid = nsCSSPropertyID(eCSSProperty_COUNT + i); - printf_stderr("Original property of alias %s mismatches\n", - nsCSSProps::GetStringValue(aliasid).get()); - mismatch = true; - } - - MOZ_ASSERT(!mismatch); -} -#endif - void nsCSSProps::AddRefTable(void) { if (0 == gPropertyTableRefCount++) { MOZ_ASSERT(!gPropertyTable, "pre existing array!"); MOZ_ASSERT(!gFontDescTable, "pre existing array!"); MOZ_ASSERT(!gCounterDescTable, "pre existing array!"); MOZ_ASSERT(!gPropertyIDLNameTable, "pre existing array!"); @@ -195,20 +115,16 @@ nsCSSProps::AddRefTable(void) for (nsCSSPropertyID p = nsCSSPropertyID(0); size_t(p) < ArrayLength(kIDLNameTable); p = nsCSSPropertyID(p + 1)) { if (kIDLNameTable[p]) { gPropertyIDLNameTable->Put(nsDependentCString(kIDLNameTable[p]), p); } } -#ifdef DEBUG - CheckServoCSSPropList(); -#endif - static bool prefObserversInited = false; if (!prefObserversInited) { prefObserversInited = true; #define OBSERVE_PROP(pref_, id_) \ if (pref_[0]) { \ Preferences::AddBoolVarCache(&gPropertyEnabled[id_], \ pref_); \ @@ -2635,19 +2551,19 @@ static const nsCSSPropertyID gMaskPositi // mask-border properties. const nsCSSPropertyID *const nsCSSProps::kSubpropertyTable[eCSSProperty_COUNT - eCSSProperty_COUNT_no_shorthands] = { #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) privatename_ // Need an extra level of macro nesting to force expansion of method_ // params before they get pasted. #define NSCSSPROPS_INNER_MACRO(method_) g##method_##SubpropTable, -#define CSS_PROP_SHORTHAND(name_, id_, method_, pref_) \ +#define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) \ NSCSSPROPS_INNER_MACRO(method_) -#include "nsCSSPropList.h" +#include "mozilla/ServoCSSPropList.h" #undef CSS_PROP_SHORTHAND #undef NSCSSPROPS_INNER_MACRO #undef CSS_PROP_PUBLIC_OR_PRIVATE }; /* static */ bool nsCSSProps::gPropertyEnabled[eCSSProperty_COUNT_with_aliases] = { // If the property has any "ENABLED_IN" flag set, it is disabled by