| { |
| // 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, |
| }, |
| |
| // The rest is the same as CSSProperties.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: "OriginalDisplay", |
| field_template: "keyword", |
| default_value: "inline", |
| 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", |
| ], |
| }, |
| { |
| name: "InsideLink", |
| field_template: "keyword", |
| default_value: "not-inside-link", |
| keywords: ["not-inside-link", "inside-unvisited-link", "inside-visited-link"], |
| inherited: true, |
| }, |
| // Style can not be shared. |
| { |
| name: "Unique", |
| 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, |
| }, |
| // These are set if we used viewport or rem units when resolving a length. |
| // TODO(shend): 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, |
| }, |
| // These properties only have generated storage, and their methods are handwritten in ComputedStyle. |
| // TODO(shend): Remove these fields and delete the 'storage_only' template. |
| { |
| name: "EmptyState", |
| field_template: "storage_only", |
| field_size: 1, |
| default_value: "false", |
| type_name: "bool", |
| custom_copy: true, |
| custom_compare: true, |
| }, |
| { |
| name: "StyleType", |
| field_template: "storage_only", |
| field_size: 6, |
| default_value: "0", |
| type_name: "PseudoId", |
| custom_copy: true, |
| custom_compare: true, |
| }, |
| { |
| name: "PseudoBits", |
| field_template: "storage_only", |
| field_size: 8, |
| default_value: "kPseudoIdNone", |
| type_name: "PseudoId", |
| custom_copy: true, |
| custom_compare: true, |
| }, |
| // True if 'underline solid' is the only text decoration on this element. |
| { |
| name: "HasSimpleUnderline", |
| field_template: "storage_only", |
| field_size: 1, |
| default_value: "false", |
| type_name: "bool", |
| inherited: true, |
| }, |
| // TODO(shend): 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: "storage_only", |
| field_size: 4, |
| default_value: "EVerticalAlign::kBaseline", |
| type_name: "EVerticalAlign", |
| }, |
| { |
| name: "VerticalAlignLength", |
| field_template: "storage_only", |
| default_value: "Length()", |
| include_paths: ["platform/Length.h"], |
| type_name: "Length", |
| field_group: "box", |
| }, |
| { |
| name: "border-image", |
| field_template: "external", |
| include_paths: ["core/style/NinePieceImage.h"], |
| type_name: "NinePieceImage", |
| field_group: "surround", |
| default_value: "NinePieceImage()", |
| }, |
| { |
| name: "Background", |
| field_template: "storage_only", |
| include_paths: ["core/style/FillLayer.h"], |
| type_name: "FillLayer", |
| default_value: "FillLayer(kBackgroundFillLayer, true)", |
| field_group: "background", |
| }, |
| { |
| name: "BackgroundColor", |
| field_template: "storage_only", |
| include_paths: ["core/css/StyleColor.h"], |
| type_name: "StyleColor", |
| default_value: "Color::kTransparent", |
| field_group: "background", |
| }, |
| { |
| name: "TextDecoration", |
| field_template: "storage_only", |
| type_name: "TextDecoration", |
| field_size: 4, |
| default_value: "TextDecoration::kNone", |
| field_group: "visual", |
| }, |
| { |
| name: "HasAutoClip", |
| field_template: "storage_only", |
| type_name: "bool", |
| field_size: 1, |
| default_value: "true", |
| field_group: "visual", |
| }, |
| { |
| name: "HasAutoZIndex", |
| field_template: "storage_only", |
| type_name: "bool", |
| field_size: 1, |
| field_group: "box", |
| default_value: "true", |
| }, |
| { |
| name: "font", |
| field_template: "storage_only", |
| include_paths: ["platform/fonts/Font.h"], |
| type_name: "Font", |
| field_group: "inherited", |
| inherited: true, |
| default_value: "Font()", |
| }, |
| { |
| name: "color", |
| inherited: true, |
| field_template: "storage_only", |
| include_paths: ["platform/graphics/Color.h"], |
| type_name: "Color", |
| field_group: "inherited", |
| default_value: "Color::kBlack", |
| }, |
| { |
| name: "VisitedLinkColor", |
| inherited: true, |
| field_template: "external", |
| include_paths: ["platform/graphics/Color.h"], |
| type_name: "Color", |
| field_group: "inherited", |
| default_value: "Color::kBlack", |
| }, |
| { |
| name: "TextAutosizingMultiplier", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "float", |
| field_group: "inherited", |
| default_value: "1.0", |
| }, |
| { |
| name: "VisitedLinkTextStrokeColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "Color", |
| include_paths: ["platform/graphics/Color.h"], |
| default_value: "Color()", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkTextFillColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "Color", |
| include_paths: ["platform/graphics/Color.h"], |
| default_value: "Color()", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkTextEmphasisColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "Color", |
| include_paths: ["platform/graphics/Color.h"], |
| default_value: "Color()", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkCaretColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "Color", |
| include_paths: ["platform/graphics/Color.h"], |
| default_value: "Color()", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "CursorData", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "CursorList", |
| include_paths: ["core/style/CursorList.h"], |
| default_value: "nullptr", |
| wrapper_pointer_name: "Persistent", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "EffectiveZoom", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "float", |
| default_value: "1.0f", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextStrokeColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextFillColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextEmphasisColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "CaretColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "false", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "CaretColorIsAuto", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkTextStrokeColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkTextFillColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkTextEmphasisColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkCaretColorIsCurrentColor", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "false", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "VisitedLinkCaretColorIsAuto", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "true", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextEmphasisFill", |
| inherited: true, |
| field_template: "keyword", |
| type_name: "TextEmphasisFill", |
| default_value: "filled", |
| keywords: ["filled", "open"], |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextEmphasisMark", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "TextEmphasisMark", |
| default_value: "TextEmphasisMark::kNone", |
| field_size: 3, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextIndentLine", |
| inherited: true, |
| field_template: "keyword", |
| type_name: "TextIndentLine", |
| keywords: ["first-line", "each-line"], |
| default_value: "first-line", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextIndentType", |
| inherited: true, |
| field_template: "keyword", |
| type_name: "TextIndentType", |
| keywords: ["normal", "hanging"], |
| default_value: "normal", |
| field_group: "rare-inherited", |
| }, |
| // Though will-change is not itself an inherited property, the intent |
| // expressed by 'will-change: contents' includes descendants. |
| { |
| name: "SubtreeWillChangeContents", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "false", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "SelfOrAncestorHasDirAutoAttribute", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "false", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "RespectImageOrientation", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "bool", |
| default_value: "false", |
| field_size: 1, |
| field_group: "rare-inherited", |
| }, |
| // 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_size: 1, |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "HyphenationLimitBefore", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "short", |
| default_value: "-1", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "HyphenationLimitAfter", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "short", |
| default_value: "-1", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "HyphenationLimitLines", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "short", |
| default_value: "-1", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "TextEmphasisCustomMark", |
| inherited: true, |
| field_template: "external", |
| type_name: "AtomicString", |
| include_paths: ["platform/wtf/text/AtomicString.h"], |
| default_value: "AtomicString()", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "AppliedTextDecorations", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "AppliedTextDecorationList", |
| include_paths: ["core/style/AppliedTextDecorationList.h"], |
| default_value: "nullptr", |
| wrapper_pointer_name: "RefPtr", |
| field_group: "rare-inherited", |
| }, |
| { |
| name: "Variables", |
| inherited: true, |
| field_template: "storage_only", |
| type_name: "StyleInheritedVariables", |
| include_paths: ["core/style/StyleInheritedVariables.h"], |
| default_value: "nullptr", |
| wrapper_pointer_name: "RefPtr", |
| field_group: "rare-inherited", |
| }, |
| ], |
| } |