{
  // This file specifies the fields we want to diff in the various diff functions 
  // in ComputedStyle.

  parameters: {
    // The name parameter represents the name of the function to be created.

    fields_to_diff: {
      default: [],
    },

    // A list of methods to diff (these can be public getters of fields or 
    // functions that use fields to determine a value).
    // Each entry is expressed as a dict of two fields:
    // 1. method: the method to be diffed
    // 2. field_dependencies: lists the properties this method depends on.
    methods_to_diff: {
      default: [],
    },

    // A list of predicates that have the diff logic built into them and are only
    // called by the diff functions in ComputedStyle.
    // Each entry is expressed as a dict of two fields:
    // 1. predicate: the predicate to be tested
    // 2. field_dependencies: lists the properties this predicate test depends on.
    // TODO: Note that you also have to pass in the arguments for the predicate. 
    // This may be removed in the future if we are always passing the other ComputedStyle
    predicates_to_test: {
      default: [],
    },
  },
  data: [
    {
        name: "ScrollAnchorDisablingPropertyChanged",
        fields_to_diff: ["width", "min-width", "max-width", "height", "min-height", "max-height", "margin-top", "margin-left", "margin-right", "margin-bottom", 
                  "left", "right", "top", "bottom", "padding-top", 
                  "padding-left", "padding-right", "padding-bottom"],
        methods_to_diff: [
          {
            method: "GetPosition()",
            field_dependencies: ["position"]
          },
        ]
    },
    {
        name: "DiffNeedsFullLayoutAndPaintInvalidation",
        fields_to_diff: ["padding-top", "padding-left", "padding-right", 
                "padding-bottom", "-webkit-appearance",
                "-webkit-margin-before-collapse",
                "-webkit-margin-after-collapse", "-webkit-line-clamp",
                "text-overflow", "shape-margin", "order", "-webkit-highlight",
                "text-indent", "text-align-last", "TextIndentLine", "EffectiveZoom", 
                "word-break", "overflow-wrap", "-webkit-line-break", 
                "-webkit-text-security", "hyphens", "HyphenationLimitBefore", 
                "HyphenationLimitAfter", "-webkit-hyphenate-character", 
                "RespectImageOrientation", "-webkit-ruby-position", 
                "TextEmphasisMark", "TextEmphasisPosition", 
                "TextEmphasisCustomMark", "text-justify", "text-orientation", 
                "text-combine-upright", "tab-size", "text-size-adjust", 
                "list-style-image", "line-height-step", 
                "-webkit-text-stroke-width", "line-height", "font", 
                "-webkit-border-horizontal-spacing", 
                "-webkit-border-vertical-spacing", "TextAutosizingMultiplier"],
        methods_to_diff: [
          {
            method: "BorderLeftWidth()",
            field_dependencies: ["border-left-width"]
          },
          {
            method: "BorderTopWidth()",
            field_dependencies: ["border-top-width"]
          },
          {
            method: "BorderBottomWidth()",
            field_dependencies: ["border-bottom-width"]
          },
          {
            method: "BorderRightWidth()",
            field_dependencies: ["border-right-width"]
          },
          {
            method: "HasFilters()",
            field_dependencies: ["Filter"]
          },
          {
            method: "FontInternal().LoadingCustomFonts()",
            field_dependencies: ["font"]
          },
          {
            method: "HasPseudoStyle(kPseudoIdScrollbar)",
            field_dependencies: ["StyleType"]
          },
          {
            method: "BoxDirection()",
            field_dependencies: ["-webkit-box-direction"]
          },
          {
            method: "RtlOrdering()",
            field_dependencies: ["-webkit-rtl-ordering"]
          },
          {
            method: "GetTextAlign()",
            field_dependencies: ["text-align"]
          },
          {
            method: "TextTransform()",
            field_dependencies: ["text-transform"]
          },
          {
            method: "Direction()",
            field_dependencies: ["direction"]
          },
          {
            method: "WhiteSpace()",
            field_dependencies: ["white-space"]
          },
          {
            method: "GetWritingMode()",
            field_dependencies: ["writing-mode"]
          },
          {
            method: "OverflowX()",
            field_dependencies: ["overflow-x"]
          },
          {
            method: "OverflowY()",
            field_dependencies: ["overflow-y"]
          },
          {
            method: "Clear()",
            field_dependencies: ["clear"]
          },
          {
            method: "GetUnicodeBidi()",
            field_dependencies: ["unicode-bidi"]
          },
          {
            method: "Floating()",
            field_dependencies: ["float"]
          },
          {
            method: "OriginalDisplay()",
            field_dependencies: ["OriginalDisplay"]
          }
        ],
        predicates_to_test: [
          {
            predicate: "a.TextShadowDataEquivalent(b)",
            field_dependencies: ["text-shadow"]
          },
          {
            predicate: "a.QuotesDataEquivalent(b)",
            field_dependencies: ["quotes"]
          },
          {
            predicate: "a.OpacityChangedStackingContext(b)",
            field_dependencies: ["IsStackingContext", "opacity"]
          },
        ]
    },
    {
        name: "DiffNeedsFullLayoutAndPaintInvalidationDisplayTableType",
        methods_to_diff: [
          {
            method: "BorderCollapse()",
            field_dependencies: ["border-collapse"]
          },
          {
            method: "EmptyCells()",
            field_dependencies: ["empty-cells"]
          },
          {
            method: "CaptionSide()",
            field_dependencies: ["caption-side"]
          },
          {
            method: "TableLayout()",
            field_dependencies: ["table-layout"]
          },
        ]
    },
    {
        name: "DiffNeedsFullLayoutAndPaintInvalidationDisplayListItem",
        methods_to_diff: [
          {
            method: "ListStyleType()",
            field_dependencies: ["list-style-type"]
          },
          {
            method: "ListStylePosition()",
            field_dependencies: ["list-style-position"]
          },
        ]
    },
    {
        name: "DiffNeedsFullLayout",
        fields_to_diff: ["width", "min-width", "max-width", "height", "min-height",
                "max-height", "VerticalAlignLength", "box-sizing", "align-content",
                "align-items", "align-self", "justify-content", "justify-items",
                "justify-self", "contain"],
        methods_to_diff: [
          {
            method: "VerticalAlign()",
            field_dependencies: ["VerticalAlign"]
          },
          {
            method: "GetPosition()",
            field_dependencies: ["position"]
          },
        ]
    },
    {
        name: "DiffNeedsPaintInvalidationSubtree",
        fields_to_diff: ["EffectiveBlendMode", "isolation", "Mask", "MaskBoxImage"],
    },

    {
        name: "DiffNeedsPaintInvalidationObject",
        fields_to_diff: ["-webkit-user-modify", "user-select", "image-rendering",
                "-webkit-user-drag", "object-fit", "object-position"],
        methods_to_diff: [
          {
            method: "Visibility()",
            field_dependencies: ["visibility"]
          },
          {
            method: "PrintColorAdjust()",
            field_dependencies: ["-webkit-print-color-adjust"]
          },
          {
            method: "InsideLink()",
            field_dependencies: ["InsideLink"]
          },
          {
            method: "VisitedLinkBackgroundColor()",
            field_dependencies: ["VisitedLinkBackgroundColor"]
          },
          {
            method: "Resize()",
            field_dependencies: ["resize"]
          },
        ],
        predicates_to_test: [
          {
            predicate: "a.BoxShadowDataEquivalent(b)",
            field_dependencies: ["box-shadow"]
          },
          {
            predicate: "a.ShapeOutsideDataEquivalent(b)",
            field_dependencies: ["shape-outside"]
          },
          {
            predicate: "a.ClipPathDataEquivalent(b)",
            field_dependencies: ["clip-path"]
          },
          {
            predicate: "a.OutlineVisuallyEqual(b)",
            field_dependencies: ["Outline"]
          },
          {
            predicate: "a.VisitedLinkBorderLeftColorHasNotChanged(b)",
            field_dependencies: ["VisitedLinkBorderLeftColor"]
          },
          {
            predicate: "a.VisitedLinkBorderRightColorHasNotChanged(b)",
            field_dependencies: ["VisitedLinkBorderRightColor"]
          },
          {
            predicate: "a.VisitedLinkBorderBottomColorHasNotChanged(b)",
            field_dependencies: ["VisitedLinkBorderBottomColor"]
          },
          {
            predicate: "a.VisitedLinkBorderTopColorHasNotChanged(b)",
            field_dependencies: ["VisitedLinkBorderTopColor"]
          },
          {
            predicate: "a.VisitedLinkOutlineColorHasNotChanged(b)",
            field_dependencies: ["VisitedLinkOutlineColor"]
          },
        ]
    },
    {
        name: "DiffNeedsVisualRectUpdate",
        methods_to_diff: [
          {
            method: "Visibility()",
            field_dependencies: ["visibility"]
          },
          {
            method: "Resize()",
            field_dependencies: ["resize"]
          },
        ]
    },
    {
        name: "UpdatePropertySpecificDifferencesZIndex",
        fields_to_diff: ["z-index"],
        methods_to_diff: [
          {
            method: "IsStackingContext()",
            field_dependencies: ["IsStackingContext"]
          },
        ]
    },
    {
        name: "UpdatePropertySpecificDifferencesOpacity",
        fields_to_diff: ["opacity"],
    },
    {
        name: "UpdatePropertySpecificDifferencesFilter",
        fields_to_diff: ["Filter"],
        predicates_to_test: [
          {
            predicate: "a.ReflectionDataEquivalent(b)",
            field_dependencies: ["-webkit-box-reflect"]
          },
        ]
    },
    {
        name: "UpdatePropertySpecificDifferencesNeedsRecomputeOverflow",
        predicates_to_test: [
          {
            predicate: "a.BoxShadowDataEquivalent(b)",
            field_dependencies: ["box-shadow"]
          },
          {
            predicate: "a.OutlineVisuallyEqual(b)",
            field_dependencies: ["Outline"]
          },
          {
            predicate: "a.BorderVisualOverflowEqual(b)",
            field_dependencies: ["border-image"]
          },
        ]
    },
    {
        name: "UpdatePropertySpecificDifferencesBackdropFilter",
        fields_to_diff: ["BackdropFilter"],
    },
    {
        name: "UpdatePropertySpecificDifferencesTextDecorationOrColor",
        fields_to_diff: ["color", "VisitedLinkColor", "TextDecoration",
                "text-decoration-style", "text-decoration-color",
                "VisitedLinkTextDecorationColor", "TextEmphasisFill",
                "text-underline-position", "text-decoration-skip", "AppliedTextDecorations"],
        methods_to_diff: [
          {
            method: "HasSimpleUnderlineInternal()",
            field_dependencies: ["HasSimpleUnderline"]
          },
          {
            method: "TextFillColor()",
            field_dependencies: ["-webkit-text-fill-color"]
          },
          {
            method: "TextStrokeColor()",
            field_dependencies: ["-webkit-text-stroke-color"]
          },
          {
            method: "TextEmphasisColor()",
            field_dependencies: ["-webkit-text-emphasis-color"]
          },
          {
            method: "VisitedLinkTextFillColor()",
            field_dependencies: ["VisitedLinkTextFillColor"]
          },
          {
            method: "VisitedLinkTextStrokeColor()",
            field_dependencies: ["VisitedLinkTextStrokeColor"]
          },
          {
            method: "VisitedLinkTextEmphasisColor()",
            field_dependencies: ["VisitedLinkTextEmphasisColor"]
          },
          {
            method: "CaretColor()",
            field_dependencies: ["caret-color"]
          },
          {
            method: "VisitedLinkCaretColor()",
            field_dependencies: ["VisitedLinkCaretColor"]
          },
        ]
    },
  ],
}
