author | Xidorn Quan <me@upsuper.org> |
Mon, 16 Apr 2018 16:23:33 +1000 | |
changeset 413877 | 7d35e0be4b5756330817311e9980177c09fdc8c0 |
parent 413876 | 484c9ddde7ddda6dacf2be3d7e3e2d4c9d6f9a46 |
child 413878 | ee1ecd82bda466d17b37c1f75cf9038554311d60 |
push id | 33853 |
push user | cbrindusan@mozilla.com |
push date | Tue, 17 Apr 2018 09:51:13 +0000 |
treeherder | mozilla-central@8b0ba3f7d099 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | emilio |
bugs | 1454297 |
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
|
--- a/dom/base/gen-usecounters.py +++ b/dom/base/gen-usecounters.py @@ -56,22 +56,20 @@ def generate_list(f, counters): print_optional_macro_undeclare('USE_COUNTER_CSS_PROPERTY') print_optional_macro_undeclare('USE_COUNTER_CUSTOM') def generate_property_map(f, counters): print(AUTOGENERATED_WARNING_COMMENT, file=f) print(''' enum { #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) privatename_ - #define CSS_PROP_LIST_INCLUDE_LOGICAL #define CSS_PROP(name_, id_, method_, ...) \\ USE_COUNTER_FOR_CSS_PROPERTY_##method_ = eUseCounter_UNKNOWN, #include "nsCSSPropList.h" #undef CSS_PROP - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP_PUBLIC_OR_PRIVATE }; ''', file=f) for counter in counters: if counter['type'] == 'property': prop = counter['property_name'] print('#define USE_COUNTER_FOR_CSS_PROPERTY_%s eUseCounter_property_%s' % (prop, prop), file=f)
--- a/layout/style/GenerateCSSPropsGenerated.py +++ b/layout/style/GenerateCSSPropsGenerated.py @@ -13,22 +13,22 @@ def get_properties(preprocessorHeader): cpp = list(buildconfig.substs['CPP']) cpp += shellutil.split(buildconfig.substs['ACDEFINES']) cpp.append(preprocessorHeader) preprocessed = subprocess.check_output(cpp) properties = [{"name":p[0], "prop":p[1], "id":p[2], "flags":p[3], "pref":p[4], "proptype":p[5]} for (i, p) in enumerate(eval(preprocessed))] - # Sort the list so that longhand and logical properties are intermingled - # first, shorthand properties follow, then aliases appear last. This matches - # the order of the nsCSSPropertyID enum. + # Sort the list so that longhand properties are intermingled first, + # shorthand properties follow, then aliases appear last. + # This matches the order of the nsCSSPropertyID enum. def property_compare(x, y): - property_order = {"longhand": 0, "logical": 0, "shorthand": 1, "alias": 2} + property_order = {"longhand": 0, "shorthand": 1, "alias": 2} return property_order[x["proptype"]] - property_order[y["proptype"]] properties = sorted(properties, cmp=property_compare) for i, p in enumerate(properties): p["index"] = i # Record each property's IDL name.
--- a/layout/style/PythonCSSProps.h +++ b/layout/style/PythonCSSProps.h @@ -15,24 +15,21 @@ #define PROP_STRINGIFY(X) PROP_STRINGIFY_INTERNAL(X) #define DO_PROP(name, method, id, flags, pref, proptype) \ [ #name, #method, #id, PROP_STRINGIFY(flags), pref, proptype ], #define CSS_PROP(name, id, method, flags, pref, ...) \ DO_PROP(name, method, id, flags, pref, "longhand") #define CSS_PROP_SHORTHAND(name, id, method, flags, pref) \ DO_PROP(name, method, id, flags, pref, "shorthand") -#define CSS_PROP_LOGICAL(name, id, method, flags, pref, ...) \ - DO_PROP(name, method, id, flags, pref, "logical") #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) publicname_ #include "nsCSSPropList.h" #undef CSS_PROP_PUBLIC_OR_PRIVATE -#undef CSS_PROP_LOGICAL #undef CSS_PROP_SHORTHAND #undef CSS_PROP #define CSS_PROP_ALIAS(name, aliasid_, id, method, pref) \ DO_PROP(name, method, id, 0, pref, "alias") #include "nsCSSPropAliasList.h"
--- a/layout/style/ServoPropPrefList.h +++ b/layout/style/ServoPropPrefList.h @@ -8,24 +8,20 @@ #define mozilla_ServoPropPrefList_h namespace mozilla { #define CSS_PROP(name_, id_, method_, flags_, pref_, ...) \ const bool SERVO_PREF_ENABLED_##id_ = !(sizeof(pref_) == 1); #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) \ const bool SERVO_PREF_ENABLED_##id_ = !(sizeof(pref_) == 1); -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #undef CSS_PROP_SHORTHAND #define CSS_PROP_ALIAS(aliasname_, aliasid_, id_, method_, pref_) \ const bool SERVO_PREF_ENABLED_##aliasid_ = !(sizeof(pref_) == 1); -#define CSS_PROP_ALIAS_LIST_INCLUDE_LOGICAL #include "nsCSSPropAliasList.h" -#undef CSS_PROP_ALIAS_LIST_INCLUDE_LOGICAL #undef CSS_PROP_ALIAS } #endif // mozilla_ServoPropPrefList_h
--- a/layout/style/nsCSSPropList.h +++ b/layout/style/nsCSSPropList.h @@ -13,17 +13,17 @@ 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, CSS_PROP_LOGICAL and CSS_PROP_* are: + 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 @@ -47,29 +47,21 @@ 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. - -. 'stylestruct_' [used only for CSS_PROP and CSS_PROP_LOGICAL, not - CSS_PROP_*] gives the name of the style struct. Can be used to make - nsStyle##stylestruct_ and eStyleStruct_##stylestruct_ - -. 'animtype_' gives the animation type (see nsStyleAnimType) of this property. CSS_PROP_SHORTHAND only takes 1-5. - CSS_PROP_LOGICAL should be used instead of CSS_PROP_struct when - defining logical properties. Logical shorthand properties should - still be defined with CSS_PROP_SHORTHAND. - ******/ /*************************************************************************/ // All includers must explicitly define CSS_PROP_SHORTHAND if they // want it. @@ -82,36 +74,16 @@ 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 // CSS_PROPERTY_INTERNAL flag set. -// When capturing all properties by defining CSS_PROP, callers must also -// define one of the following three macros: -// -// CSS_PROP_LIST_EXCLUDE_LOGICAL -// Does not include logical properties (defined with CSS_PROP_LOGICAL, -// such as margin-inline-start) when capturing properties to CSS_PROP. -// -// CSS_PROP_LIST_INCLUDE_LOGICAL -// Does include logical properties when capturing properties to -// CSS_PROP. -// -// CSS_PROP_LOGICAL -// Captures logical properties separately to CSS_PROP_LOGICAL. -// -// (CSS_PROP_LIST_EXCLUDE_LOGICAL is used for example to ensure -// gPropertyCountInStruct and gPropertyIndexInStruct do not allocate any -// storage to logical properties, since the result of the cascade, stored -// in an nsRuleData, does not need to store both logical and physical -// property values.) - // 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. @@ -120,53 +92,24 @@ // 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_, flags_, pref_, parsevariant_, kwtable_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, animtype_) -// And similarly for logical properties. An includer can define -// CSS_PROP_LOGICAL to capture all logical properties, but otherwise they -// are included in CSS_PROP (as long as CSS_PROP_LIST_INCLUDE_LOGICAL is -// defined). -#if defined(CSS_PROP_LOGICAL) && defined(CSS_PROP_LIST_EXCLUDE_LOGICAL) || defined(CSS_PROP_LOGICAL) && defined(CSS_PROP_LIST_INCLUDE_LOGICAL) || defined(CSS_PROP_LIST_EXCLUDE_LOGICAL) && defined(CSS_PROP_LIST_INCLUDE_LOGICAL) -#error Do not define more than one of CSS_PROP_LOGICAL, CSS_PROP_LIST_EXCLUDE_LOGICAL and CSS_PROP_LIST_INCLUDE_LOGICAL when capturing properties using CSS_PROP. -#endif - -#ifndef CSS_PROP_LOGICAL -#ifdef CSS_PROP_LIST_INCLUDE_LOGICAL -#define CSS_PROP_LOGICAL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, animtype_) CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, animtype_) -#else -#ifndef CSS_PROP_LIST_EXCLUDE_LOGICAL -#error Must define exactly one of CSS_PROP_LOGICAL, CSS_PROP_LIST_EXCLUDE_LOGICAL and CSS_PROP_LIST_INCLUDE_LOGICAL when capturing properties using CSS_PROP. -#endif -#define CSS_PROP_LOGICAL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, animtype_) /* nothing */ -#endif -#define DEFINED_CSS_PROP_LOGICAL -#endif - #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. -#if defined(CSS_PROP_LIST_EXCLUDE_LOGICAL) || defined(CSS_PROP_LIST_INCLUDE_LOGICAL) -#error Do not define CSS_PROP_LIST_EXCLUDE_LOGICAL or CSS_PROP_LIST_INCLUDE_LOGICAL when not capturing properties using CSS_PROP. -#endif - #define CSS_PROP_(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, animtype_) /* nothing */ -#ifndef CSS_PROP_LOGICAL -#define CSS_PROP_LOGICAL(name_, id_, method_, flags_, pref_, parsevariant_, kwtable_, animtype_) /* nothing */ -#define DEFINED_CSS_PROP_LOGICAL -#endif - #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. @@ -438,17 +381,17 @@ CSS_PROP_( -moz-binding, _moz_binding, CSS_PROP_DOMPROP_PREFIXED(Binding), 0, "", VARIANT_HUO, nullptr, eStyleAnimType_None) // XXX bug 3935 -CSS_PROP_LOGICAL( +CSS_PROP_( block-size, block_size, BlockSize, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -459,68 +402,68 @@ CSS_PROP_SHORTHAND( CSS_PROPERTY_PARSE_FUNCTION, "") CSS_PROP_SHORTHAND( border-block-end, border_block_end, BorderBlockEnd, CSS_PROPERTY_PARSE_FUNCTION, "") -CSS_PROP_LOGICAL( +CSS_PROP_( border-block-end-color, border_block_end_color, BorderBlockEndColor, 0, "", VARIANT_HC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-block-end-style, border_block_end_style, BorderBlockEndStyle, 0, "", VARIANT_HK, kBorderStyleKTable, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-block-end-width, border_block_end_width, BorderBlockEndWidth, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HKL | VARIANT_CALC, kBorderWidthKTable, eStyleAnimType_None) CSS_PROP_SHORTHAND( border-block-start, border_block_start, BorderBlockStart, CSS_PROPERTY_PARSE_FUNCTION, "") -CSS_PROP_LOGICAL( +CSS_PROP_( border-block-start-color, border_block_start_color, BorderBlockStartColor, 0, "", VARIANT_HC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-block-start-style, border_block_start_style, BorderBlockStartStyle, 0, "", VARIANT_HK, kBorderStyleKTable, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-block-start-width, border_block_start_width, BorderBlockStartWidth, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HKL | VARIANT_CALC, kBorderWidthKTable, eStyleAnimType_None) @@ -642,68 +585,68 @@ CSS_PROP_( nullptr, eStyleAnimType_Discrete) CSS_PROP_SHORTHAND( border-inline-end, border_inline_end, BorderInlineEnd, CSS_PROPERTY_PARSE_FUNCTION, "") -CSS_PROP_LOGICAL( +CSS_PROP_( border-inline-end-color, border_inline_end_color, BorderInlineEndColor, 0, "", VARIANT_HC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-inline-end-style, border_inline_end_style, BorderInlineEndStyle, 0, "", VARIANT_HK, kBorderStyleKTable, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-inline-end-width, border_inline_end_width, BorderInlineEndWidth, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HKL | VARIANT_CALC, kBorderWidthKTable, eStyleAnimType_None) CSS_PROP_SHORTHAND( border-inline-start, border_inline_start, BorderInlineStart, CSS_PROPERTY_PARSE_FUNCTION, "") -CSS_PROP_LOGICAL( +CSS_PROP_( border-inline-start-color, border_inline_start_color, BorderInlineStartColor, 0, "", VARIANT_HC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-inline-start-style, border_inline_start_style, BorderInlineStartStyle, 0, "", VARIANT_HK, kBorderStyleKTable, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( border-inline-start-width, border_inline_start_width, BorderInlineStartWidth, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HKL | VARIANT_CALC, kBorderWidthKTable, eStyleAnimType_None) @@ -1766,17 +1709,17 @@ CSS_PROP_( ime-mode, ime_mode, ImeMode, 0, "", VARIANT_HK, kIMEModeKTable, eStyleAnimType_Discrete) -CSS_PROP_LOGICAL( +CSS_PROP_( inline-size, inline_size, InlineSize, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHKLP | VARIANT_CALC, kWidthKTable, eStyleAnimType_None) @@ -1901,26 +1844,26 @@ CSS_PROP_( nullptr, eStyleAnimType_Discrete) CSS_PROP_SHORTHAND( margin, margin, Margin, CSS_PROPERTY_PARSE_FUNCTION, "") -CSS_PROP_LOGICAL( +CSS_PROP_( margin-block-end, margin_block_end, MarginBlockEnd, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( margin-block-start, margin_block_start, MarginBlockStart, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -1928,26 +1871,26 @@ CSS_PROP_( margin-bottom, margin_bottom, MarginBottom, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_Sides_Bottom) -CSS_PROP_LOGICAL( +CSS_PROP_( margin-inline-end, margin_inline_end, MarginInlineEnd, 0, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( margin-inline-start, margin_inline_start, MarginInlineStart, 0, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -2136,17 +2079,17 @@ CSS_PROP_( CSS_PROPERTY_INTERNAL | CSS_PROPERTY_PARSE_INACCESSIBLE, "", VARIANT_HK, kMathVariantKTable, eStyleAnimType_None) #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -CSS_PROP_LOGICAL( +CSS_PROP_( max-block-size, max_block_size, MaxBlockSize, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HLPO | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -2154,17 +2097,17 @@ CSS_PROP_( max-height, max_height, MaxHeight, 0, "", VARIANT_HKLPO | VARIANT_CALC, kWidthKTable, eStyleAnimType_Coord) -CSS_PROP_LOGICAL( +CSS_PROP_( max-inline-size, max_inline_size, MaxInlineSize, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HKLPO | VARIANT_CALC, kWidthKTable, eStyleAnimType_None) @@ -2172,17 +2115,17 @@ CSS_PROP_( max-width, max_width, MaxWidth, 0, "", VARIANT_HKLPO | VARIANT_CALC, kWidthKTable, eStyleAnimType_Coord) -CSS_PROP_LOGICAL( +CSS_PROP_( min-block-size, min_block_size, MinBlockSize, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -2202,17 +2145,17 @@ CSS_PROP_( min-height, min_height, MinHeight, 0, "", VARIANT_AHKLP | VARIANT_CALC, kWidthKTable, eStyleAnimType_Coord) -CSS_PROP_LOGICAL( +CSS_PROP_( min-inline-size, min_inline_size, MinInlineSize, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHKLP | VARIANT_CALC, kWidthKTable, eStyleAnimType_None) @@ -2247,44 +2190,44 @@ CSS_PROP_( object-position, object_position, ObjectPosition, CSS_PROPERTY_PARSE_FUNCTION, "", VARIANT_CALC, kImageLayerPositionKTable, eStyleAnimType_Custom) -CSS_PROP_LOGICAL( +CSS_PROP_( offset-block-end, offset_block_end, OffsetBlockEnd, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( offset-block-start, offset_block_start, OffsetBlockStart, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( offset-inline-end, offset_inline_end, OffsetInlineEnd, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( offset-inline-start, offset_inline_start, OffsetInlineStart, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_AHLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -2458,26 +2401,26 @@ CSS_PROP_( kOverflowSubKTable, eStyleAnimType_Discrete) CSS_PROP_SHORTHAND( padding, padding, Padding, CSS_PROPERTY_PARSE_FUNCTION, "") -CSS_PROP_LOGICAL( +CSS_PROP_( padding-block-end, padding_block_end, PaddingBlockEnd, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( padding-block-start, padding_block_start, PaddingBlockStart, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -2485,26 +2428,26 @@ CSS_PROP_( padding-bottom, padding_bottom, PaddingBottom, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HLP | VARIANT_CALC, nullptr, eStyleAnimType_Sides_Bottom) -CSS_PROP_LOGICAL( +CSS_PROP_( padding-inline-end, padding_inline_end, PaddingInlineEnd, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HLP | VARIANT_CALC, nullptr, eStyleAnimType_None) -CSS_PROP_LOGICAL( +CSS_PROP_( padding-inline-start, padding_inline_start, PaddingInlineStart, CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH, "", VARIANT_HLP | VARIANT_CALC, nullptr, eStyleAnimType_None) @@ -3537,14 +3480,10 @@ CSS_PROP_( eStyleAnimType_Coord) #undef CSS_PROP_ #ifdef DEFINED_CSS_PROP_SHORTHAND #undef CSS_PROP_SHORTHAND #undef DEFINED_CSS_PROP_SHORTHAND #endif -#ifdef DEFINED_CSS_PROP_LOGICAL -#undef CSS_PROP_LOGICAL -#undef DEFINED_CSS_PROP_LOGICAL -#endif #undef CSS_PROP_DOMPROP_PREFIXED
--- a/layout/style/nsCSSPropertyID.h +++ b/layout/style/nsCSSPropertyID.h @@ -17,19 +17,17 @@ To change the list of properties, see nsCSSPropList.h */ enum nsCSSPropertyID { eCSSProperty_UNKNOWN = -1, #define CSS_PROP(name_, id_, ...) eCSSProperty_##id_, - #define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP eCSSProperty_COUNT_no_shorthands, // Make the count continue where it left off: eCSSProperty_COUNT_DUMMY = eCSSProperty_COUNT_no_shorthands - 1, #define CSS_PROP_SHORTHAND(name_, id_, ...) eCSSProperty_##id_, #include "nsCSSPropList.h"
--- a/layout/style/nsCSSProps.cpp +++ b/layout/style/nsCSSProps.cpp @@ -36,42 +36,36 @@ typedef nsCSSProps::KTableEntry KTableEn // By wrapping internal-only properties in this macro, we are not // exposing them in the CSSOM. Since currently it is not necessary to // allow accessing them in that way, it is easier and cheaper to just // do this rather than exposing them conditionally. #define CSS_PROP(name_, id_, method_, flags_, pref_, ...) \ static_assert(!((flags_) & CSS_PROPERTY_ENABLED_MASK) || pref_[0], \ "Internal-only property '" #name_ "' should be wrapped in " \ "#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL"); -#define CSS_PROP_LIST_INCLUDE_LOGICAL #define CSS_PROP_LIST_EXCLUDE_INTERNAL #include "nsCSSPropList.h" #undef CSS_PROP_LIST_EXCLUDE_INTERNAL -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #define CSS_PROP(name_, id_, method_, flags_, pref_, ...) \ static_assert(!((flags_) & CSS_PROPERTY_ENABLED_IN_CHROME) || \ ((flags_) & CSS_PROPERTY_ENABLED_IN_UA_SHEETS), \ "Property '" #name_ "' is enabled in chrome, so it should " \ "also be enabled in UA sheets"); -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP // required to make the symbol external, so that TestCSSPropertyLookup.cpp can link with it extern const char* const kCSSRawProperties[]; // define an array of all CSS properties const char* const kCSSRawProperties[eCSSProperty_COUNT_with_aliases] = { #define CSS_PROP(name_, ...) #name_, -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) #name_, #include "nsCSSPropList.h" #undef CSS_PROP_SHORTHAND #define CSS_PROP_ALIAS(aliasname_, aliasid_, id_, method_, pref_) #aliasname_, #include "nsCSSPropAliasList.h" #undef CSS_PROP_ALIAS }; @@ -184,19 +178,17 @@ nsCSSProps::AddRefTable(void) #define OBSERVE_PROP(pref_, id_) \ if (pref_[0]) { \ Preferences::AddBoolVarCache(&gPropertyEnabled[id_], \ pref_); \ } #define CSS_PROP(name_, id_, method_, flags_, pref_, ...) \ OBSERVE_PROP(pref_, eCSSProperty_##id_) - #define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) \ OBSERVE_PROP(pref_, eCSSProperty_##id_) #include "nsCSSPropList.h" #undef CSS_PROP_SHORTHAND #define CSS_PROP_ALIAS(aliasname_, aliasid_, propid_, aliasmethod_, pref_) \ @@ -237,21 +229,19 @@ nsCSSProps::AddRefTable(void) } // Assert that CSS_PROPERTY_INTERNAL is used on properties in // #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL sections of nsCSSPropList.h // and on no others. static nsCSSPropertyID nonInternalProperties[] = { #define CSS_PROP(name_, id_, ...) eCSSProperty_##id_, #define CSS_PROP_SHORTHAND(name_, id_, ...) eCSSProperty_##id_, - #define CSS_PROP_LIST_INCLUDE_LOGICAL #define CSS_PROP_LIST_EXCLUDE_INTERNAL #include "nsCSSPropList.h" #undef CSS_PROP_LIST_EXCLUDE_INTERNAL - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP_SHORTHAND #undef CSS_PROP }; MOZ_ASSERT(ArrayLength(nonInternalProperties) <= eCSSProperty_COUNT); bool found[eCSSProperty_COUNT]; PodArrayZero(found); for (nsCSSPropertyID p : nonInternalProperties) { @@ -2223,19 +2213,17 @@ nsCSSProps::ValueToKeyword(int32_t aValu return nsCSSKeywords::GetStringValue(keyword); } } /* static */ const KTableEntry* const nsCSSProps::kKeywordTableTable[eCSSProperty_COUNT_no_shorthands] = { #define CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, \ kwtable_, ...) kwtable_, - #define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP }; const nsCString& nsCSSProps::LookupPropertyValue(nsCSSPropertyID aProp, int32_t aValue) { MOZ_ASSERT(aProp >= 0 && aProp < eCSSProperty_COUNT, "property out of range"); @@ -2272,40 +2260,34 @@ bool nsCSSProps::GetColorName(int32_t aP return rv; } const nsStyleAnimType nsCSSProps::kAnimTypeTable[eCSSProperty_COUNT_no_shorthands] = { #define CSS_PROP(name_, id_, method_, flags_, pref_, \ parsevariant_, kwtable_, animtype_) \ animtype_, -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP }; const uint32_t nsCSSProps::kFlagsTable[eCSSProperty_COUNT] = { #define CSS_PROP(name_, id_, method_, flags_, ...) flags_, -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) flags_, #include "nsCSSPropList.h" #undef CSS_PROP_SHORTHAND }; static const nsCSSPropertyID gAllSubpropTable[] = { #define CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND -#define CSS_PROP_LIST_INCLUDE_LOGICAL #define CSS_PROP(name_, id_, ...) eCSSProperty_##id_, #include "nsCSSPropList.h" #undef CSS_PROP -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND eCSSProperty_UNKNOWN }; static const nsCSSPropertyID gAnimationSubpropTable[] = { eCSSProperty_animation_duration, eCSSProperty_animation_timing_function, eCSSProperty_animation_delay, @@ -2749,19 +2731,17 @@ nsCSSProps::gPropertyEnabled[eCSSPropert // value is, it will later be changed in nsCSSProps::AddRefTable(). // If the property has "ENABLED_IN" flags but doesn't have a pref, // it is an internal property which is disabled elsewhere. #define IS_ENABLED_BY_DEFAULT(flags_) \ (!((flags_) & CSS_PROPERTY_ENABLED_MASK)) #define CSS_PROP(name_, id_, method_, flags_, ...) \ IS_ENABLED_BY_DEFAULT(flags_), - #define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #define CSS_PROP_SHORTHAND(name_, id_, method_, flags_, pref_) \ IS_ENABLED_BY_DEFAULT(flags_), #include "nsCSSPropList.h" #undef CSS_PROP_SHORTHAND #define CSS_PROP_ALIAS(aliasname_, aliasid_, propid_, aliasmethod_, pref_) \ @@ -2772,28 +2752,24 @@ nsCSSProps::gPropertyEnabled[eCSSPropert #undef IS_ENABLED_BY_DEFAULT }; #include "../../dom/base/PropertyUseCounterMap.inc" /* static */ const UseCounter nsCSSProps::gPropertyUseCounter[eCSSProperty_COUNT_no_shorthands] = { #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) privatename_ - #define CSS_PROP_LIST_INCLUDE_LOGICAL #define CSS_PROP(name_, id_, method_, ...) \ static_cast<UseCounter>(USE_COUNTER_FOR_CSS_PROPERTY_##method_), #include "nsCSSPropList.h" #undef CSS_PROP - #undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP_PUBLIC_OR_PRIVATE }; const uint32_t nsCSSProps::kParserVariantTable[eCSSProperty_COUNT_no_shorthands] = { #define CSS_PROP(name_, id_, method_, flags_, pref_, parsevariant_, ...) \ parsevariant_, -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP }; #include "nsCSSPropsGenerated.inc"
--- a/layout/style/nsComputedDOMStyle.cpp +++ b/layout/style/nsComputedDOMStyle.cpp @@ -7178,31 +7178,27 @@ nsComputedDOMStyle::RegisterPrefChangeCa // entries iterated in nsComputedDOMStylePropertyList.h. ComputedStyleMap* data = GetComputedStyleMap(); #define REGISTER_CALLBACK(pref_) \ if (pref_[0]) { \ Preferences::RegisterCallback(MarkComputedStyleMapDirty, pref_, data); \ } #define CSS_PROP(prop_, id_, method_, flags_, pref_, ...) \ REGISTER_CALLBACK(pref_) -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #undef REGISTER_CALLBACK } /* static */ void nsComputedDOMStyle::UnregisterPrefChangeCallbacks() { ComputedStyleMap* data = GetComputedStyleMap(); #define UNREGISTER_CALLBACK(pref_) \ if (pref_[0]) { \ Preferences::UnregisterCallback(MarkComputedStyleMapDirty, pref_, data); \ } #define CSS_PROP(prop_, id_, method_, flags_, pref_, ...) \ UNREGISTER_CALLBACK(pref_) -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #undef UNREGISTER_CALLBACK }
--- a/layout/style/nsDOMCSSDeclaration.h +++ b/layout/style/nsDOMCSSDeclaration.h @@ -93,27 +93,25 @@ public: void \ Set##method_(const nsAString& aValue, nsIPrincipal* aSubjectPrincipal, \ mozilla::ErrorResult& rv) \ { \ rv = SetPropertyValue(eCSSProperty_##id_, aValue, aSubjectPrincipal); \ } #define CSS_PROP_LIST_EXCLUDE_INTERNAL -#define CSS_PROP_LIST_INCLUDE_LOGICAL #define CSS_PROP_SHORTHAND(name_, id_, method_, ...) CSS_PROP(name_, id_, method_, ) #include "nsCSSPropList.h" #define CSS_PROP_ALIAS(aliasname_, aliasid_, propid_, aliasmethod_, ...) \ CSS_PROP(X, propid_, aliasmethod_, ) #include "nsCSSPropAliasList.h" #undef CSS_PROP_ALIAS #undef CSS_PROP_SHORTHAND -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP_LIST_EXCLUDE_INTERNAL #undef CSS_PROP #undef CSS_PROP_PUBLIC_OR_PRIVATE virtual void IndexedGetter(uint32_t aIndex, bool& aFound, nsAString& aPropName) override; virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
--- a/layout/style/test/ListCSSProperties.cpp +++ b/layout/style/test/ListCSSProperties.cpp @@ -16,40 +16,36 @@ struct PropertyInfo { const char *pref; }; const PropertyInfo gLonghandProperties[] = { #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) publicname_ #define CSS_PROP(name_, id_, method_, flags_, pref_, ...) \ { #name_, #method_, pref_ }, -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #undef CSS_PROP_PUBLIC_OR_PRIVATE }; /* * These are the properties for which domName in the above list should * be used. They're in the same order as the above list, with some * items skipped. */ const char* gLonghandPropertiesWithDOMProp[] = { #define CSS_PROP_LIST_EXCLUDE_INTERNAL #define CSS_PROP(name_, ...) #name_, -#define CSS_PROP_LIST_INCLUDE_LOGICAL #include "nsCSSPropList.h" -#undef CSS_PROP_LIST_INCLUDE_LOGICAL #undef CSS_PROP #undef CSS_PROP_LIST_EXCLUDE_INTERNAL }; const PropertyInfo gShorthandProperties[] = { #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) publicname_