blob: 8bbe5782c000d072ebb44a54e255a2238fae63bd [file] [log] [blame]
{
// This file specifies fields in ComputedStyle that we would like to
// generate, but are not CSS properties.
parameters: {
// If true, we do not include this field in ComputedStyleBase::InheritFrom
// and ComputedStyleBase::CopyNonInheritedFromCached.
custom_copy: {
default: false,
},
// If true, we do not include this field in ComputedStyleBase::InheritedEqual
// and ComputedStyleBase::NonInheritedEqual.
custom_compare: {
default: false,
},
// Controls whether the field has the "mutable" C++ keyword.
mutable: {
default: false,
},
// The rest is the same as css_properties.json5, but the only relevant ones in
// this file are:
// name, field_template, include_paths, default_value, type_name, keyword,
// inherited
},
data: [
{
name: "IsLink",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
{
name: "BorderLeftColorIsCurrentColor",
field_template: "primitive",
default_value: "true",
type_name: "bool",
field_group: "surround",
},
{
name: "BorderRightColorIsCurrentColor",
field_template: "primitive",
default_value: "true",
type_name: "bool",
field_group: "surround",
},
{
name: "BorderTopColorIsCurrentColor",
field_template: "primitive",
default_value: "true",
type_name: "bool",
field_group: "surround",
},
{
name: "BorderBottomColorIsCurrentColor",
field_template: "primitive",
default_value: "true",
type_name: "bool",
field_group: "surround",
},
{
name: "Display",
field_template: "keyword",
type_name: "EDisplay",
keywords: [
"inline", "block", "list-item", "inline-block", "table", "inline-table",
"table-row-group", "table-header-group", "table-footer-group",
"table-row", "table-column-group", "table-column", "table-cell",
"table-caption", "-webkit-box", "-webkit-inline-box", "flex",
"inline-flex", "grid", "inline-grid", "contents", "flow-root", "none",
"layout-custom", "inline-layout-custom", "math", "inline-math"
],
default_value: "inline",
},
{
name: "DisplayLayoutCustomName",
field_template: "external",
field_group: "*",
type_name: "AtomicString",
include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"],
default_value: "g_null_atom",
},
{
name: "DisplayLayoutCustomParentName",
field_template: "external",
field_group: "*",
type_name: "AtomicString",
include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"],
default_value: "g_null_atom",
},
{
name: "OriginalDisplay",
field_template: "keyword",
type_name: "EDisplay",
keywords: [
"inline", "block", "list-item", "inline-block", "table", "inline-table",
"table-row-group", "table-header-group", "table-footer-group",
"table-row", "table-column-group", "table-column", "table-cell",
"table-caption", "-webkit-box", "-webkit-inline-box", "flex",
"inline-flex", "grid", "inline-grid", "contents", "flow-root", "none",
"layout-custom", "inline-layout-custom", "math", "inline-math"
],
default_value: "inline",
},
{
name: "InsideLink",
field_template: "keyword",
default_value: "not-inside-link",
keywords: ["not-inside-link", "inside-unvisited-link", "inside-visited-link"],
inherited: true,
},
// Whether we're inside an NG block fragmentation context.
{
name: "InsideNGFragmentationContext",
field_template: "primitive",
default_value: "false",
type_name: "bool",
inherited: true,
},
// Style has content property with attr() values.
{
name: "HasAttrContent",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
// Style has applied a non-inherited -internal-light-dark() value from a UA
// stylesheet. Since such values have a dependency on the used color-scheme,
// we cannot use the MatchedPropertyCache when this flag is set.
{
name: "HasNonInheritedLightDarkValue",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
// Whether this style is affected by these pseudo-classes.
{
name: "AffectedByFocusWithin",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
{
name: "AffectedByHover",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
{
name: "AffectedByActive",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
{
name: "AffectedByDrag",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
// A non-inherited property references a variable or @apply is used
{
name: "HasVariableReferenceFromNonInheritedProperty",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
},
// Explicitly inherits a non-inherited property
{
name: "HasExplicitlyInheritedProperties",
field_template: "monotonic_flag",
default_value: "false",
custom_copy: true,
custom_compare: true,
mutable: true,
},
// These are set if we used viewport or rem units when resolving a length.
// FIXME: HasViewportUnits should be a monotonic_flag.
{
name: "HasViewportUnits",
field_template: "primitive",
default_value: "false",
type_name: "bool",
custom_compare: true,
},
{
name: "HasRemUnits",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "HasEmUnits",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
// Whether we used a length unit that must be resolved against the measure
// of a certain glyph in some font.
{
name: "HasGlyphRelativeUnits",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
// These properties only have generated storage, and their methods are handwritten in ComputedStyle.
{
name: "StyleType",
field_template: "primitive",
field_size: 6,
default_value: "PseudoId::kPseudoIdNone",
type_name: "unsigned",
custom_copy: true,
custom_compare: true,
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "PseudoBits",
field_template: "primitive",
field_size: 8,
default_value: "kPseudoIdNone",
type_name: "unsigned",
custom_copy: true,
custom_compare: true,
computed_style_custom_functions: ["getter", "setter"],
},
// True if 'underline solid' is the only text decoration on this element.
{
name: "HasSimpleUnderline",
field_template: "primitive",
default_value: "false",
type_name: "bool",
inherited: true,
computed_style_custom_functions: ["getter", "setter"],
},
// FIXME: vertical align is actually a CSS property, but since we don't support union fields
// which can be either a keyword or Length, this is specified in this file for now. Remove this
// once we can support union fields.
{
name: "VerticalAlign",
field_template: "primitive",
field_size: 4,
type_name: "unsigned",
default_value: "static_cast<unsigned>(EVerticalAlign::kBaseline)",
computed_style_custom_functions: ["initial", "getter", "setter"],
},
{
name: "VerticalAlignLength",
field_template: "external",
default_value: "Length()",
include_paths: ["third_party/blink/renderer/platform/geometry/length.h"],
type_name: "Length",
field_group: "box",
getter: "GetVerticalAlignLength",
computed_style_custom_functions: ["setter"],
},
{
name: "border-image",
field_template: "external",
include_paths: ["third_party/blink/renderer/core/style/nine_piece_image.h"],
type_name: "NinePieceImage",
field_group: "surround",
default_value: "NinePieceImage()",
},
{
name: "Background",
field_template: "external",
include_paths: ["third_party/blink/renderer/core/style/fill_layer.h"],
type_name: "FillLayer",
default_value: "FillLayer(EFillLayerType::kBackground, true)",
field_group: "background",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "HasAutoClip",
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "visual",
computed_style_custom_functions: ["setter"],
},
{
name: "HasAutoZIndex",
field_template: "primitive",
type_name: "bool",
field_group: "box",
default_value: "true",
computed_style_custom_functions: ["setter"],
},
{
name: "font",
field_template: "external",
include_paths: ["third_party/blink/renderer/platform/fonts/font.h"],
type_name: "Font",
field_group: "inherited->font",
inherited: true,
default_value: "Font()",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "TextAutosizingMultiplier",
inherited: true,
field_template: "primitive",
type_name: "float",
field_group: "inherited",
default_value: "1.0",
computed_style_custom_functions: ["setter"],
},
{
name: "CursorData",
inherited: true,
field_template: "external",
type_name: "CursorList",
include_paths: ["third_party/blink/renderer/core/style/cursor_list.h"],
default_value: "nullptr",
wrapper_pointer_name: "Persistent",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "EffectiveZoom",
inherited: true,
field_template: "primitive",
type_name: "float",
default_value: "1.0f",
field_group: "*",
computed_style_custom_functions: ["setter"],
},
{
name: "TextStrokeColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "TextFillColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "TextEmphasisColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "CaretColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "false",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "CaretColorIsAuto",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InternalVisitedTextStrokeColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InternalVisitedTextFillColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InternalVisitedTextEmphasisColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InternalVisitedCaretColorIsCurrentColor",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "false",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InternalVisitedCaretColorIsAuto",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "true",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "TextEmphasisFill",
inherited: true,
field_template: "keyword",
type_name: "TextEmphasisFill",
default_value: "filled",
keywords: ["filled", "open"],
field_group: "*",
},
{
name: "TextEmphasisMark",
inherited: true,
field_template: "keyword",
type_name: "TextEmphasisMark",
default_value: "none",
keywords: ["none", "auto", "dot", "circle", "double-circle", "triangle", "sesame", "custom"],
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "TextIndentLine",
inherited: true,
field_template: "keyword",
type_name: "TextIndentLine",
keywords: ["first-line", "each-line"],
default_value: "first-line",
field_group: "*",
},
{
name: "TextIndentType",
inherited: true,
field_template: "keyword",
type_name: "TextIndentType",
keywords: ["normal", "hanging"],
default_value: "normal",
field_group: "*",
},
// Though will-change is not itself an inherited property, the intent
// expressed by 'will-change: contents' includes descendants.
{
name: "SubtreeWillChangeContents",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "false",
field_group: "*",
},
{
name: "SelfOrAncestorHasDirAutoAttribute",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "false",
field_group: "*",
},
// Though position: sticky is not itself an inherited property, being a
// descendent of a sticky element changes some document lifecycle logic.
{
name: "SubtreeIsSticky",
inherited: true,
field_template: "primitive",
type_name: "bool",
default_value: "false",
field_group: "*",
},
{
name: "HyphenationLimitBefore",
inherited: true,
field_template: "primitive",
type_name: "short",
default_value: "-1",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "HyphenationLimitAfter",
inherited: true,
field_template: "primitive",
type_name: "short",
default_value: "-1",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "HyphenationLimitLines",
inherited: true,
field_template: "primitive",
type_name: "short",
default_value: "-1",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "EffectiveTouchAction",
inherited: true,
field_template: "primitive",
include_paths: ["third_party/blink/renderer/platform/graphics/touch_action.h"],
type_name: "TouchAction",
field_size: 6,
default_value: "TouchAction::kAuto",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "EffectiveAppearance",
field_group: "*",
field_size: 5,
field_template: "primitive",
default_value: "kNoControlPart",
type_name: "ControlPart",
},
{
name: "TextEmphasisCustomMark",
inherited: true,
field_template: "external",
type_name: "AtomicString",
include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"],
default_value: "AtomicString()",
field_group: "*",
},
{
name: "AppliedTextDecorations",
inherited: true,
field_template: "external",
type_name: "AppliedTextDecorationList",
include_paths: ["third_party/blink/renderer/core/style/applied_text_decoration_list.h"],
default_value: "nullptr",
wrapper_pointer_name: "scoped_refptr",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InheritedVariables",
inherited: true,
field_template: "external",
type_name: "StyleInheritedVariables",
include_paths: ["third_party/blink/renderer/core/style/style_inherited_variables.h"],
default_value: "nullptr",
wrapper_pointer_name: "scoped_refptr",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "InitialData",
inherited: true,
field_template: "external",
type_name: "StyleInitialData",
include_paths: ["third_party/blink/renderer/core/style/style_initial_data.h"],
default_value: "nullptr",
wrapper_pointer_name: "scoped_refptr",
field_group: "*",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "Mask",
field_template: "external",
type_name: "FillLayer",
field_group: "*",
default_value: "FillLayer(EFillLayerType::kMask, true)",
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "CounterDirectives",
field_template: "external",
type_name: "CounterDirectiveMap",
field_group: "*",
default_value: "nullptr",
wrapper_pointer_name: "std::unique_ptr",
include_paths: ["third_party/blink/renderer/core/style/counter_directives.h"],
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "Animations",
field_template: "external",
type_name: "CSSAnimationData",
field_group: "*",
default_value: "nullptr",
wrapper_pointer_name: "std::unique_ptr",
include_paths: ["third_party/blink/renderer/core/animation/css/css_animation_data.h"],
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "Transitions",
field_template: "external",
type_name: "CSSTransitionData",
field_group: "*",
default_value: "nullptr",
wrapper_pointer_name: "std::unique_ptr",
include_paths: ["third_party/blink/renderer/core/animation/css/css_transition_data.h"],
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "MaskBoxImage",
field_template: "external",
type_name: "NinePieceImage",
field_group: "*",
default_value: "NinePieceImage::MaskDefaults()",
include_paths: ["third_party/blink/renderer/core/style/nine_piece_image.h"],
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "PageSize",
field_template: "external",
type_name: "FloatSize",
field_group: "*",
default_value: "FloatSize()",
include_paths: ["third_party/blink/renderer/platform/geometry/float_size.h"],
},
{
name: "OutlineColorIsCurrentColor",
field_template: "primitive",
default_value: "true",
type_name: "bool",
field_group: "*",
},
{
name: "OutlineStyleIsAuto",
field_template: "primitive",
type_name: "bool",
default_value: "false",
field_group: "*",
},
{
name: "CallbackSelectors",
field_template: "external",
type_name: "Vector<String>",
field_group: "*",
default_value: "Vector<String>()",
include_paths: ["third_party/blink/renderer/platform/wtf/vector.h",
"third_party/blink/renderer/platform/wtf/text/wtf_string.h"],
computed_style_custom_functions: ["setter"],
},
{
name: "PaintImages",
field_template: "external",
type_name: "PaintImages",
field_group: "*",
default_value: "nullptr",
wrapper_pointer_name: "std::unique_ptr",
custom_compare: true,
include_paths: ["third_party/blink/renderer/core/style/paint_images.h"],
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "NonInheritedVariables",
field_template: "external",
type_name: "StyleNonInheritedVariables",
field_group: "*",
default_value: "nullptr",
wrapper_pointer_name: "std::unique_ptr",
include_paths: ["third_party/blink/renderer/core/style/style_non_inherited_variables.h"],
computed_style_custom_functions: ["getter", "setter"],
},
{
name: "PageSizeType",
field_template: "primitive",
field_group: "*",
type_name: "PageSizeType",
field_size: 2,
default_value: "PageSizeType::kAuto",
include_paths: ["third_party/blink/public/common/css/page_size_type.h"],
},
{
name: "HasCurrentOpacityAnimation",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
{
name: "HasCurrentTransformAnimation",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
{
name: "HasCurrentFilterAnimation",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
{
name: "HasCurrentBackdropFilterAnimation",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
{
name: "IsRunningOpacityAnimationOnCompositor",
field_template: "primitive",
type_name: "bool",
field_group: "*",
// This field just affects how changes of animatable values are handled,
// so it doesn't contribute to style differences.
custom_compare: true,
default_value: "false",
},
{
name: "IsRunningTransformAnimationOnCompositor",
field_template: "primitive",
type_name: "bool",
field_group: "*",
// This field just affects how changes of animatable values are handled,
// so it doesn't contribute to style differences.
custom_compare: true,
default_value: "false",
},
{
name: "IsRunningFilterAnimationOnCompositor",
field_template: "primitive",
type_name: "bool",
field_group: "*",
// This field just affects how changes of animatable values are handled,
// so it doesn't contribute to style differences.
custom_compare: true,
default_value: "false",
},
{
name: "IsRunningBackdropFilterAnimationOnCompositor",
field_template: "primitive",
type_name: "bool",
field_group: "*",
// This field just affects how changes of animatable values are handled,
// so it doesn't contribute to style differences.
custom_compare: true,
default_value: "false",
},
// A stacking context is painted atomically and defines a stacking order,
// whereas a containing stacking context defines in which order the stacking
// contexts below are painted.
// See CSS 2.1, Appendix E (https://www.w3.org/TR/CSS21/zindex.html) for more
// details.
{
name: "IsStackingContext",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
// Plugins require accelerated compositing for reasons external to blink.
// In which case, we need to update the ComputedStyle on the
// LayoutEmbeddedObject, so store this bit so that the style actually changes
// when the plugin becomes composited.
{
name: "RequiresAcceleratedCompositingForExternalReasons",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
// Style adjustment for appearance is disabled when certain properties are set.
{
name: "HasAuthorBackground",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
{
name: "HasAuthorBorder",
field_template: "primitive",
type_name: "bool",
field_group: "*",
default_value: "false",
},
{
name: "WillChangeProperties",
field_template: "external",
type_name: "Vector<CSSPropertyID>",
field_group: "*->will-change",
default_value: "Vector<CSSPropertyID>()",
include_paths: ["third_party/blink/renderer/platform/wtf/vector.h",
"third_party/blink/renderer/core/css/css_property_names.h"],
},
{
name: "WillChangeContents",
field_template: "primitive",
type_name: "bool",
field_group: "*->will-change",
default_value: "false",
},
{
name: "WillChangeScrollPosition",
field_template: "primitive",
type_name: "bool",
field_group: "*->will-change",
default_value: "false",
},
{
name: "ColumnRuleColorIsCurrentColor",
field_template: "primitive",
default_value: "true",
type_name: "bool",
field_group: "*->multi-col",
},
{
name: "HasAutoColumnWidth",
field_template: "primitive",
type_name: "bool",
field_group: "*->multi-col",
default_value: "true",
computed_style_custom_functions: ["setter"],
},
{
name: "HasAutoColumnCount",
field_template: "primitive",
type_name: "bool",
field_group: "*->multi-col",
default_value: "true",
computed_style_custom_functions: ["setter"],
},
{
name: "NamedGridColumnLines",
field_template: "external",
type_name: "NamedGridLinesMap",
field_group: "*->grid",
default_value: "NamedGridLinesMap()",
include_paths: ["third_party/blink/renderer/core/style/named_grid_lines_map.h"],
},
{
name: "NamedGridRowLines",
field_template: "external",
type_name: "NamedGridLinesMap",
field_group: "*->grid",
default_value: "NamedGridLinesMap()",
include_paths: ["third_party/blink/renderer/core/style/named_grid_lines_map.h"],
},
{
name: "OrderedNamedGridColumnLines",
field_template: "external",
type_name: "OrderedNamedGridLines",
field_group: "*->grid",
default_value: "OrderedNamedGridLines()",
include_paths: ["third_party/blink/renderer/core/style/ordered_named_grid_lines.h"],
},
{
name: "OrderedNamedGridRowLines",
field_template: "external",
type_name: "OrderedNamedGridLines",
field_group: "*->grid",
default_value: "OrderedNamedGridLines()",
include_paths: ["third_party/blink/renderer/core/style/ordered_named_grid_lines.h"],
},
{
name: "AutoRepeatNamedGridColumnLines",
field_template: "external",
type_name: "NamedGridLinesMap",
field_group: "*->grid",
default_value: "NamedGridLinesMap()",
include_paths: ["third_party/blink/renderer/core/style/named_grid_lines_map.h"],
},
{
name: "AutoRepeatNamedGridRowLines",
field_template: "external",
type_name: "NamedGridLinesMap",
field_group: "*->grid",
default_value: "NamedGridLinesMap()",
include_paths: ["third_party/blink/renderer/core/style/named_grid_lines_map.h"],
},
{
name: "AutoRepeatOrderedNamedGridColumnLines",
field_template: "external",
type_name: "OrderedNamedGridLines",
field_group: "*->grid",
default_value: "OrderedNamedGridLines()",
include_paths: ["third_party/blink/renderer/core/style/ordered_named_grid_lines.h"],
},
{
name: "AutoRepeatOrderedNamedGridRowLines",
field_template: "external",
type_name: "OrderedNamedGridLines",
field_group: "*->grid",
default_value: "OrderedNamedGridLines()",
include_paths: ["third_party/blink/renderer/core/style/ordered_named_grid_lines.h"],
},
{
name: "ImplicitNamedGridColumnLines",
field_template: "external",
type_name: "NamedGridLinesMap",
field_group: "*->grid",
default_value: "NamedGridLinesMap()",
include_paths: ["third_party/blink/renderer/core/style/named_grid_lines_map.h"],
},
{
name: "ImplicitNamedGridRowLines",
field_template: "external",
type_name: "NamedGridLinesMap",
field_group: "*->grid",
default_value: "NamedGridLinesMap()",
include_paths: ["third_party/blink/renderer/core/style/named_grid_lines_map.h"],
},
{
name: "NamedGridArea",
field_template: "external",
type_name: "NamedGridAreaMap",
field_group: "*->grid",
default_value: "NamedGridAreaMap()",
include_paths: ["third_party/blink/renderer/core/style/grid_area.h"]
},
{
name: "NamedGridAreaRowCount",
field_template: "primitive",
type_name: "size_t",
field_group: "*->grid",
default_value: "0",
},
{
name: "NamedGridAreaColumnCount",
field_template: "primitive",
type_name: "size_t",
field_group: "*->grid",
default_value: "0",
},
{
name: "GridAutoRepeatColumns",
field_template: "external",
type_name: "Vector<GridTrackSize>",
field_group: "*->grid",
default_value: "Vector<GridTrackSize>()",
include_paths: ["third_party/blink/renderer/platform/wtf/vector.h",
"third_party/blink/renderer/core/style/grid_track_size.h"],
},
{
name: "GridAutoRepeatRows",
field_template: "external",
type_name: "Vector<GridTrackSize>",
field_group: "*->grid",
default_value: "Vector<GridTrackSize>()",
include_paths: ["third_party/blink/renderer/platform/wtf/vector.h",
"third_party/blink/renderer/core/style/grid_track_size.h"],
},
{
name: "GridAutoRepeatColumnsInsertionPoint",
field_template: "primitive",
type_name: "size_t",
field_group: "*->grid",
default_value: "0",
},
{
name: "GridAutoRepeatRowsInsertionPoint",
field_template: "primitive",
type_name: "size_t",
field_group: "*->grid",
default_value: "0",
},
{
name: "GridAutoRepeatColumnsType",
field_template: "keyword",
type_name: "AutoRepeatType",
field_group: "*->grid",
keywords: ["no-auto-repeat", "auto-fill", "auto-fit"],
default_value: "no-auto-repeat",
},
{
name: "GridAutoRepeatRowsType",
field_template: "keyword",
type_name: "AutoRepeatType",
field_group: "*->grid",
keywords: ["no-auto-repeat", "auto-fill", "auto-fit"],
default_value: "no-auto-repeat",
},
// We only create and store ComputedStyle objects for elements in
// display:none subtrees if we need it for e.g. getComputedStyle. This flag
// is true for such ComputedStyle objects.
{
name: "IsEnsuredInDisplayNone",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "MayHaveMargin",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "MayHavePadding",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "DarkColorScheme",
field_template: "primitive",
type_name: "bool",
default_value: "false",
custom_compare: true,
inherited: true,
},
{
name: "IsInBlockifyingDisplay",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "IsFlexOrGridOrCustomItem",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "IsFlexOrGridItem",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
},
{
name: "ListStyleType",
inherited: true,
field_template: "keyword",
type_name: "EListStyleType",
keywords: [
"disc", "circle", "square", "decimal", "decimal-leading-zero",
"arabic-indic", "bengali", "cambodian", "khmer", "devanagari",
"gujarati", "gurmukhi", "kannada", "lao", "malayalam", "mongolian",
"myanmar", "oriya", "persian", "urdu", "telugu", "tibetan", "thai",
"lower-roman", "upper-roman", "lower-greek", "lower-alpha",
"lower-latin", "upper-alpha", "upper-latin", "cjk-earthly-branch",
"cjk-heavenly-stem", "ethiopic-halehame", "ethiopic-halehame-am",
"ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "hangul",
"hangul-consonant", "korean-hangul-formal", "korean-hanja-formal",
"korean-hanja-informal", "hebrew", "armenian", "lower-armenian",
"upper-armenian", "georgian", "cjk-ideographic", "simp-chinese-formal",
"simp-chinese-informal", "trad-chinese-formal", "trad-chinese-informal",
"hiragana", "katakana", "hiragana-iroha", "katakana-iroha", "none",
"string",
],
default_value: "disc",
},
{
name: "ListStyleStringValue",
inherited: true,
field_template: "external",
field_group: "*",
type_name: "AtomicString",
include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"],
default_value: "g_null_atom",
},
{
name: "IsEnsuredOutsideFlatTree",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
inherited: true,
},
{
name: "IsInsideListElement",
field_template: "monotonic_flag",
default_value: "false",
custom_compare: true,
inherited: true,
},
// This field disables the 'overflow' check in |LayoutBlock::
// InlineBlockBaseline()|. For 'inline-block', CSS says that the baseline
// is the bottom margin edge if 'overflow' is not visible. But some
// elements want to ignore this condition.
{
name: "ShouldIgnoreOverflowPropertyForInlineBlockBaseline",
field_template: "monotonic_flag",
default_value: "false",
inherited: false,
},
{
name: "MathBaseline",
field_template: "external",
default_value: "Length()",
include_paths: ["third_party/blink/renderer/platform/geometry/length.h"],
type_name: "Length",
field_group: "*",
getter: "GetMathBaseline",
},
{
name: "MathFractionBarThickness",
field_template: "external",
default_value: "Length()",
include_paths: ["third_party/blink/renderer/platform/geometry/length.h"],
type_name: "Length",
field_group: "*",
getter: "GetMathFractionBarThickness",
},
],
}