1// Copyright 2017 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5{ 6// This file specifies all the CSS properties we support and the necessary 7// information for our code generation. The various supported arguments 8// are described below with example usage 9 10 parameters: { 11 // - alias_for: "other-property" 12 // Properties specifying alias_for should be virtually identical to the 13 // properties they alias. Minor parsing differences are allowed as long as 14 // the CSSValues created are of the same format of the aliased property. 15 alias_for: { 16 }, 17 18 // - longhands: ["property", "other-property"] 19 // The property is a shorthand for several other properties. 20 longhands: { 21 }, 22 23 // - property_methods: ["method1", "method2"] 24 // List of methods that are implemented in the CSSProperty for this 25 // property. 26 property_methods: { 27 default: [], 28 valid_type: "list", 29 valid_values: [ 30 "ParseSingleValue", 31 "ParseShorthand", 32 "CSSValueFromComputedStyleInternal", 33 "ColorIncludingFallback", 34 "InitialValue" 35 ], 36 }, 37 38 // Suppresses code generation for the specified style builder functions. 39 // This allows us to provide hand-written style builder functions in cases 40 // where it's needed. 41 style_builder_custom_functions: { 42 default: [], 43 valid_type: "list", 44 valid_values: [ 45 "initial", 46 "inherit", 47 "value", 48 ], 49 }, 50 51 // Affects how the style building functions are generated. 52 // 53 // Several property groups (e.g. color properties) deviate from the default 54 // style builder application, yet there are enough of these properties that 55 // we want to generate code for them rather than having manually written 56 // style builder functions. 57 style_builder_template: { 58 valid_values: [ 59 "animation", 60 "auto", 61 "background_layer", 62 "border_image", 63 "color", 64 "counter", 65 "empty", 66 "grid", 67 // The legacy template means that regular code generation should not be 68 // be performed, and that the property is hard-coded in 69 // style_builder_functions.cc.tmpl. 70 "legacy", 71 "mask_box", 72 "mask_layer", 73 "transition", 74 "visited_color", 75 ], 76 }, 77 78 // Additional arguments to 'style_builder_template' may be provided here. 79 style_builder_template_args: { 80 default: {}, 81 valid_type: "dict" 82 }, 83 84 // - is_descriptor 85 // Whether it is a CSS descriptor. Descriptors define the characteristics of 86 // an at-rule. E.g. @viewport is an at-rule, and width is a valid descriptor 87 // for @viewport. Descriptors and CSS properties with the same name are 88 // handled together in this file. 89 // TODO(crbug.com/752745): Don't use CSSPropertyID for descriptors. 90 // - is_property 91 // Whether it is a CSS property. If this is false then is_descriptor must be 92 // true. 93 is_descriptor: { 94 default: false, 95 valid_type: "bool", 96 }, 97 is_property: { 98 default: true, 99 valid_type: "bool", 100 }, 101 102 // - independent 103 // This property affects only one field on ComputedStyle, and can be set 104 // directly during inheritance instead of forcing a recalc. 105 // StyleResolver and StyleAdjuster are not invoked when these properties 106 // are changed on a parent. Recalcs only happen if at least one 107 // non-independent inherited property is changed in the parent. 108 independent: { 109 default: false, 110 valid_type: "bool", 111 }, 112 113 // - affected_by_all 114 // The affected_by_all flag indicates whether a change to the CSS property 115 // "all" affects this property. 116 // c.f. https://drafts.csswg.org/css-cascade/#all-shorthand 117 // Descriptors (is_property: false) are never affected by changes to the 118 // all property. 119 affected_by_all: { 120 default: true, 121 valid_type: "bool", 122 }, 123 124 // - interpolable 125 // The interpolable flag indicates whether a property can be animated 126 // smoothly. If this flag is set, the property should also be added to the 127 // switch statements in CSSPropertyEquality and CSSInterpolationTypesMap. 128 interpolable: { 129 default: false, 130 valid_type: "bool", 131 }, 132 133 // - inherited 134 // The property will inherit by default if no value is specified, typically 135 // mentioned in specifications as "Inherited: yes" 136 inherited: { 137 default: false, 138 valid_type: "bool", 139 }, 140 141 // - compositable 142 // The property can be animated by the compositor 143 compositable: { 144 default: false, 145 valid_type: "bool", 146 }, 147 148 // - runtime_flag 149 // The name of the flag on RuntimeEnabledFeatures 150 // (e.g. "CSSOverscrollBehavior") that conditionally enables the 151 // property. 152 // This doesn't currently work with alias_for. 153 runtime_flag: { 154 valid_type: "str", 155 }, 156 157 // - field_group 158 // Name of the group that this field belongs to. Fields in the same group 159 // are stored together as a nested class inside ComputedStyle and 160 // dynamically allocated on use. 161 // Leave this out if the field is stored directly on ComputedStyle. 162 // If you want to auto group this property use: field_group: "*[->subgroup]" 163 // If you use the auto grouping function check if your property is in 164 // css_properties_ranking.json5 165 // - If yes, only provide: field_group: "*" 166 // - If no, you can specify a subgroup following the asterisk: 167 // field_group: "*[->subgroup]" 168 field_group: { 169 valid_type: "str", 170 }, 171 172 // - field_size 173 // Number of bits needed to store this field. 174 field_size: { 175 valid_type: "int", 176 }, 177 178 // - field_template 179 // Affects how the interface to this field is generated. 180 // TODO(sashab, meade): Remove this once TypedOM types are specified for 181 // every property, since this value can be inferred from that. 182 field_template: { 183 valid_values: [ 184 // Field is stored as an enum and has a initial/getter/setter/resetter. 185 // If include_paths is empty, we would also generate the corresponding 186 // enum definition in ComputedStyleConstants.h. 187 "keyword", 188 // Field can take on any subset of values from a list of keywords. 189 "multi_keyword", 190 // Field stores a primitive value like int/bool. The type is specified 191 // by type_name. The interface has a initial/getter/setter/resetter. 192 "primitive", 193 // Field is stored as a bool, whose default value is false 194 // and can only be set to true. Has a initial/getter/setter. 195 "monotonic_flag", 196 // Field has type specified at type_name and has a getter/setter. 197 // Also has a setter taking an rvalue reference. Cannot be packed. 198 "external", 199 // Field is stored as a wrapper_pointer_name to a class. 200 "pointer", 201 // Preset "length" for external and Length class 202 // This preset represents alias templates that will be replace by 203 // entries in CSSFieldAlias.json5. 204 "<[a-z]+>" 205 ], 206 }, 207 208 // - include_paths: ["path/to/file1.h", "path/to/file2.h"] 209 // List of files containing the definitions of types in 'type_name'. Each of 210 // these files will appear as a #include in ComputedStyleBase.h. For 211 // example, if the type_name is 'Vector<String>', include_paths should be 212 // ["third_party/blink/renderer/platform/wtf/vector.h", 213 // "third_party/blink/renderer/platform/wtf/text/wtf_string.h"] 214 include_paths: { 215 default: [], 216 }, 217 218 // Name of the pointer type that wraps this field (e.g. scoped_refptr). 219 wrapper_pointer_name: { 220 valid_type: "str", 221 valid_values: ["scoped_refptr", "Persistent", "std::unique_ptr"], 222 }, 223 224 // - keywords: ["keyword1", "keyword2"] 225 // This specifies all valid keyword values for the property. 226 // TODO(sashab): Once all properties are represented here, delete 227 // CSSValueKeywords.in and use this list instead. 228 keywords: { 229 default: [], 230 }, 231 232 // - default_value: "keyword-value" 233 // This specifies the default value for this field. 234 // - for keyword fields, this is the initial keyword 235 // - for other fields, this is a string containg the C++ expression 236 // that is used to initialise the field. 237 default_value: { 238 }, 239 240 // Flags which go into CSSOMTypes: 241 // - typedom_types: ["Keyword", "Type", "OtherType"] 242 // The property can take types specified in typedom_types for CSS Typed OM. 243 // - separator 244 // The property supports a list of values, and when there is more than one, 245 // it is separated with this character. 246 typedom_types: { 247 default: [], 248 valid_type: "list", 249 valid_values: [ 250 "Angle", 251 "Flex", 252 "Frequency", 253 "Keyword", 254 "Length", 255 "Number", 256 "Percentage", 257 "Position", 258 "Resolution", 259 "Time", 260 "Transform", 261 "Unparsed", 262 "Image" 263 ], 264 }, 265 separator: { 266 valid_values: [",", " ", "/"], 267 }, 268 269 // The remaining arguments are used for the StyleBuilder and allow us to 270 // succinctly describe how to apply properties. When default handlers are 271 // not sufficient, we should prefer to use converter, and failing that 272 // define custom property handlers in CSSProperty subclasses. We should only 273 // use style_builder_functions.tmpl to define handlers when there are 274 // multiple properties requiring the same handling, but converter doesn't 275 // suffice. 276 277 // - font 278 // The default property handlers call into the FontBuilder instead of 279 // setting values directly onto the ComputedStyle 280 // - svg 281 // The default property handlers access the SVGComputedStyle 282 font: { 283 default: false, 284 valid_type: "bool", 285 }, 286 svg: { 287 default: false, 288 valid_type: "bool", 289 }, 290 291 // - name_for_methods: "BlendMode" 292 // Tweaks how we choose defaults for getter, setter, initial and type_name. 293 // For example, setting this to BlendMode will make us use a setter of 294 // setBlendMode 295 // - initial 296 // The static function to invoke on ComputedStyleInitialValues, 297 // SVGComputedStyle, or FontBuilder to retrieve the initial value. 298 // Defaults to e.g. InitialBorderBottomLeft. 299 // - getter 300 // The ComputedStyle getter, defaults to e.g. BorderBottomLeft 301 // - setter 302 // The ComputedStyle setter, defaults to e.g. GetBorderBottomLeft 303 // - type_name 304 // The computed type for the property. Only required for the default value 305 // application, defaults to e.g. EDisplay 306 name_for_methods: { 307 }, 308 initial: { 309 }, 310 getter: { 311 }, 312 setter: { 313 }, 314 type_name: { 315 }, 316 317 // - custom_function: Any function specified in the list is not 318 // automatically generated in ComputedStyle. Use this when a generated 319 // function is not correct. 320 computed_style_custom_functions: { 321 default: [], 322 valid_type: "list", 323 valid_values: ["initial", "getter", "setter", "reset", "mutable"], 324 }, 325 326 // - converter: "ConvertRadius" 327 // The StyleBuilder will call the specified function on 328 // StyleBuilderConverter to convert a CSSValue to an appropriate platform 329 // value 330 converter: { 331 }, 332 333 // Options used for properties that depend on writing-mode and/or 334 // text-direction (e.g. css-logical). 335 direction_aware_options: { 336 // The name of the mapping function used to convert from a logical 337 // property to a physical property. Corresponds to a function in 338 // CSSDirectionAwareResolver. E.g. a value of "baz" corresponds to 339 // CSSDirectionAwareResolver::ResolveBaz(...). 340 resolver: { 341 valid_type: "str", 342 valid_values: ["inline-start", "inline-end", "block-start", "block-end", 343 "inline", "block"], 344 }, 345 // The name of the physical property group to pass to the resolver. 346 // The group represents the physical part of the "logical property group" 347 // described by css-logical [1]. 348 // 349 // In terms of code generation, each value corresponds to a function in 350 // CSSDirectionAwareResolver. E.g. a value of "foo-bar" would correspond 351 // to CSSDirectionAwareResolver::FooBarGroup(). 352 // 353 // [1] https://drafts.csswg.org/css-logical/#logical-property-group 354 physical_group: { 355 valid_type: "str", 356 valid_values: ["border", "border-color", "border-style", "border-width", 357 "inset", "margin", "max-size", 358 "min-size", "overflow", "padding", "scroll-margin", 359 "scroll-padding", "size", "visited-border-color"], 360 } 361 }, 362 363 // - surrogate_for: "other-property" 364 // 365 // A surrogate is a property which acts like another property. Unlike an 366 // alias (which is resolved as parse-time), a surrogate exists alongside 367 // the original in the parsed rule, and in the cascade. 368 // 369 // However, surrogates modify the same fields on ComputedStyle. Examples of 370 // surrogates are: 371 // 372 // * -webkit-writing-mode (surrogate of writing-mode) 373 // * inline-size (surrogate for width, or height) 374 // * All css-logical propeties in general 375 // 376 // Note that for properties that use direction_aware_options, 377 // 'surrogate_for' should not be set, as the mapping is determined at 378 // run-time (depending og e.g. 'direction'). 379 surrogate_for: { 380 valid_type: "str", 381 }, 382 383 // - priority: "High" 384 // The priority level for computing the property. Valid values are 385 // "Animation" (highest), "High" and "Low". Properties with the same 386 // priority level are grouped and computed in alphabetical order. The 387 // default value is "Low". 388 priority: { 389 default: "Low", 390 valid_values: ["Animation", "High", "Low"], 391 }, 392 393 // - layout_dependent 394 // The resolved value used for getComputedStyle() depends on layout for this 395 // property, which means we may need to update layout to return the correct 396 // value from getComputedStyle(). Setting this to true will override 397 // IsLayoutDependentProperty() to return true and require a custom 398 // IsLayoutDependent() which typically checks for LayoutObject existence and 399 // type. 400 layout_dependent: { 401 default: false, 402 valid_type: "bool", 403 }, 404 405 // - visited_property_for: "other-property" 406 // CSS properties that are allowed in :visited selectors each have an 407 // internal "companion" property with the visited value. For privacy reasons 408 // CSSOM APIs must return computed values as if links aren't visited, but 409 // for rendering purposes we need the value with the :visited rules applied. 410 // 411 // This means that the regular property (e.g. background-color) represents 412 // the value as seen by CSSOM, and the -internal-visited counterpart (e.g. 413 // -internal-visited-background-color) represents the same property as seen 414 // by painting. 415 visited_property_for: { 416 valid_type: "str", 417 }, 418 419 // - affected_by_forced_colors 420 // The property value will be overridden with the default value defined in 421 // the forced colors UA style sheet when forced colors mode is enabled and 422 // forced-color-adjust is set to auto. 423 affected_by_forced_colors: { 424 default: false, 425 valid_type: "bool", 426 }, 427 428 // - valid_for_first_letter: true 429 // 430 // https://drafts.csswg.org/css-pseudo-4/#first-letter-styling 431 valid_for_first_letter: { 432 default: false, 433 valid_type: "bool", 434 }, 435 436 // - valid_for_cue: true 437 // 438 // https://w3c.github.io/webvtt/#the-cue-pseudo-element 439 valid_for_cue: { 440 default: false, 441 valid_type: "bool", 442 }, 443 444 // - valid_for_marker: true 445 // 446 // https://drafts.csswg.org/css-pseudo-4/#marker-pseudo 447 valid_for_marker: { 448 default: false, 449 valid_type: "bool", 450 }, 451 }, 452 453 // Members in the data objects should appear in the same order as in the 454 // parameters object above 455 data: [ 456 // Properties with StyleBuilder handling 457 458 // Animation Priority properties 459 { 460 name: "animation-delay", 461 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 462 style_builder_template: "animation", 463 style_builder_template_args: { 464 attribute: "Delay", 465 }, 466 priority: "Animation", 467 typedom_types: ["Time"], 468 separator: ",", 469 valid_for_marker: true, 470 }, 471 { 472 name: "animation-direction", 473 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 474 keywords: ["normal", "reverse", "alternate", "alternate-reverse"], 475 typedom_types: ["Keyword"], 476 separator: ",", 477 style_builder_template: "animation", 478 style_builder_template_args: { 479 attribute: "Direction", 480 }, 481 priority: "Animation", 482 separator: ",", 483 valid_for_marker: true, 484 }, 485 { 486 name: "animation-duration", 487 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 488 separator: ",", 489 style_builder_template: "animation", 490 style_builder_template_args: { 491 attribute: "Duration", 492 }, 493 priority: "Animation", 494 typedom_types: ["Time"], 495 separator: ",", 496 valid_for_marker: true, 497 }, 498 { 499 name: "animation-fill-mode", 500 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 501 style_builder_template: "animation", 502 style_builder_template_args: { 503 attribute: "FillMode", 504 }, 505 priority: "Animation", 506 keywords: ["none", "forwards", "backwards", "both"], 507 typedom_types: ["Keyword"], 508 separator: ",", 509 valid_for_marker: true, 510 }, 511 { 512 name: "animation-iteration-count", 513 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 514 keywords: ["infinite"], 515 separator: ",", 516 style_builder_template: "animation", 517 style_builder_template_args: { 518 attribute: "IterationCount", 519 }, 520 priority: "Animation", 521 keywords: ["infinite"], 522 typedom_types: ["Keyword", "Number"], 523 separator: ",", 524 valid_for_marker: true, 525 }, 526 { 527 name: "animation-name", 528 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 529 style_builder_template: "animation", 530 style_builder_template_args: { 531 attribute: "Name", 532 }, 533 priority: "Animation", 534 keywords: ["none"], 535 typedom_types: ["Keyword"], 536 separator: ",", 537 valid_for_marker: true, 538 }, 539 { 540 name: "animation-play-state", 541 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 542 style_builder_template: "animation", 543 style_builder_template_args: { 544 attribute: "PlayState", 545 }, 546 priority: "Animation", 547 keywords: ["running", "paused"], 548 typedom_types: ["Keyword"], 549 separator: ",", 550 valid_for_marker: true, 551 }, 552 { 553 name: "animation-timing-function", 554 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 555 style_builder_template: "animation", 556 style_builder_template_args: { 557 attribute: "TimingFunction", 558 }, 559 priority: "Animation", 560 keywords: [ 561 "linear", 562 "ease", 563 "ease-in", 564 "ease-out", 565 "ease-in-out", 566 "jump-both", 567 "jump-end", 568 "jump-none", 569 "jump-start", 570 "step-start", 571 "step-end" 572 ], 573 typedom_types: ["Keyword"], 574 separator: ",", 575 valid_for_marker: true, 576 }, 577 { 578 name: "transition-delay", 579 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 580 style_builder_template: "transition", 581 style_builder_template_args: { 582 attribute: "Delay", 583 }, 584 priority: "Animation", 585 typedom_types: ["Time"], 586 separator: ",", 587 valid_for_marker: true, 588 }, 589 { 590 name: "transition-duration", 591 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 592 typedom_types: ["Keyword", "Time"], 593 separator: ",", 594 style_builder_template: "transition", 595 style_builder_template_args: { 596 attribute: "Duration", 597 }, 598 priority: "Animation", 599 valid_for_marker: true, 600 }, 601 { 602 name: "transition-property", 603 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 604 style_builder_template: "transition", 605 style_builder_template_args: { 606 attribute: "Property", 607 }, 608 priority: "Animation", 609 keywords: ["none"], 610 typedom_types: ["Keyword"], 611 valid_for_marker: true, 612 }, 613 { 614 name: "transition-timing-function", 615 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 616 style_builder_template: "transition", 617 style_builder_template_args: { 618 attribute: "TimingFunction", 619 }, 620 priority: "Animation", 621 keywords: [ 622 "linear", 623 "ease", 624 "ease-in", 625 "ease-out", 626 "ease-in-out", 627 "jump-both", 628 "jump-end", 629 "jump-none", 630 "jump-start", 631 "step-start", 632 "step-end"], 633 typedom_types: ["Keyword"], 634 separator: ",", 635 valid_for_marker: true, 636 }, 637 638 // High Priority and all other font properties. 639 // Other properties can depend upon high priority properties 640 // (e.g. font-size / ems) 641 { 642 name: "color", 643 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 644 interpolable: true, 645 inherited: true, 646 field_group: "inherited", 647 field_template: "external", 648 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 649 default_value: "Color::kBlack", 650 type_name: "Color", 651 computed_style_custom_functions: ["getter", "setter"], 652 style_builder_custom_functions: ["initial", "inherit", "value"], 653 priority: "High", 654 keywords: ["currentcolor"], 655 typedom_types: ["Keyword"], 656 affected_by_forced_colors: true, 657 valid_for_first_letter: true, 658 valid_for_cue: true, 659 valid_for_marker: true, 660 }, 661 { 662 name: "direction", 663 property_methods: ["CSSValueFromComputedStyleInternal"], 664 affected_by_all: false, 665 inherited: true, 666 field_template: "keyword", 667 include_paths: ["third_party/blink/renderer/platform/text/text_direction.h"], 668 keywords: ["ltr", "rtl"], 669 typedom_types: ["Keyword"], 670 default_value: "ltr", 671 type_name: "TextDirection", 672 style_builder_custom_functions: ["value"], 673 priority: "High", 674 valid_for_marker: true, 675 }, 676 { 677 name: "font-family", 678 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 679 is_descriptor: true, 680 inherited: true, 681 font: true, 682 name_for_methods: "FamilyDescription", 683 type_name: "FontDescription::FamilyDescription", 684 converter: "ConvertFontFamily", 685 priority: "High", 686 valid_for_first_letter: true, 687 valid_for_cue: true, 688 valid_for_marker: true, 689 }, 690 { 691 name: "font-kerning", 692 property_methods: ["CSSValueFromComputedStyleInternal"], 693 inherited: true, 694 font: true, 695 name_for_methods: "Kerning", 696 type_name: "FontDescription::Kerning", 697 priority: "High", 698 keywords: ["auto", "normal", "none"], 699 typedom_types: ["Keyword"], 700 valid_for_first_letter: true, 701 valid_for_marker: true, 702 }, 703 { 704 name: "font-optical-sizing", 705 property_methods: ["CSSValueFromComputedStyleInternal"], 706 inherited: true, 707 font: true, 708 name_for_methods: "FontOpticalSizing", 709 type_name: "OpticalSizing", 710 priority: "High", 711 keywords: ["auto", "none"], 712 typedom_types: ["Keyword"], 713 valid_for_first_letter: true, 714 valid_for_marker: true, 715 }, 716 { 717 name: "font-size", 718 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 719 interpolable: true, 720 inherited: true, 721 font: true, 722 name_for_methods: "Size", 723 getter: "GetSize", 724 converter: "ConvertFontSize", 725 priority: "High", 726 keywords: ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "larger", "smaller", "-webkit-xxx-large"], 727 typedom_types: ["Keyword", "Length", "Percentage"], 728 valid_for_first_letter: true, 729 valid_for_cue: true, 730 valid_for_marker: true, 731 }, 732 { 733 name: "font-size-adjust", 734 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 735 interpolable: true, 736 inherited: true, 737 runtime_flag: "CSSFontSizeAdjust", 738 font: true, 739 name_for_methods: "SizeAdjust", 740 converter: "ConvertFontSizeAdjust", 741 priority: "High", 742 keywords: ["none"], 743 typedom_types: ["Keyword", "Number"], 744 valid_for_first_letter: true, 745 valid_for_marker: true, 746 }, 747 { 748 name: "font-stretch", 749 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 750 is_descriptor: true, 751 inherited: true, 752 font: true, 753 name_for_methods: "Stretch", 754 converter: "ConvertFontStretch", 755 priority: "High", 756 keywords: [ 757 "normal", "ultra-condensed", "extra-condensed", "condensed", 758 "semi-condensed", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" 759 ], 760 typedom_types: ["Keyword", "Percentage"], 761 valid_for_first_letter: true, 762 valid_for_cue: true, 763 valid_for_marker: true, 764 }, 765 { 766 name: "font-style", 767 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 768 is_descriptor: true, 769 inherited: true, 770 font: true, 771 name_for_methods: "Style", 772 converter: "ConvertFontStyle", 773 priority: "High", 774 keywords: ["normal", "italic", "oblique"], 775 typedom_types: ["Keyword"], 776 valid_for_first_letter: true, 777 valid_for_cue: true, 778 valid_for_marker: true, 779 }, 780 { 781 name: "font-variant-ligatures", 782 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 783 inherited: true, 784 font: true, 785 name_for_methods: "VariantLigatures", 786 type_name: "VariantLigatures", 787 converter: "ConvertFontVariantLigatures", 788 priority: "High", 789 keywords: [ 790 "normal", "none", "common-ligatures", "no-common-ligatures", 791 "discretionary-ligatures", "no-discretionary-ligatures", 792 "historical-ligatures", "no-historical-ligatures", "contextual", 793 "no-contextual" 794 ], 795 typedom_types: ["Keyword"], 796 valid_for_first_letter: true, 797 valid_for_marker: true, 798 }, 799 { 800 name: "font-variant-caps", 801 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 802 inherited: true, 803 font: true, 804 name_for_methods: "VariantCaps", 805 converter: "ConvertFontVariantCaps", 806 priority: "High", 807 keywords: [ 808 "normal", "small-caps", "all-small-caps", "petite-caps", 809 "all-petite-caps", "unicase", "titling-caps" 810 ], 811 typedom_types: ["Keyword"], 812 valid_for_first_letter: true, 813 valid_for_marker: true, 814 }, 815 { 816 name: "font-variant-east-asian", 817 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 818 inherited: true, 819 font: true, 820 name_for_methods: "VariantEastAsian", 821 converter: "ConvertFontVariantEastAsian", 822 priority: "High", 823 keywords: [ 824 "normal", "jis78", "jis83", "jis90", "jis04", "simplified", 825 "traditional", "full-width", "proportional-width", "ruby" 826 ], 827 typedom_types: ["Keyword"], 828 valid_for_first_letter: true, 829 valid_for_marker: true, 830 }, 831 { 832 name: "font-variant-numeric", 833 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 834 inherited: true, 835 font: true, 836 name_for_methods: "VariantNumeric", 837 converter: "ConvertFontVariantNumeric", 838 priority: "High", 839 keywords: [ 840 "normal", "lining-nums", "oldstyle-nums", "proportional-nums", 841 "tabular-nums", "diagonal-fractions", "stacked-fractions", "ordinal", 842 "slashed-zero" 843 ], 844 typedom_types: ["Keyword"], 845 valid_for_first_letter: true, 846 valid_for_marker: true, 847 }, 848 { 849 name: "font-weight", 850 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 851 is_descriptor: true, 852 interpolable: true, 853 inherited: true, 854 font: true, 855 name_for_methods: "Weight", 856 converter: "ConvertFontWeight", 857 priority: "High", 858 keywords: ["normal", "bold", "bolder", "lighter"], 859 typedom_types: ["Keyword", "Number"], 860 valid_for_first_letter: true, 861 valid_for_cue: true, 862 valid_for_marker: true, 863 }, 864 { 865 name: "font-feature-settings", 866 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 867 is_descriptor: true, 868 inherited: true, 869 font: true, 870 name_for_methods: "FeatureSettings", 871 converter: "ConvertFontFeatureSettings", 872 priority: "High", 873 keywords: ["normal"], 874 typedom_types: ["Keyword"], 875 valid_for_first_letter: true, 876 valid_for_marker: true, 877 }, 878 { 879 name: "font-variation-settings", 880 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 881 interpolable: true, 882 inherited: true, 883 font: true, 884 name_for_methods: "VariationSettings", 885 converter: "ConvertFontVariationSettings", 886 priority: "High", 887 keywords: ["normal"], 888 typedom_types: ["Keyword"], 889 valid_for_first_letter: true, 890 valid_for_cue: true, 891 valid_for_marker: true, 892 }, 893 { 894 name: "-webkit-font-smoothing", 895 property_methods: ["CSSValueFromComputedStyleInternal"], 896 inherited: true, 897 font: true, 898 type_name: "FontSmoothingMode", 899 priority: "High", 900 valid_for_first_letter: true, 901 }, 902 { 903 name: "forced-color-adjust", 904 property_methods: ["CSSValueFromComputedStyleInternal"], 905 inherited: true, 906 runtime_flag: "ForcedColors", 907 field_template: "keyword", 908 priority: "High", 909 keywords: ["auto", "none"], 910 typedom_types: ["Keyword"], 911 default_value: "auto", 912 }, 913 { 914 name: "-webkit-locale", 915 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 916 inherited: true, 917 font: true, 918 style_builder_custom_functions: ["value"], 919 priority: "High", 920 }, 921 { 922 name: "text-orientation", 923 property_methods: ["CSSValueFromComputedStyleInternal"], 924 inherited: true, 925 field_group: "*", 926 field_template: "keyword", 927 keywords: ["sideways", "mixed", "upright"], 928 typedom_types: ["Keyword"], 929 default_value: "mixed", 930 getter: "GetTextOrientation", 931 style_builder_custom_functions: ["value"], 932 priority: "High", 933 }, 934 { 935 name: "-webkit-text-orientation", 936 property_methods: ["CSSValueFromComputedStyleInternal"], 937 inherited: true, 938 type_name: "TextOrientation", 939 style_builder_custom_functions: ["value"], 940 priority: "High", 941 }, 942 { 943 name: "writing-mode", 944 property_methods: ["CSSValueFromComputedStyleInternal"], 945 inherited: true, 946 field_template: "keyword", 947 include_paths: ["third_party/blink/renderer/platform/text/writing_mode.h"], 948 keywords: ["horizontal-tb", "vertical-rl", "vertical-lr"], 949 typedom_types: ["Keyword"], 950 default_value: "horizontal-tb", 951 type_name: "WritingMode", 952 style_builder_custom_functions: ["value"], 953 priority: "High", 954 }, 955 { 956 name: "-webkit-writing-mode", 957 property_methods: ["CSSValueFromComputedStyleInternal"], 958 inherited: true, 959 type_name: "WritingMode", 960 style_builder_custom_functions: ["value"], 961 priority: "High", 962 surrogate_for: "writing-mode", 963 }, 964 { 965 name: "text-rendering", 966 property_methods: ["CSSValueFromComputedStyleInternal"], 967 inherited: true, 968 font: true, 969 type_name: "TextRenderingMode", 970 keywords: ["auto", "optimizespeed", "optimizelegibility", "geometricprecision"], 971 typedom_types: ["Keyword"], 972 priority: "High", 973 }, 974 { 975 name: "zoom", 976 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 977 is_descriptor: true, 978 field_group: "visual", 979 field_template: "primitive", 980 default_value: "1.0", 981 type_name: "float", 982 style_builder_custom_functions: ["initial", "inherit", "value"], 983 priority: "High", 984 }, 985 { 986 name: "align-content", 987 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 988 field_group: "*", 989 field_template: "external", 990 include_paths: ["third_party/blink/renderer/core/style/style_content_alignment_data.h"], 991 default_value: "StyleContentAlignmentData(ContentPosition::kNormal, ContentDistributionType::kDefault, OverflowAlignment::kDefault)", 992 type_name: "StyleContentAlignmentData", 993 converter: "ConvertContentAlignmentData", 994 }, 995 { 996 name: "align-items", 997 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 998 field_group: "*", 999 field_template: "external", 1000 include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], 1001 default_value: "StyleSelfAlignmentData(ItemPosition::kNormal, OverflowAlignment::kDefault)", 1002 type_name: "StyleSelfAlignmentData", 1003 converter: "ConvertSelfOrDefaultAlignmentData", 1004 }, 1005 { 1006 name: "alignment-baseline", 1007 property_methods: ["CSSValueFromComputedStyleInternal"], 1008 svg: true, 1009 keywords: ["baseline", "alphabetic", "ideographic", "middle", "central", "mathematical"], 1010 typedom_types: ["Keyword"] 1011 }, 1012 { 1013 name: "align-self", 1014 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1015 field_group: "*", 1016 field_template: "external", 1017 include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], 1018 default_value: "StyleSelfAlignmentData(ItemPosition::kAuto, OverflowAlignment::kDefault)", 1019 type_name: "StyleSelfAlignmentData", 1020 converter: "ConvertSelfOrDefaultAlignmentData", 1021 }, 1022 { 1023 name: "aspect-ratio", 1024 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1025 interpolable: false, 1026 field_group: "box", 1027 field_template: "external", 1028 keywords: ["auto"], 1029 default_value: "base::nullopt", 1030 type_name: "base::Optional<IntSize>", 1031 converter: "ConvertAspectRatio", 1032 include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], 1033 runtime_flag: "CSSAspectRatioProperty" 1034 }, 1035 { 1036 name: "backdrop-filter", 1037 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1038 interpolable: true, 1039 compositable: true, 1040 field_group: "*", 1041 field_template: "external", 1042 include_paths: ["third_party/blink/renderer/core/style/style_filter_data.h"], 1043 wrapper_pointer_name: "Persistent", 1044 default_value: "MakeGarbageCollected<StyleFilterData>()", 1045 type_name: "StyleFilterData", 1046 computed_style_custom_functions: ["initial", "getter","setter"], 1047 converter: "ConvertFilterOperations", 1048 keywords: ["none"], 1049 typedom_types: ["Keyword"], 1050 }, 1051 { 1052 name: "backface-visibility", 1053 property_methods: ["CSSValueFromComputedStyleInternal"], 1054 field_group: "*", 1055 field_template: "keyword", 1056 keywords: ["visible", "hidden"], 1057 typedom_types: ["Keyword"], 1058 default_value: "visible", 1059 }, 1060 { 1061 name: "background-attachment", 1062 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1063 keywords: ["scroll", "fixed", "local"], 1064 typedom_types: ["Keyword"], 1065 separator: " ", 1066 style_builder_template: "background_layer", 1067 style_builder_template_args: { 1068 fill_type: "Attachment", 1069 }, 1070 valid_for_first_letter: true, 1071 valid_for_cue: true, 1072 }, 1073 { 1074 name: "background-blend-mode", 1075 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1076 keywords: [ 1077 "normal", "multiply", "screen", "overlay", "darken", "lighten", 1078 "color-dodge", "color-burn", "hard-light", "soft-light", "difference", 1079 "exclusion", "hue", "saturation", "color", "luminosity" 1080 ], 1081 typedom_types: ["Keyword"], 1082 separator: " ", 1083 style_builder_template: "background_layer", 1084 style_builder_template_args: { 1085 fill_type: "BlendMode", 1086 fill_type_getter: "GetBlendMode", 1087 }, 1088 valid_for_first_letter: true, 1089 }, 1090 { 1091 name: "background-clip", 1092 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1093 keywords: ["border-box", "padding-box", "content-box"], 1094 typedom_types: ["Keyword"], 1095 separator: " ", 1096 style_builder_template: "background_layer", 1097 style_builder_template_args: { 1098 fill_type: "Clip", 1099 }, 1100 valid_for_first_letter: true, 1101 valid_for_cue: true, 1102 }, 1103 { 1104 name: "background-color", 1105 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1106 interpolable: true, 1107 field_group: "background", 1108 field_template: "external", 1109 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 1110 default_value: "StyleColor(Color::kTransparent)", 1111 type_name: "StyleColor", 1112 computed_style_custom_functions: ["getter"], 1113 keywords: ["currentcolor"], 1114 typedom_types: ["Keyword"], 1115 converter: "ConvertStyleColor", 1116 style_builder_template: "color", 1117 style_builder_template_args: { 1118 initial_color: "ComputedStyleInitialValues::InitialBackgroundColor", 1119 }, 1120 affected_by_forced_colors: true, 1121 valid_for_first_letter: true, 1122 valid_for_cue: true, 1123 }, 1124 { 1125 name: "background-image", 1126 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1127 interpolable: true, 1128 keywords: ["auto", "none"], 1129 typedom_types: ["Keyword", "Image"], 1130 separator: " ", 1131 style_builder_template: "background_layer", 1132 style_builder_template_args: { 1133 fill_type: "Image", 1134 fill_type_getter: "GetImage", 1135 }, 1136 valid_for_first_letter: true, 1137 valid_for_cue: true, 1138 }, 1139 { 1140 name: "background-origin", 1141 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1142 keywords: ["border-box", "padding-box", "content-box"], 1143 typedom_types: ["Keyword"], 1144 separator: " ", 1145 style_builder_template: "background_layer", 1146 style_builder_template_args: { 1147 fill_type: "Origin", 1148 }, 1149 valid_for_first_letter: true, 1150 valid_for_cue: true, 1151 }, 1152 { 1153 name: "background-position-x", 1154 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1155 interpolable: true, 1156 style_builder_template: "background_layer", 1157 style_builder_template_args: { 1158 fill_type: "PositionX", 1159 }, 1160 valid_for_first_letter: true, 1161 valid_for_cue: true, 1162 }, 1163 { 1164 name: "background-position-y", 1165 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1166 interpolable: true, 1167 style_builder_template: "background_layer", 1168 style_builder_template_args: { 1169 fill_type: "PositionY", 1170 }, 1171 valid_for_first_letter: true, 1172 valid_for_cue: true, 1173 }, 1174 { 1175 name: "background-repeat-x", 1176 style_builder_template: "background_layer", 1177 style_builder_template_args: { 1178 fill_type: "RepeatX", 1179 }, 1180 valid_for_first_letter: true, 1181 valid_for_cue: true, 1182 }, 1183 { 1184 name: "background-repeat-y", 1185 style_builder_template: "background_layer", 1186 style_builder_template_args: { 1187 fill_type: "RepeatY", 1188 }, 1189 valid_for_first_letter: true, 1190 valid_for_cue: true, 1191 }, 1192 { 1193 name: "background-size", 1194 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1195 interpolable: true, 1196 keywords: ["auto", "cover", "contain"], 1197 typedom_types: ["Keyword", "Length", "Percentage"], 1198 separator: " ", 1199 style_builder_template: "background_layer", 1200 style_builder_template_args: { 1201 fill_type: "Size", 1202 }, 1203 valid_for_first_letter: true, 1204 valid_for_cue: true, 1205 }, 1206 { 1207 name: "baseline-shift", 1208 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1209 interpolable: true, 1210 svg: true, 1211 style_builder_custom_functions: ["inherit", "value"], 1212 keywords: ["sub", "super"], 1213 typedom_types: ["Keyword", "Percentage", "Length"] 1214 }, 1215 { 1216 name: "border-bottom-color", 1217 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1218 interpolable: true, 1219 field_group: "surround", 1220 field_template: "external", 1221 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 1222 default_value: "0", 1223 type_name: "Color", 1224 computed_style_custom_functions: ["getter", "setter"], 1225 keywords: ["currentcolor"], 1226 typedom_types: ["Keyword"], 1227 converter: "ConvertStyleColor", 1228 style_builder_template: "color", 1229 affected_by_forced_colors: true, 1230 valid_for_first_letter: true, 1231 }, 1232 { 1233 name: "border-bottom-left-radius", 1234 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1235 interpolable: true, 1236 field_group: "surround", 1237 field_template: "external", 1238 include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], 1239 default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", 1240 type_name: "LengthSize", 1241 converter: "ConvertRadius", 1242 typedom_types: ["Length", "Percentage"], 1243 valid_for_first_letter: true, 1244 }, 1245 { 1246 name: "border-bottom-right-radius", 1247 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1248 interpolable: true, 1249 field_group: "surround", 1250 field_template: "external", 1251 include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], 1252 default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", 1253 type_name: "LengthSize", 1254 converter: "ConvertRadius", 1255 typedom_types: ["Length", "Percentage"], 1256 valid_for_first_letter: true, 1257 }, 1258 { 1259 name: "border-bottom-style", 1260 property_methods: ["CSSValueFromComputedStyleInternal"], 1261 field_group: "surround", 1262 field_template: "keyword", 1263 keywords: [ 1264 "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", 1265 "dashed", "solid", "double" 1266 ], 1267 typedom_types: ["Keyword"], 1268 default_value: "none", 1269 type_name: "EBorderStyle", 1270 valid_for_first_letter: true, 1271 }, 1272 { 1273 name: "border-bottom-width", 1274 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1275 interpolable: true, 1276 field_group: "surround", 1277 field_template: "external", 1278 include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], 1279 keywords: ["thin", "medium", "thick"], 1280 default_value: "LayoutUnit(3)", 1281 typedom_types: ["Keyword", "Length"], 1282 type_name: "LayoutUnit", 1283 computed_style_custom_functions: ["getter", "setter"], 1284 converter: "ConvertBorderWidth", 1285 valid_for_first_letter: true, 1286 }, 1287 { 1288 name: "border-collapse", 1289 property_methods: ["CSSValueFromComputedStyleInternal"], 1290 independent: true, 1291 inherited: true, 1292 field_template: "keyword", 1293 keywords: ["separate", "collapse"], 1294 typedom_types: ["Keyword"], 1295 default_value: "separate", 1296 }, 1297 { 1298 name: "border-image-outset", 1299 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 1300 interpolable: true, 1301 typedom_types: ["Length", "Number"], 1302 style_builder_template: "border_image", 1303 style_builder_template_args: { 1304 modifier_type: "Outset", 1305 }, 1306 valid_for_first_letter: true, 1307 }, 1308 { 1309 name: "border-image-repeat", 1310 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 1311 keywords: ["stretch", "repeat", "round", "space"], 1312 typedom_types: ["Keyword"], 1313 style_builder_template: "border_image", 1314 style_builder_template_args: { 1315 modifier_type: "Repeat", 1316 }, 1317 valid_for_first_letter: true, 1318 }, 1319 { 1320 name: "border-image-slice", 1321 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 1322 interpolable: true, 1323 typedom_types: ["Number", "Percentage"], 1324 style_builder_template: "border_image", 1325 style_builder_template_args: { 1326 modifier_type: "Slice", 1327 }, 1328 valid_for_first_letter: true, 1329 }, 1330 { 1331 name: "border-image-source", 1332 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 1333 interpolable: true, 1334 keywords: ["none"], 1335 typedom_types: ["Keyword", "Image"], 1336 style_builder_custom_functions: ["value"], 1337 valid_for_first_letter: true, 1338 }, 1339 { 1340 name: "border-image-width", 1341 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 1342 interpolable: true, 1343 keywords: ["auto"], 1344 typedom_types: ["Keyword", "Length", "Percentage", "Number"], 1345 style_builder_template: "border_image", 1346 style_builder_template_args: { 1347 modifier_type: "Width", 1348 }, 1349 valid_for_first_letter: true, 1350 }, 1351 { 1352 name: "border-left-color", 1353 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1354 interpolable: true, 1355 field_group: "surround", 1356 field_template: "external", 1357 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 1358 default_value: "0", 1359 type_name: "Color", 1360 computed_style_custom_functions: ["getter", "setter"], 1361 keywords: ["currentcolor"], 1362 typedom_types: ["Keyword"], 1363 converter: "ConvertStyleColor", 1364 style_builder_template: "color", 1365 affected_by_forced_colors: true, 1366 valid_for_first_letter: true, 1367 }, 1368 { 1369 name: "border-left-style", 1370 property_methods: ["CSSValueFromComputedStyleInternal"], 1371 field_group: "surround", 1372 field_template: "keyword", 1373 keywords: [ 1374 "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", 1375 "dashed", "solid", "double" 1376 ], 1377 typedom_types: ["Keyword"], 1378 default_value: "none", 1379 type_name: "EBorderStyle", 1380 valid_for_first_letter: true, 1381 }, 1382 { 1383 name: "border-left-width", 1384 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1385 interpolable: true, 1386 field_group: "surround", 1387 field_template: "external", 1388 include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], 1389 keywords: ["thin", "medium", "thick"], 1390 default_value: "LayoutUnit(3)", 1391 typedom_types: ["Keyword", "Length"], 1392 type_name: "LayoutUnit", 1393 computed_style_custom_functions: ["getter", "setter"], 1394 converter: "ConvertBorderWidth", 1395 valid_for_first_letter: true, 1396 }, 1397 { 1398 name: "border-right-color", 1399 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1400 interpolable: true, 1401 field_group: "surround", 1402 field_template: "external", 1403 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 1404 default_value: "0", 1405 type_name: "Color", 1406 computed_style_custom_functions: ["getter", "setter"], 1407 keywords: ["currentcolor"], 1408 typedom_types: ["Keyword"], 1409 converter: "ConvertStyleColor", 1410 style_builder_template: "color", 1411 affected_by_forced_colors: true, 1412 valid_for_first_letter: true, 1413 }, 1414 { 1415 name: "border-right-style", 1416 property_methods: ["CSSValueFromComputedStyleInternal"], 1417 field_group: "surround", 1418 field_template: "keyword", 1419 keywords: [ 1420 "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", 1421 "dashed", "solid", "double" 1422 ], 1423 typedom_types: ["Keyword"], 1424 default_value: "none", 1425 type_name: "EBorderStyle", 1426 valid_for_first_letter: true, 1427 }, 1428 { 1429 name: "border-right-width", 1430 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1431 interpolable: true, 1432 field_group: "surround", 1433 field_template: "external", 1434 include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], 1435 keywords: ["thin", "medium", "thick"], 1436 default_value: "LayoutUnit(3)", 1437 typedom_types: ["Keyword", "Length"], 1438 type_name: "LayoutUnit", 1439 computed_style_custom_functions: ["getter", "setter"], 1440 converter: "ConvertBorderWidth", 1441 valid_for_first_letter: true, 1442 }, 1443 { 1444 name: "border-top-color", 1445 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1446 interpolable: true, 1447 field_group: "surround", 1448 field_template: "external", 1449 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 1450 default_value: "0", 1451 type_name: "Color", 1452 computed_style_custom_functions: ["getter", "setter"], 1453 keywords: ["currentcolor"], 1454 typedom_types: ["Keyword"], 1455 converter: "ConvertStyleColor", 1456 style_builder_template: "color", 1457 affected_by_forced_colors: true, 1458 valid_for_first_letter: true, 1459 }, 1460 { 1461 name: "border-top-left-radius", 1462 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1463 interpolable: true, 1464 field_group: "surround", 1465 field_template: "external", 1466 include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], 1467 default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", 1468 type_name: "LengthSize", 1469 converter: "ConvertRadius", 1470 typedom_types: ["Length", "Percentage"], 1471 valid_for_first_letter: true, 1472 }, 1473 { 1474 name: "border-top-right-radius", 1475 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1476 interpolable: true, 1477 field_group: "surround", 1478 field_template: "external", 1479 include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], 1480 default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", 1481 type_name: "LengthSize", 1482 converter: "ConvertRadius", 1483 typedom_types: ["Length", "Percentage"], 1484 valid_for_first_letter: true, 1485 }, 1486 { 1487 name: "border-top-style", 1488 property_methods: ["CSSValueFromComputedStyleInternal"], 1489 field_group: "surround", 1490 field_template: "keyword", 1491 keywords: [ 1492 "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", 1493 "dashed", "solid", "double" 1494 ], 1495 typedom_types: ["Keyword"], 1496 default_value: "none", 1497 type_name: "EBorderStyle", 1498 valid_for_first_letter: true, 1499 }, 1500 { 1501 name: "border-top-width", 1502 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1503 interpolable: true, 1504 field_group: "surround", 1505 field_template: "external", 1506 include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], 1507 keywords: ["thin", "medium", "thick"], 1508 default_value: "LayoutUnit(3)", 1509 typedom_types: ["Keyword", "Length"], 1510 type_name: "LayoutUnit", 1511 computed_style_custom_functions: ["getter", "setter"], 1512 converter: "ConvertBorderWidth", 1513 valid_for_first_letter: true, 1514 }, 1515 { 1516 name: "bottom", 1517 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1518 interpolable: true, 1519 layout_dependent: true, 1520 field_group: "surround", 1521 field_template: "<length>", 1522 keywords: ["auto"], 1523 default_value: "Length()", 1524 typedom_types: ["Keyword", "Length", "Percentage"], 1525 converter: "ConvertLengthOrAuto", 1526 }, 1527 { 1528 name: "box-shadow", 1529 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1530 interpolable: true, 1531 field_group: "*", 1532 field_template: "pointer", 1533 include_paths: ["third_party/blink/renderer/core/style/shadow_list.h"], 1534 wrapper_pointer_name: "scoped_refptr", 1535 default_value: "nullptr", 1536 type_name: "ShadowList", 1537 converter: "ConvertShadowList", 1538 keywords: ["none"], 1539 typedom_types: ["Keyword"], 1540 affected_by_forced_colors: true, 1541 valid_for_first_letter: true, 1542 }, 1543 { 1544 name: "box-sizing", 1545 property_methods: ["CSSValueFromComputedStyleInternal"], 1546 field_group: "box", 1547 field_template: "keyword", 1548 keywords: ["content-box", "border-box"], 1549 typedom_types: ["Keyword"], 1550 default_value: "content-box", 1551 }, 1552 { 1553 name: "break-after", 1554 property_methods: ["CSSValueFromComputedStyleInternal"], 1555 // Storage for this property also covers these legacy properties: 1556 // page-break-after, -webkit-column-break-after 1557 field_template: "keyword", 1558 keywords: [ 1559 "auto", "avoid", "avoid-column", "avoid-page", "column", "left", "page", 1560 "recto", "right", "verso" 1561 ], 1562 typedom_types: ["Keyword"], 1563 default_value: "auto", 1564 type_name: "EBreakBetween", 1565 }, 1566 { 1567 name: "break-before", 1568 property_methods: ["CSSValueFromComputedStyleInternal"], 1569 // Storage for this property also covers these legacy properties: 1570 // page-break-before, -webkit-column-break-before 1571 field_template: "keyword", 1572 keywords: [ 1573 "auto", "avoid", "avoid-column", "avoid-page", "column", "left", "page", 1574 "recto", "right", "verso" 1575 ], 1576 typedom_types: ["Keyword"], 1577 default_value: "auto", 1578 type_name: "EBreakBetween", 1579 }, 1580 { 1581 name: "break-inside", 1582 property_methods: ["CSSValueFromComputedStyleInternal"], 1583 // Storage for this property also covers these legacy properties: 1584 // page-break-inside, -webkit-column-break-inside 1585 field_template: "keyword", 1586 keywords: ["auto", "avoid", "avoid-column", "avoid-page"], 1587 typedom_types: ["Keyword"], 1588 default_value: "auto", 1589 }, 1590 { 1591 name: "buffered-rendering", 1592 property_methods: ["CSSValueFromComputedStyleInternal"], 1593 svg: true, 1594 }, 1595 { 1596 name: "caption-side", 1597 property_methods: ["CSSValueFromComputedStyleInternal"], 1598 independent: true, 1599 inherited: true, 1600 field_template: "keyword", 1601 keywords: ["top", "bottom"], 1602 typedom_types: ["Keyword"], 1603 default_value: "top", 1604 }, 1605 { 1606 name: "caret-color", 1607 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1608 interpolable: true, 1609 inherited: true, 1610 field_group: "*", 1611 field_template: "external", 1612 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 1613 default_value: "Color()", 1614 type_name: "Color", 1615 computed_style_custom_functions: ["getter", "setter"], 1616 style_builder_custom_functions: ["initial", "inherit", "value"], 1617 keywords: ["auto", "currentcolor"], 1618 typedom_types: ["Keyword"], 1619 }, 1620 { 1621 name: "clear", 1622 property_methods: ["CSSValueFromComputedStyleInternal"], 1623 field_template: "keyword", 1624 computed_style_custom_functions: ["getter"], 1625 keywords: ["none", "left", "right", "both", "inline-start", "inline-end"], 1626 typedom_types: ["Keyword"], 1627 default_value: "none", 1628 }, 1629 { 1630 name: "clip", 1631 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1632 interpolable: true, 1633 field_group: "visual", 1634 field_template: "external", 1635 include_paths: ["third_party/blink/renderer/platform/geometry/length_box.h"], 1636 default_value: "LengthBox()", 1637 type_name: "LengthBox", 1638 computed_style_custom_functions: ["setter"], 1639 style_builder_template: "auto", 1640 converter: "ConvertClip", 1641 keywords: ["auto"], 1642 typedom_types: ["Keyword"], 1643 }, 1644 { 1645 name: "clip-path", 1646 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1647 interpolable: true, 1648 field_group: "*", 1649 field_template: "pointer", 1650 include_paths: ["third_party/blink/renderer/core/style/clip_path_operation.h"], 1651 wrapper_pointer_name: "scoped_refptr", 1652 default_value: "nullptr", 1653 type_name: "ClipPathOperation", 1654 converter: "ConvertClipPath", 1655 keywords: ["none"], 1656 typedom_types: ["Keyword"] 1657 }, 1658 { 1659 name: "clip-rule", 1660 property_methods: ["CSSValueFromComputedStyleInternal"], 1661 inherited: true, 1662 svg: true, 1663 type_name: "WindRule", 1664 keywords: ["nonzero", "evenodd"], 1665 typedom_types: ["Keyword"] 1666 }, 1667 { 1668 name: "color-interpolation", 1669 property_methods: ["CSSValueFromComputedStyleInternal"], 1670 inherited: true, 1671 svg: true, 1672 keywords: ["auto", "srgb", "linearrgb"], 1673 typedom_types: ["Keyword"], 1674 }, 1675 { 1676 name: "color-interpolation-filters", 1677 property_methods: ["CSSValueFromComputedStyleInternal"], 1678 inherited: true, 1679 svg: true, 1680 type_name: "EColorInterpolation", 1681 }, 1682 { 1683 name: "color-rendering", 1684 property_methods: ["CSSValueFromComputedStyleInternal"], 1685 inherited: true, 1686 svg: true, 1687 keywords: ["auto", "optimizespeed", "optimizequality"], 1688 typedom_types: ["Keyword"], 1689 }, 1690 { 1691 name: "color-scheme", 1692 field_group: "*", 1693 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], 1694 style_builder_custom_functions: ["initial", "inherit", "value"], 1695 inherited: true, 1696 runtime_flag: "CSSColorScheme", 1697 include_paths: ["third_party/blink/public/platform/web_color_scheme.h"], 1698 type_name: "Vector<AtomicString>", 1699 default_value: "Vector<AtomicString, 0>()", 1700 field_template: "external", 1701 priority: "High", 1702 }, 1703 { 1704 name: "column-fill", 1705 property_methods: ["CSSValueFromComputedStyleInternal"], 1706 field_group: "*", 1707 field_template: "keyword", 1708 keywords: ["balance", "auto"], 1709 default_value: "balance", 1710 getter: "GetColumnFill", 1711 typedom_types: ["Keyword"] 1712 }, 1713 { 1714 name: "contain", 1715 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1716 field_group: "*", 1717 field_size: 4, 1718 field_template: "primitive", 1719 default_value: "kContainsNone", 1720 name_for_methods: "Contain", 1721 type_name: "unsigned", 1722 converter: "ConvertFlags<Containment>", 1723 keywords: ["none", "strict", "content", "size", "layout", "style", "paint"], 1724 typedom_types: ["Keyword"], 1725 }, 1726 { 1727 name: "contain-intrinsic-size", 1728 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1729 interpolable: true, 1730 field_group: "box", 1731 field_template: "external", 1732 keywords: ["auto"], 1733 default_value: "LengthSize(Length::Auto(), Length::Auto())", 1734 type_name: "LengthSize", 1735 converter: "ConvertIntrinsicSize", 1736 include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], 1737 runtime_flag: "CSSIntrinsicSize" 1738 }, 1739 { 1740 name: "content", 1741 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1742 field_group: "*", 1743 field_template: "external", 1744 include_paths: ["third_party/blink/renderer/core/style/content_data.h"], 1745 wrapper_pointer_name: "Persistent", 1746 default_value: "nullptr", 1747 separator: ",", 1748 type_name: "ContentData", 1749 computed_style_custom_functions: ["getter", "setter"], 1750 style_builder_custom_functions: ["initial", "inherit", "value"], 1751 valid_for_marker: true, 1752 }, 1753 { 1754 name: "counter-increment", 1755 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1756 style_builder_template: "counter", 1757 style_builder_template_args: { 1758 action: "Increment", 1759 }, 1760 keywords: ["none"], 1761 typedom_types: ["Keyword"], 1762 }, 1763 { 1764 name: "counter-reset", 1765 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1766 style_builder_template: "counter", 1767 style_builder_template_args: { 1768 action: "Reset", 1769 }, 1770 keywords: ["none"], 1771 typedom_types: ["Keyword"], 1772 }, 1773 { 1774 name: "cursor", 1775 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1776 inherited: true, 1777 field_template: "keyword", 1778 keywords: [ 1779 "auto", "default", "none", "context-menu", "help", "pointer", 1780 "progress", "wait", "cell", "crosshair", "text", "vertical-text", 1781 "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", 1782 "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", 1783 "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", 1784 "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", 1785 "zoom-out", "grab", "grabbing" 1786 ], 1787 default_value: "auto", 1788 style_builder_custom_functions: ["initial", "inherit", "value"], 1789 typedom_types: ["Keyword"] 1790 }, 1791 { 1792 name: "cx", 1793 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1794 interpolable: true, 1795 svg: true, 1796 typedom_types: ["Length", "Percentage"], 1797 converter: "ConvertLength", 1798 }, 1799 { 1800 name: "cy", 1801 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1802 interpolable: true, 1803 svg: true, 1804 typedom_types: ["Length", "Percentage"], 1805 converter: "ConvertLength", 1806 }, 1807 { 1808 name: "d", 1809 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1810 interpolable: true, 1811 svg: true, 1812 converter: "ConvertPathOrNone", 1813 keywords: ["none"], 1814 typedom_types: ["Keyword"], 1815 }, 1816 { 1817 name: "display", 1818 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1819 keywords: [ 1820 "inline", "block", "list-item", "inline-block", "table", "inline-table", 1821 "table-row-group", "table-header-group", "table-footer-group", 1822 "table-row", "table-column-group", "table-column", "table-cell", 1823 "table-caption", "-webkit-box", "-webkit-inline-box", "flex", 1824 "inline-flex", "grid", "inline-grid", "contents", "flow-root", "none" 1825 ], 1826 typedom_types: ["Keyword"], 1827 style_builder_custom_functions: ["initial", "inherit", "value"], 1828 }, 1829 { 1830 name: "dominant-baseline", 1831 property_methods: ["CSSValueFromComputedStyleInternal"], 1832 inherited: true, 1833 svg: true, 1834 keywords: ["auto", "alphabetic", "ideographic", "middle", "central", "mathematical", "hanging"], 1835 typedom_types: ["Keyword"] 1836 }, 1837 { 1838 name: "empty-cells", 1839 property_methods: ["CSSValueFromComputedStyleInternal"], 1840 independent: true, 1841 inherited: true, 1842 field_template: "keyword", 1843 keywords: ["show", "hide"], 1844 typedom_types: ["Keyword"], 1845 default_value: "show", 1846 }, 1847 { 1848 name: "fill", 1849 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1850 interpolable: true, 1851 inherited: true, 1852 svg: true, 1853 initial: "InitialFillPaint", 1854 setter: "SetFillPaint", 1855 getter: "FillPaint", 1856 converter: "ConvertSVGPaint", 1857 affected_by_forced_colors: true, 1858 }, 1859 { 1860 name: "fill-opacity", 1861 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1862 interpolable: true, 1863 inherited: true, 1864 svg: true, 1865 converter: "ConvertAlpha", 1866 typedom_types: ["Number"], 1867 }, 1868 { 1869 name: "fill-rule", 1870 property_methods: ["CSSValueFromComputedStyleInternal"], 1871 inherited: true, 1872 svg: true, 1873 type_name: "WindRule", 1874 keywords: ["nonzero", "evenodd"], 1875 typedom_types: ["Keyword"] 1876 }, 1877 { 1878 name: "filter", 1879 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1880 interpolable: true, 1881 compositable: true, 1882 field_group: "*", 1883 field_template: "external", 1884 include_paths: ["third_party/blink/renderer/core/style/style_filter_data.h"], 1885 wrapper_pointer_name: "Persistent", 1886 default_value: "MakeGarbageCollected<StyleFilterData>()", 1887 type_name: "StyleFilterData", 1888 computed_style_custom_functions: ["initial", "getter", "setter"], 1889 converter: "ConvertFilterOperations", 1890 keywords: ["none"], 1891 typedom_types: ["Keyword"], 1892 }, 1893 { 1894 name: "flex-basis", 1895 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1896 interpolable: true, 1897 field_group: "*", 1898 field_template: "<length>", 1899 default_value: "Length::Auto()", 1900 converter: "ConvertLengthOrAuto", 1901 typedom_types: ["Keyword", "Length", "Percentage"], 1902 keywords: ["auto"] 1903 }, 1904 { 1905 name: "flex-direction", 1906 property_methods: ["CSSValueFromComputedStyleInternal"], 1907 field_group: "*", 1908 field_template: "keyword", 1909 typedom_types: ["Keyword"], 1910 keywords: ["row", "row-reverse", "column", "column-reverse"], 1911 default_value: "row", 1912 }, 1913 { 1914 name: "flex-grow", 1915 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1916 interpolable: true, 1917 field_group: "*", 1918 field_template: "primitive", 1919 default_value: "0.0f", 1920 type_name: "float", 1921 typedom_types: ["Number"], 1922 }, 1923 { 1924 name: "flex-shrink", 1925 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1926 interpolable: true, 1927 field_group: "*", 1928 field_template: "primitive", 1929 default_value: "1.0f", 1930 type_name: "float", 1931 typedom_types: ["Number"], 1932 }, 1933 { 1934 name: "flex-wrap", 1935 property_methods: ["CSSValueFromComputedStyleInternal"], 1936 field_group: "*", 1937 field_template: "keyword", 1938 typedom_types: ["Keyword"], 1939 keywords: ["nowrap", "wrap", "wrap-reverse"], 1940 default_value: "nowrap", 1941 }, 1942 { 1943 name: "float", 1944 property_methods: ["CSSValueFromComputedStyleInternal"], 1945 field_template: "keyword", 1946 computed_style_custom_functions: ["getter"], 1947 keywords: ["none", "left", "right", "inline-start", "inline-end"], 1948 typedom_types: ["Keyword"], 1949 default_value: "none", 1950 name_for_methods: "Floating", 1951 type_name: "EFloat", 1952 valid_for_first_letter: true, 1953 }, 1954 { 1955 name: "flood-color", 1956 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 1957 interpolable: true, 1958 svg: true, 1959 converter: "ConvertStyleColor", 1960 keywords: ["currentcolor"], 1961 typedom_types: ["Keyword"], 1962 }, 1963 { 1964 name: "flood-opacity", 1965 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1966 interpolable: true, 1967 svg: true, 1968 converter: "ConvertAlpha", 1969 typedom_types: ["Number"] 1970 }, 1971 { 1972 name: "grid-auto-columns", 1973 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1974 field_group: "*", 1975 field_template: "external", 1976 include_paths: ["third_party/blink/renderer/platform/wtf/vector.h", 1977 "third_party/blink/renderer/core/style/grid_track_size.h"], 1978 default_value: "Vector<GridTrackSize>(1, GridTrackSize(Length::Auto()))", 1979 type_name: "Vector<GridTrackSize>", 1980 converter: "ConvertGridTrackSizeList", 1981 keywords: ["auto", "min-content", "max-content"], 1982 typedom_types: ["Keyword", "Length", "Percentage", "Flex"], 1983 separator: " " 1984 }, 1985 { 1986 name: "grid-auto-flow", 1987 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 1988 field_group: "*", 1989 field_size: 4, // FIXME: Make this use "kGridAutoFlowBits". 1990 field_template: "primitive", 1991 default_value: "kAutoFlowRow", 1992 type_name: "GridAutoFlow", 1993 computed_style_custom_functions: ["getter"], 1994 converter: "ConvertGridAutoFlow", 1995 keywords: ["row", "column"], 1996 typedom_types: ["Keyword"] 1997 }, 1998 { 1999 name: "grid-auto-rows", 2000 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2001 field_group: "*", 2002 field_template: "external", 2003 include_paths: ["third_party/blink/renderer/platform/wtf/vector.h", 2004 "third_party/blink/renderer/core/style/grid_track_size.h"], 2005 default_value: "Vector<GridTrackSize>(1, GridTrackSize(Length::Auto()))", 2006 type_name: "Vector<GridTrackSize>", 2007 converter: "ConvertGridTrackSizeList", 2008 keywords: ["auto", "min-content", "max-content"], 2009 typedom_types: ["Keyword", "Length", "Percentage", "Flex"], 2010 separator: " " 2011 }, 2012 { 2013 name: "grid-column-end", 2014 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2015 field_group: "*", 2016 field_template: "external", 2017 include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], 2018 default_value: "GridPosition()", 2019 type_name: "GridPosition", 2020 keywords: ["auto"], 2021 typedom_types: ["Keyword"], 2022 converter: "ConvertGridPosition", 2023 }, 2024 { 2025 name: "grid-column-start", 2026 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2027 field_group: "*", 2028 field_template: "external", 2029 include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], 2030 default_value: "GridPosition()", 2031 type_name: "GridPosition", 2032 keywords: ["auto"], 2033 typedom_types: ["Keyword"], 2034 converter: "ConvertGridPosition", 2035 }, 2036 { 2037 name: "grid-row-end", 2038 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2039 field_group: "*", 2040 field_template: "external", 2041 include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], 2042 default_value: "GridPosition()", 2043 type_name: "GridPosition", 2044 keywords: ["auto"], 2045 typedom_types: ["Keyword"], 2046 converter: "ConvertGridPosition", 2047 }, 2048 { 2049 name: "grid-row-start", 2050 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2051 field_group: "*", 2052 field_template: "external", 2053 include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], 2054 default_value: "GridPosition()", 2055 type_name: "GridPosition", 2056 keywords: ["auto"], 2057 typedom_types: ["Keyword"], 2058 converter: "ConvertGridPosition", 2059 }, 2060 { 2061 name: "grid-template-areas", 2062 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2063 style_builder_custom_functions: ["initial", "inherit", "value"], 2064 keywords: ["none"], 2065 typedom_types: ["Keyword"] 2066 }, 2067 { 2068 name: "grid-template-columns", 2069 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2070 layout_dependent: true, 2071 field_group: "*", 2072 field_template: "external", 2073 include_paths: ["third_party/blink/renderer/platform/wtf/vector.h", 2074 "third_party/blink/renderer/core/style/grid_track_size.h"], 2075 default_value: "Vector<GridTrackSize>()", 2076 type_name: "Vector<GridTrackSize>", 2077 style_builder_template: "grid", 2078 style_builder_template_args: { 2079 type: "Column", 2080 }, 2081 keywords: ["none"], 2082 typedom_types: ["Keyword"] 2083 }, 2084 { 2085 name: "grid-template-rows", 2086 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2087 layout_dependent: true, 2088 field_group: "*", 2089 field_template: "external", 2090 include_paths: ["third_party/blink/renderer/platform/wtf/vector.h", 2091 "third_party/blink/renderer/core/style/grid_track_size.h"], 2092 default_value: "Vector<GridTrackSize>()", 2093 type_name: "Vector<GridTrackSize>", 2094 style_builder_template: "grid", 2095 style_builder_template_args: { 2096 type: "Row", 2097 }, 2098 keywords: ["none"], 2099 typedom_types: ["Keyword"] 2100 }, 2101 { 2102 name: "height", 2103 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2104 is_descriptor: true, 2105 interpolable: true, 2106 layout_dependent: true, 2107 field_group: "box", 2108 field_template: "<length>", 2109 keywords: ["auto", "fit-content", "min-content", "max-content"], 2110 default_value: "Length()", 2111 typedom_types: ["Keyword", "Length", "Percentage"], 2112 converter: "ConvertLengthSizing", 2113 }, 2114 { 2115 name: "hyphens", 2116 property_methods: ["CSSValueFromComputedStyleInternal"], 2117 inherited: true, 2118 field_group: "*", 2119 field_template: "keyword", 2120 keywords: ["none", "manual", "auto"], 2121 default_value: "manual", 2122 type_name: "Hyphens", 2123 typedom_types: ["Keyword"] 2124 }, 2125 { 2126 name: "image-rendering", 2127 property_methods: ["CSSValueFromComputedStyleInternal"], 2128 inherited: true, 2129 field_group: "*", 2130 field_template: "keyword", 2131 keywords: [ 2132 "auto", "optimizespeed", "optimizequality", 2133 "-webkit-optimize-contrast", "pixelated" 2134 ], 2135 typedom_types: ["Keyword"], 2136 default_value: "auto", 2137 }, 2138 { 2139 name: "image-orientation", 2140 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2141 inherited: true, 2142 runtime_flag: "ImageOrientation", 2143 field_group: "*", 2144 field_template: "primitive", 2145 default_value: "true", 2146 name_for_methods: "RespectImageOrientation", 2147 type_name: "bool", 2148 converter: "ConvertImageOrientation", 2149 }, 2150 { 2151 name: "isolation", 2152 property_methods: ["CSSValueFromComputedStyleInternal"], 2153 field_group: "*", 2154 field_template: "keyword", 2155 keywords: ["auto", "isolate"], 2156 typedom_types: ["Keyword"], 2157 default_value: "auto", 2158 }, 2159 { 2160 name: "justify-content", 2161 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2162 field_group: "*", 2163 field_template: "external", 2164 include_paths: ["third_party/blink/renderer/core/style/style_content_alignment_data.h"], 2165 default_value: "StyleContentAlignmentData(ContentPosition::kNormal, ContentDistributionType::kDefault, OverflowAlignment::kDefault)", 2166 type_name: "StyleContentAlignmentData", 2167 converter: "ConvertContentAlignmentData", 2168 }, 2169 { 2170 name: "justify-items", 2171 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2172 field_group: "*", 2173 field_template: "external", 2174 include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], 2175 default_value: "StyleSelfAlignmentData(ItemPosition::kLegacy, OverflowAlignment::kDefault)", 2176 type_name: "StyleSelfAlignmentData", 2177 converter: "ConvertSelfOrDefaultAlignmentData", 2178 }, 2179 { 2180 name: "justify-self", 2181 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2182 field_group: "*", 2183 field_template: "external", 2184 include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], 2185 default_value: "StyleSelfAlignmentData(ItemPosition::kAuto, OverflowAlignment::kDefault)", 2186 type_name: "StyleSelfAlignmentData", 2187 converter: "ConvertSelfOrDefaultAlignmentData", 2188 }, 2189 { 2190 name: "left", 2191 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2192 interpolable: true, 2193 layout_dependent: true, 2194 field_group: "surround", 2195 field_template: "<length>", 2196 keywords: ["auto"], 2197 default_value: "Length()", 2198 typedom_types: ["Keyword", "Length", "Percentage"], 2199 converter: "ConvertLengthOrAuto", 2200 }, 2201 { 2202 name: "letter-spacing", 2203 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2204 interpolable: true, 2205 inherited: true, 2206 converter: "ConvertSpacing", 2207 keywords: ["normal"], 2208 typedom_types: ["Keyword", "Length"], 2209 valid_for_first_letter: true, 2210 }, 2211 { 2212 name: "lighting-color", 2213 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 2214 interpolable: true, 2215 svg: true, 2216 converter: "ConvertStyleColor", 2217 keywords: ["currentcolor"], 2218 typedom_types: ["Keyword"], 2219 }, 2220 { 2221 name: "line-height", 2222 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2223 interpolable: true, 2224 inherited: true, 2225 field_group: "inherited", 2226 field_template: "<length>", 2227 default_value: "Length::Percent(-100.0)", 2228 getter: "SpecifiedLineHeight", 2229 computed_style_custom_functions: ["getter"], 2230 converter: "ConvertLineHeight", 2231 keywords: ["normal"], 2232 typedom_types: ["Keyword", "Length", "Number", "Percentage"], 2233 valid_for_first_letter: true, 2234 valid_for_cue: true, 2235 }, 2236 { 2237 name: "line-height-step", 2238 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2239 inherited: true, 2240 runtime_flag: "CSSSnapSize", 2241 field_group: "*", 2242 field_template: "primitive", 2243 default_value: "0", 2244 type_name: "uint8_t", 2245 converter: "ConvertComputedLength<uint8_t>", 2246 typedom_types: ["Length"], 2247 }, 2248 { 2249 name: "list-style-image", 2250 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2251 interpolable: true, 2252 inherited: true, 2253 field_group: "*", 2254 field_template: "external", 2255 include_paths: ["third_party/blink/renderer/core/style/style_image.h"], 2256 wrapper_pointer_name: "Persistent", 2257 default_value: "nullptr", 2258 typedom_types: ["Keyword", "Image"], 2259 type_name: "StyleImage", 2260 computed_style_custom_functions: ["getter", "setter"], 2261 style_builder_custom_functions: ["value"], 2262 keywords: ["none"] 2263 }, 2264 { 2265 name: "list-style-position", 2266 property_methods: ["CSSValueFromComputedStyleInternal"], 2267 independent: true, 2268 inherited: true, 2269 field_template: "keyword", 2270 keywords: ["outside", "inside"], 2271 typedom_types: ["Keyword"], 2272 default_value: "outside", 2273 }, 2274 { 2275 name: "list-style-type", 2276 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2277 inherited: true, 2278 keywords: [ 2279 "disc", "circle", "square", "decimal", "decimal-leading-zero", 2280 "arabic-indic", "bengali", "cambodian", "khmer", "devanagari", 2281 "gujarati", "gurmukhi", "kannada", "lao", "malayalam", "mongolian", 2282 "myanmar", "oriya", "persian", "urdu", "telugu", "tibetan", "thai", 2283 "lower-roman", "upper-roman", "lower-greek", "lower-alpha", 2284 "lower-latin", "upper-alpha", "upper-latin", "cjk-earthly-branch", 2285 "cjk-heavenly-stem", "ethiopic-halehame", "ethiopic-halehame-am", 2286 "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "hangul", 2287 "hangul-consonant", "korean-hangul-formal", "korean-hanja-formal", 2288 "korean-hanja-informal", "hebrew", "armenian", "lower-armenian", 2289 "upper-armenian", "georgian", "cjk-ideographic", "simp-chinese-formal", 2290 "simp-chinese-informal", "trad-chinese-formal", "trad-chinese-informal", 2291 "hiragana", "katakana", "hiragana-iroha", "katakana-iroha", "none" 2292 ], 2293 style_builder_custom_functions: ["initial", "inherit", "value"], 2294 }, 2295 { 2296 name: "margin-bottom", 2297 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2298 interpolable: true, 2299 layout_dependent: true, 2300 field_group: "surround", 2301 field_template: "<length>", 2302 default_value: "Length::Fixed()", 2303 converter: "ConvertQuirkyLength", 2304 computed_style_custom_functions: ["setter"], 2305 keywords: ["auto"], 2306 typedom_types: ["Keyword", "Length", "Percentage"], 2307 valid_for_first_letter: true, 2308 }, 2309 { 2310 name: "margin-left", 2311 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2312 interpolable: true, 2313 layout_dependent: true, 2314 field_group: "surround", 2315 field_template: "<length>", 2316 default_value: "Length::Fixed()", 2317 converter: "ConvertQuirkyLength", 2318 computed_style_custom_functions: ["setter"], 2319 keywords: ["auto"], 2320 typedom_types: ["Keyword", "Length", "Percentage"], 2321 valid_for_first_letter: true, 2322 }, 2323 { 2324 name: "margin-right", 2325 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2326 interpolable: true, 2327 layout_dependent: true, 2328 field_group: "surround", 2329 field_template: "<length>", 2330 default_value: "Length::Fixed()", 2331 converter: "ConvertQuirkyLength", 2332 computed_style_custom_functions: ["setter"], 2333 keywords: ["auto"], 2334 typedom_types: ["Keyword", "Length", "Percentage"], 2335 valid_for_first_letter: true, 2336 }, 2337 { 2338 name: "margin-top", 2339 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2340 interpolable: true, 2341 layout_dependent: true, 2342 field_group: "surround", 2343 field_template: "<length>", 2344 default_value: "Length::Fixed()", 2345 converter: "ConvertQuirkyLength", 2346 computed_style_custom_functions: ["setter"], 2347 keywords: ["auto"], 2348 typedom_types: ["Keyword", "Length", "Percentage"], 2349 valid_for_first_letter: true, 2350 }, 2351 { 2352 name: "marker-end", 2353 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2354 inherited: true, 2355 svg: true, 2356 name_for_methods: "MarkerEndResource", 2357 converter: "ConvertElementReference", 2358 keywords: ["none"], 2359 typedom_types: ["Keyword"] 2360 }, 2361 { 2362 name: "marker-mid", 2363 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2364 inherited: true, 2365 svg: true, 2366 name_for_methods: "MarkerMidResource", 2367 converter: "ConvertElementReference", 2368 keywords: ["none"], 2369 typedom_types: ["Keyword"] 2370 }, 2371 { 2372 name: "marker-start", 2373 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2374 inherited: true, 2375 svg: true, 2376 name_for_methods: "MarkerStartResource", 2377 converter: "ConvertElementReference", 2378 keywords: ["none"], 2379 typedom_types: ["Keyword"] 2380 }, 2381 { 2382 name: "mask", 2383 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2384 svg: true, 2385 name_for_methods: "MaskerResource", 2386 converter: "ConvertElementReference", 2387 }, 2388 { 2389 name: "mask-source-type", 2390 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2391 runtime_flag: "CSSMaskSourceType", 2392 style_builder_template: "mask_layer", 2393 style_builder_template_args: { 2394 fill_type: "MaskSourceType", 2395 }, 2396 }, 2397 { 2398 name: "mask-type", 2399 property_methods: ["CSSValueFromComputedStyleInternal"], 2400 svg: true, 2401 keywords: ["luminance", "alpha"], 2402 typedom_types: ["Keyword"] 2403 }, 2404 // TODO(rbuis): should be moved to high priority later. 2405 { 2406 name: "math-style", 2407 property_methods: ["CSSValueFromComputedStyleInternal"], 2408 field_template: "keyword", 2409 inherited: true, 2410 keywords: ["inline", "display"], 2411 typedom_types: ["Keyword"], 2412 default_value: "inline", 2413 runtime_flag: "CSSMathStyle" 2414 }, 2415 { 2416 name: "max-height", 2417 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2418 is_descriptor: true, 2419 interpolable: true, 2420 field_group: "box", 2421 field_template: "<length>", 2422 default_value: "Length::None()", 2423 converter: "ConvertLengthMaxSizing", 2424 keywords: ["none"], 2425 typedom_types: ["Keyword", "Length", "Percentage"] 2426 }, 2427 { 2428 name: "max-width", 2429 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2430 is_descriptor: true, 2431 interpolable: true, 2432 field_group: "box", 2433 field_template: "<length>", 2434 default_value: "Length::None()", 2435 converter: "ConvertLengthMaxSizing", 2436 keywords: ["none"], 2437 typedom_types: ["Keyword", "Length", "Percentage"] 2438 }, 2439 { 2440 name: "min-height", 2441 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2442 is_descriptor: true, 2443 interpolable: true, 2444 field_group: "box", 2445 field_template: "<length>", 2446 default_value: "Length()", 2447 converter: "ConvertLengthSizing", 2448 typedom_types: ["Length", "Percentage"] 2449 }, 2450 { 2451 name: "min-width", 2452 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2453 is_descriptor: true, 2454 interpolable: true, 2455 field_group: "box", 2456 field_template: "<length>", 2457 default_value: "Length()", 2458 converter: "ConvertLengthSizing", 2459 typedom_types: ["Length", "Percentage"] 2460 }, 2461 { 2462 name: "mix-blend-mode", 2463 property_methods: ["CSSValueFromComputedStyleInternal"], 2464 field_group: "*", 2465 field_template: "keyword", 2466 include_paths: ["third_party/blink/renderer/platform/graphics/graphics_types.h"], 2467 keywords: [ 2468 "normal", "multiply", "screen", "overlay", "darken", "lighten", 2469 "color-dodge", "color-burn", "hard-light", "soft-light", "difference", 2470 "exclusion", "hue", "saturation", "color", "luminosity" 2471 ], 2472 typedom_types: ["Keyword"], 2473 default_value: "normal", 2474 name_for_methods: "BlendMode", 2475 type_name: "BlendMode", 2476 }, 2477 { 2478 name: "object-fit", 2479 property_methods: ["CSSValueFromComputedStyleInternal"], 2480 field_group: "*", 2481 field_template: "keyword", 2482 keywords: ["fill", "contain", "cover", "none", "scale-down"], 2483 typedom_types: ["Keyword"], 2484 default_value: "fill", 2485 getter: "GetObjectFit", 2486 }, 2487 { 2488 name: "object-position", 2489 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2490 interpolable: true, 2491 field_group: "*", 2492 field_template: "external", 2493 include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], 2494 default_value: "LengthPoint(Length::Percent(50.0), Length::Percent(50.0))", 2495 type_name: "LengthPoint", 2496 converter: "ConvertPosition", 2497 typedom_types: ["Keyword", "Position"], 2498 }, 2499 { 2500 name: "offset-anchor", 2501 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2502 interpolable: true, 2503 runtime_flag: "CSSOffsetPositionAnchor", 2504 field_group: "*", 2505 field_template: "external", 2506 include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], 2507 default_value: "LengthPoint(Length::Auto(), Length::Auto())", 2508 type_name: "LengthPoint", 2509 converter: "ConvertPositionOrAuto", 2510 keywords: ["auto"], 2511 typedom_types: ["Keyword", "Position"] 2512 }, 2513 { 2514 name: "offset-distance", 2515 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2516 interpolable: true, 2517 field_group: "*", 2518 field_template: "<length>", 2519 default_value: "Length::Fixed(0)", 2520 converter: "ConvertLength", 2521 typedom_types: ["Length", "Percentage"] 2522 }, 2523 { 2524 name: "offset-path", 2525 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2526 interpolable: true, 2527 field_group: "*", 2528 field_template: "pointer", 2529 include_paths: ["third_party/blink/renderer/core/style/basic_shapes.h"], 2530 wrapper_pointer_name: "scoped_refptr", 2531 default_value: "nullptr", 2532 type_name: "BasicShape", 2533 converter: "ConvertOffsetPath", 2534 keywords: ["none"], 2535 typedom_types: ["Keyword"] 2536 }, 2537 { 2538 name: "offset-position", 2539 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2540 interpolable: true, 2541 runtime_flag: "CSSOffsetPositionAnchor", 2542 field_group: "*", 2543 field_template: "external", 2544 include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], 2545 default_value: "LengthPoint(Length::Auto(), Length::Auto())", 2546 type_name: "LengthPoint", 2547 converter: "ConvertPositionOrAuto", 2548 keywords: ["auto"], 2549 typedom_types: ["Keyword", "Position"] 2550 }, 2551 { 2552 name: "offset-rotate", 2553 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2554 interpolable: true, 2555 field_group: "*", 2556 field_template: "external", 2557 include_paths: ["third_party/blink/renderer/core/style/style_offset_rotation.h"], 2558 default_value: "StyleOffsetRotation(0, OffsetRotationType::kAuto)", 2559 type_name: "StyleOffsetRotation", 2560 converter: "ConvertOffsetRotate", 2561 keywords: ["auto", "reverse"], 2562 typedom_types: ["Keyword", "Angle"] 2563 }, 2564 { 2565 name: "opacity", 2566 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2567 interpolable: true, 2568 compositable: true, 2569 field_group: "*", 2570 field_template: "primitive", 2571 default_value: "1.0", 2572 type_name: "float", 2573 computed_style_custom_functions: ["setter"], 2574 typedom_types: ["Number"], 2575 valid_for_first_letter: true, 2576 valid_for_cue: true, 2577 }, 2578 { 2579 name: "order", 2580 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2581 interpolable: true, 2582 field_group: "*", 2583 field_template: "primitive", 2584 default_value: "0", 2585 type_name: "int", 2586 computed_style_custom_functions: ["setter"], 2587 typedom_types: ["Number"] 2588 }, 2589 { 2590 // This property is used for testing with origin trial intergration only. 2591 // It should never be web-exposed. 2592 name: "origin-trial-test-property", 2593 property_methods: ["CSSValueFromComputedStyleInternal"], 2594 field_template: "keyword", 2595 default_value: "normal", 2596 keywords: ["normal", "none"], 2597 typedom_types: ["Keyword"], 2598 runtime_flag: "OriginTrialsSampleAPI" 2599 }, 2600 { 2601 name: "orphans", 2602 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2603 interpolable: true, 2604 inherited: true, 2605 field_group: "*", 2606 field_template: "primitive", 2607 computed_style_custom_functions: ["setter"], 2608 default_value: "2", 2609 type_name: "short", 2610 typedom_types: ["Number"] 2611 }, 2612 { 2613 name: "outline-color", 2614 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 2615 interpolable: true, 2616 field_group: "*", 2617 field_template: "external", 2618 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 2619 default_value: "0", 2620 type_name: "Color", 2621 computed_style_custom_functions: ["getter", "setter"], 2622 keywords: ["currentcolor"], 2623 typedom_types: ["Keyword"], 2624 converter: "ConvertStyleColor", 2625 style_builder_template: "color", 2626 affected_by_forced_colors: true, 2627 valid_for_cue: true, 2628 }, 2629 { 2630 name: "outline-offset", 2631 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2632 interpolable: true, 2633 field_group: "*", 2634 field_template: "primitive", 2635 default_value: "0", 2636 type_name: "int", 2637 computed_style_custom_functions: ["getter"], 2638 converter: "ConvertComputedLength<int>", 2639 typedom_types: ["Length"], 2640 valid_for_cue: true, 2641 }, 2642 { 2643 name: "outline-style", 2644 property_methods: ["CSSValueFromComputedStyleInternal"], 2645 field_group: "*", 2646 field_template: "keyword", 2647 keywords: [ 2648 "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", 2649 "dashed", "solid", "double" 2650 ], 2651 typedom_types: ["Keyword"], 2652 default_value: "none", 2653 type_name: "EBorderStyle", 2654 style_builder_custom_functions: ["initial", "inherit", "value"], 2655 valid_for_cue: true, 2656 }, 2657 { 2658 name: "outline-width", 2659 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2660 interpolable: true, 2661 field_group: "*", 2662 field_template: "external", 2663 include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], 2664 default_value: "LayoutUnit(3)", 2665 type_name: "LayoutUnit", 2666 computed_style_custom_functions: ["initial", "getter", "setter"], 2667 converter: "ConvertLineWidth<unsigned short>", 2668 keywords: ["thin", "medium", "thick"], 2669 typedom_types: ["Keyword", "Length"], 2670 valid_for_cue: true, 2671 }, 2672 { 2673 name: "overflow-anchor", 2674 property_methods: ["CSSValueFromComputedStyleInternal"], 2675 inherited: false, 2676 field_template: "keyword", 2677 keywords: [ 2678 "visible", "none", "auto" 2679 ], 2680 typedom_types: ["Keyword"], 2681 default_value: "auto", 2682 }, 2683 { 2684 name: "overflow-wrap", 2685 property_methods: ["CSSValueFromComputedStyleInternal"], 2686 inherited: true, 2687 field_group: "*", 2688 field_template: "keyword", 2689 keywords: ["normal", "break-word", "anywhere"], 2690 default_value: "normal", 2691 typedom_types: ["Keyword"] 2692 }, 2693 { 2694 name: "overflow-inline", 2695 direction_aware_options: { 2696 resolver: "inline", 2697 physical_group: "overflow", 2698 }, 2699 runtime_flag: "CSSLogicalOverflow", 2700 }, 2701 { 2702 name: "overflow-block", 2703 direction_aware_options: { 2704 resolver: "block", 2705 physical_group: "overflow", 2706 }, 2707 runtime_flag: "CSSLogicalOverflow", 2708 }, 2709 { 2710 name: "overflow-x", 2711 property_methods: ["CSSValueFromComputedStyleInternal"], 2712 field_template: "keyword", 2713 keywords: [ 2714 "visible", "hidden", "scroll", "auto", "overlay" 2715 ], 2716 typedom_types: ["Keyword"], 2717 default_value: "visible", 2718 type_name: "EOverflow", 2719 }, 2720 { 2721 name: "overflow-y", 2722 property_methods: ["CSSValueFromComputedStyleInternal"], 2723 field_template: "keyword", 2724 keywords: [ 2725 "visible", "hidden", "scroll", "auto", "overlay", 2726 ], 2727 typedom_types: ["Keyword"], 2728 default_value: "visible", 2729 type_name: "EOverflow", 2730 }, 2731 { 2732 name: "overscroll-behavior-inline", 2733 direction_aware_options: { 2734 resolver: "inline", 2735 physical_group: "overscroll-behavior", 2736 }, 2737 }, 2738 { 2739 name: "overscroll-behavior-block", 2740 direction_aware_options: { 2741 resolver: "block", 2742 physical_group: "overscroll-behavior", 2743 }, 2744 }, 2745 { 2746 name: "overscroll-behavior-x", 2747 property_methods: ["CSSValueFromComputedStyleInternal"], 2748 field_template: "keyword", 2749 keywords: ["auto", "contain", "none"], 2750 default_value: "auto", 2751 type_name: "EOverscrollBehavior", 2752 typedom_types: ["Keyword"] 2753 }, 2754 { 2755 name: "overscroll-behavior-y", 2756 property_methods: ["CSSValueFromComputedStyleInternal"], 2757 field_template: "keyword", 2758 keywords: ["auto", "contain", "none"], 2759 default_value: "auto", 2760 type_name: "EOverscrollBehavior", 2761 typedom_types: ["Keyword"] 2762 }, 2763 { 2764 name: "padding-bottom", 2765 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2766 interpolable: true, 2767 layout_dependent: true, 2768 field_group: "surround", 2769 field_template: "<length>", 2770 default_value: "Length::Fixed()", 2771 converter: "ConvertLength", 2772 computed_style_custom_functions: ["setter"], 2773 typedom_types: ["Keyword", "Length", "Percentage"], 2774 valid_for_first_letter: true, 2775 }, 2776 { 2777 name: "padding-left", 2778 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2779 interpolable: true, 2780 layout_dependent: true, 2781 field_group: "surround", 2782 field_template: "<length>", 2783 default_value: "Length::Fixed()", 2784 converter: "ConvertLength", 2785 computed_style_custom_functions: ["setter"], 2786 typedom_types: ["Keyword", "Length", "Percentage"], 2787 valid_for_first_letter: true, 2788 }, 2789 { 2790 name: "padding-right", 2791 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2792 interpolable: true, 2793 layout_dependent: true, 2794 field_group: "surround", 2795 field_template: "<length>", 2796 default_value: "Length::Fixed()", 2797 converter: "ConvertLength", 2798 computed_style_custom_functions: ["setter"], 2799 typedom_types: ["Keyword", "Length", "Percentage"], 2800 valid_for_first_letter: true, 2801 }, 2802 { 2803 name: "padding-top", 2804 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2805 interpolable: true, 2806 layout_dependent: true, 2807 field_group: "surround", 2808 field_template: "<length>", 2809 default_value: "Length::Fixed()", 2810 converter: "ConvertLength", 2811 computed_style_custom_functions: ["setter"], 2812 typedom_types: ["Keyword", "Length", "Percentage"], 2813 valid_for_first_letter: true, 2814 }, 2815 { 2816 name: "page", 2817 field_group: "*", 2818 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2819 converter: "ConvertPage", 2820 type_name: "AtomicString", 2821 default_value: "AtomicString()", 2822 field_template: "external", 2823 keywords: ["auto"], 2824 typedom_types: ["Keyword"], 2825 runtime_flag: "NamedPages" 2826 }, 2827 { 2828 name: "paint-order", 2829 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2830 inherited: true, 2831 svg: true, 2832 converter: "ConvertPaintOrder", 2833 keywords: ["normal", "fill", "stroke", "markers"], 2834 typedom_types: ["Keyword"] 2835 }, 2836 { 2837 name: "perspective", 2838 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2839 interpolable: true, 2840 field_group: "*", 2841 field_template: "primitive", 2842 default_value: "0.0", 2843 type_name: "float", 2844 converter: "ConvertPerspective", 2845 keywords: ["none"], 2846 typedom_types: ["Keyword", "Length"] 2847 }, 2848 { 2849 name: "perspective-origin", 2850 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2851 interpolable: true, 2852 layout_dependent: true, 2853 field_group: "*", 2854 field_template: "external", 2855 include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], 2856 default_value: "LengthPoint(Length::Percent(50.0), Length::Percent(50.0))", 2857 type_name: "LengthPoint", 2858 converter: "ConvertPosition", 2859 typedom_types: ["Position"] 2860 }, 2861 { 2862 name: "pointer-events", 2863 property_methods: ["CSSValueFromComputedStyleInternal"], 2864 independent: true, 2865 inherited: true, 2866 field_template: "keyword", 2867 keywords: [ 2868 "none", "auto", "stroke", "fill", "painted", "visible", "visiblestroke", 2869 "visiblefill", "visiblepainted", "bounding-box", "all" 2870 ], 2871 typedom_types: ["Keyword"], 2872 default_value: "auto", 2873 }, 2874 { 2875 name: "position", 2876 property_methods: ["CSSValueFromComputedStyleInternal"], 2877 field_template: "keyword", 2878 keywords: [ 2879 "static", "relative", "absolute", "fixed", "sticky" 2880 ], 2881 typedom_types: ["Keyword"], 2882 default_value: "static", 2883 getter: "GetPosition", 2884 style_builder_custom_functions: ["inherit"], 2885 }, 2886 { 2887 name: "quotes", 2888 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2889 inherited: true, 2890 field_group: "*", 2891 field_template: "pointer", 2892 include_paths: ["third_party/blink/renderer/core/style/quotes_data.h"], 2893 wrapper_pointer_name: "scoped_refptr", 2894 default_value: "nullptr", 2895 type_name: "QuotesData", 2896 converter: "ConvertQuotes", 2897 keywords: ["none"], 2898 typedom_types: ["Keyword"] 2899 }, 2900 { 2901 name: "subtree-visibility", 2902 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2903 field_template: "keyword", 2904 keywords: ["visible", "auto", "hidden", "hidden-matchable"], 2905 default_value: "visible", 2906 typedom_types: ["Keyword"], 2907 runtime_flag: "CSSSubtreeVisibility" 2908 }, 2909 { 2910 name: "resize", 2911 property_methods: ["CSSValueFromComputedStyleInternal"], 2912 field_group: "*", 2913 field_template: "keyword", 2914 computed_style_custom_functions: ["getter"], 2915 style_builder_custom_functions: ["value"], 2916 keywords: ["none", "both", "horizontal", "vertical", "block", "inline"], 2917 typedom_types: ["Keyword"], 2918 default_value: "none", 2919 }, 2920 { 2921 name: "right", 2922 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2923 interpolable: true, 2924 layout_dependent: true, 2925 field_group: "surround", 2926 field_template: "<length>", 2927 keywords: ["auto"], 2928 default_value: "Length()", 2929 typedom_types: ["Keyword", "Length", "Percentage"], 2930 converter: "ConvertLengthOrAuto", 2931 }, 2932 { 2933 name: "r", 2934 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2935 interpolable: true, 2936 svg: true, 2937 typedom_types: ["Length", "Percentage"], 2938 converter: "ConvertLength", 2939 }, 2940 { 2941 name: "rx", 2942 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2943 interpolable: true, 2944 svg: true, 2945 keywords: ["auto"], 2946 typedom_types: ["Keyword", "Length", "Percentage"], 2947 converter: "ConvertLengthOrAuto", 2948 }, 2949 { 2950 name: "ry", 2951 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2952 interpolable: true, 2953 svg: true, 2954 keywords: ["auto"], 2955 typedom_types: ["Keyword", "Length", "Percentage"], 2956 converter: "ConvertLengthOrAuto", 2957 }, 2958 { 2959 name: "scroll-behavior", 2960 property_methods: ["CSSValueFromComputedStyleInternal"], 2961 field_group: "*", 2962 field_size: 2, // FIXME: Convert this to a keyword field 2963 field_template: "primitive", 2964 default_value: "mojom::blink::ScrollBehavior::kAuto", 2965 type_name: "mojom::blink::ScrollBehavior", 2966 keywords: ["auto", "smooth"], 2967 typedom_types: ["Keyword"], 2968 }, 2969 { 2970 name: "scroll-margin-block-end", 2971 property_methods: ["ParseSingleValue"], 2972 direction_aware_options: { 2973 resolver: "block-end", 2974 physical_group: "scroll-margin", 2975 }, 2976 typedom_types: ["Keyword", "Length"] 2977 }, 2978 { 2979 name: "scroll-customization", 2980 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 2981 converter: "ConvertFlags<blink::scroll_customization::ScrollDirection>", 2982 type_name: "scroll_customization::ScrollDirection", 2983 field_group: "*", 2984 field_size: 4, 2985 field_template: "primitive", 2986 default_value: "scroll_customization::kScrollDirectionNone", 2987 include_paths: ["third_party/blink/renderer/core/scroll/scroll_customization.h"], 2988 runtime_flag: "ScrollCustomization", 2989 }, 2990 { 2991 name: "scroll-margin-block-start", 2992 property_methods: ["ParseSingleValue"], 2993 direction_aware_options: { 2994 resolver: "block-start", 2995 physical_group: "scroll-margin", 2996 }, 2997 typedom_types: ["Keyword", "Length"] 2998 }, 2999 { 3000 name: "scroll-margin-bottom", 3001 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3002 field_group: "*", 3003 field_template: "primitive", 3004 default_value: "0.0f", 3005 type_name: "float", 3006 converter: "ConvertComputedLength<float>", 3007 typedom_types: ["Keyword", "Length"] 3008 }, 3009 { 3010 name: "scroll-margin-inline-end", 3011 property_methods: ["ParseSingleValue"], 3012 direction_aware_options: { 3013 resolver: "inline-end", 3014 physical_group: "scroll-margin", 3015 }, 3016 typedom_types: ["Keyword", "Length"] 3017 }, 3018 { 3019 name: "scroll-margin-inline-start", 3020 property_methods: ["ParseSingleValue"], 3021 direction_aware_options: { 3022 resolver: "inline-start", 3023 physical_group: "scroll-margin", 3024 }, 3025 typedom_types: ["Keyword", "Length"] 3026 }, 3027 { 3028 name: "scroll-margin-left", 3029 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3030 field_group: "*", 3031 field_template: "primitive", 3032 default_value: "0.0f", 3033 type_name: "float", 3034 converter: "ConvertComputedLength<float>", 3035 typedom_types: ["Keyword", "Length"] 3036 }, 3037 { 3038 name: "scroll-margin-right", 3039 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3040 field_group: "*", 3041 field_template: "primitive", 3042 default_value: "0.0f", 3043 type_name: "float", 3044 converter: "ConvertComputedLength<float>", 3045 typedom_types: ["Keyword", "Length"] 3046 }, 3047 { 3048 name: "scroll-margin-top", 3049 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3050 field_group: "*", 3051 field_template: "primitive", 3052 default_value: "0.0f", 3053 type_name: "float", 3054 converter: "ConvertComputedLength<float>", 3055 typedom_types: ["Keyword", "Length"] 3056 }, 3057 { 3058 name: "scroll-padding-block-end", 3059 property_methods: ["ParseSingleValue"], 3060 include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], 3061 keywords: ["auto"], 3062 typedom_types: ["Keyword", "Length", "Percentage"], 3063 type_name: "Length", 3064 converter: "ConvertLengthOrAuto", 3065 direction_aware_options: { 3066 resolver: "block-end", 3067 physical_group: "scroll-padding", 3068 }, 3069 }, 3070 { 3071 name: "scroll-padding-block-start", 3072 property_methods: ["ParseSingleValue"], 3073 include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], 3074 keywords: ["auto"], 3075 typedom_types: ["Keyword", "Length", "Percentage"], 3076 type_name: "Length", 3077 converter: "ConvertLengthOrAuto", 3078 direction_aware_options: { 3079 resolver: "block-start", 3080 physical_group: "scroll-padding", 3081 }, 3082 }, 3083 { 3084 name: "scroll-padding-bottom", 3085 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3086 field_group: "*", 3087 field_template: "<length>", 3088 default_value: "Length()", 3089 keywords: ["auto"], 3090 typedom_types: ["Keyword", "Length", "Percentage"], 3091 converter: "ConvertLengthOrAuto", 3092 }, 3093 { 3094 name: "scroll-padding-inline-end", 3095 property_methods: ["ParseSingleValue"], 3096 include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], 3097 keywords: ["auto"], 3098 typedom_types: ["Keyword", "Length", "Percentage"], 3099 type_name: "Length", 3100 converter: "ConvertLengthOrAuto", 3101 direction_aware_options: { 3102 resolver: "inline-end", 3103 physical_group: "scroll-padding", 3104 }, 3105 }, 3106 { 3107 name: "scroll-padding-inline-start", 3108 property_methods: ["ParseSingleValue"], 3109 include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], 3110 keywords: ["auto"], 3111 typedom_types: ["Keyword", "Length", "Percentage"], 3112 type_name: "Length", 3113 converter: "ConvertLengthOrAuto", 3114 direction_aware_options: { 3115 resolver: "inline-start", 3116 physical_group: "scroll-padding", 3117 }, 3118 }, 3119 { 3120 name: "scroll-padding-left", 3121 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3122 field_group: "*", 3123 field_template: "<length>", 3124 default_value: "Length()", 3125 keywords: ["auto"], 3126 typedom_types: ["Keyword", "Length", "Percentage"], 3127 converter: "ConvertLengthOrAuto", 3128 }, 3129 { 3130 name: "scroll-padding-right", 3131 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3132 field_group: "*", 3133 field_template: "<length>", 3134 default_value: "Length()", 3135 keywords: ["auto"], 3136 typedom_types: ["Keyword", "Length", "Percentage"], 3137 converter: "ConvertLengthOrAuto", 3138 }, 3139 { 3140 name: "scroll-padding-top", 3141 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3142 field_group: "*", 3143 field_template: "<length>", 3144 default_value: "Length()", 3145 keywords: ["auto"], 3146 typedom_types: ["Keyword", "Length", "Percentage"], 3147 converter: "ConvertLengthOrAuto", 3148 }, 3149 { 3150 name: "scroll-snap-align", 3151 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3152 field_group: "*", 3153 field_template: "external", 3154 include_paths: ["cc/input/scroll_snap_data.h"], 3155 default_value: "cc::ScrollSnapAlign()", 3156 getter: "GetScrollSnapAlign", 3157 type_name: "cc::ScrollSnapAlign", 3158 converter: "ConvertSnapAlign", 3159 keywords: ["none", "start", "end", "center"], 3160 typedom_types: ["Keyword"] 3161 }, 3162 { 3163 name: "scroll-snap-stop", 3164 property_methods: ["CSSValueFromComputedStyleInternal"], 3165 field_template: "keyword", 3166 keywords: ["normal", "always"], 3167 default_value: "normal", 3168 typedom_types: ["Keyword"] 3169 }, 3170 { 3171 name: "scroll-snap-type", 3172 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3173 field_group: "*", 3174 field_template: "external", 3175 include_paths: ["cc/input/scroll_snap_data.h"], 3176 default_value: "cc::ScrollSnapType()", 3177 getter: "GetScrollSnapType", 3178 type_name: "cc::ScrollSnapType", 3179 converter: "ConvertSnapType", 3180 keywords: ["none", "x", "y", "block", "inline", "both", "mandatory", "proximity"], 3181 typedom_types: ["Keyword"] 3182 }, 3183 { 3184 name: "shape-image-threshold", 3185 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3186 interpolable: true, 3187 field_group: "*", 3188 field_template: "primitive", 3189 default_value: "0.0", 3190 type_name: "float", 3191 computed_style_custom_functions: ["setter"], 3192 typedom_types: ["Number"] 3193 }, 3194 { 3195 name: "shape-margin", 3196 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3197 interpolable: true, 3198 field_group: "*", 3199 field_template: "<length>", 3200 default_value: "Length::Fixed(0)", 3201 converter: "ConvertLength", 3202 keywords: ["none"], 3203 typedom_types: ["Length", "Percentage"] 3204 }, 3205 { 3206 name: "shape-outside", 3207 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3208 interpolable: true, 3209 field_group: "*", 3210 field_template: "external", 3211 include_paths: ["third_party/blink/renderer/core/style/shape_value.h"], 3212 wrapper_pointer_name: "Persistent", 3213 default_value: "nullptr", 3214 typedom_types: ["Keyword", "Image"], 3215 type_name: "ShapeValue", 3216 computed_style_custom_functions: ["getter"], 3217 converter: "ConvertShapeValue", 3218 keywords: ["none"] 3219 }, 3220 { 3221 name: "shape-rendering", 3222 property_methods: ["CSSValueFromComputedStyleInternal"], 3223 inherited: true, 3224 svg: true, 3225 keywords: ["auto", "optimizespeed", "crispedges", "geometricprecision"], 3226 typedom_types: ["Keyword"], 3227 }, 3228 { 3229 name: "size", 3230 property_methods: ["ParseSingleValue"], 3231 style_builder_custom_functions: ["initial", "inherit", "value"], 3232 }, 3233 { 3234 name: "speak", 3235 property_methods: ["CSSValueFromComputedStyleInternal"], 3236 inherited: true, 3237 field_group: "*", 3238 field_template: "keyword", 3239 keywords: [ 3240 "none", "normal", "spell-out", "digits", "literal-punctuation", 3241 "no-punctuation" 3242 ], 3243 default_value: "normal", 3244 }, 3245 { 3246 name: "stop-color", 3247 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 3248 interpolable: true, 3249 svg: true, 3250 converter: "ConvertStyleColor", 3251 keywords: ["currentcolor"], 3252 typedom_types: ["Keyword"], 3253 }, 3254 { 3255 name: "stop-opacity", 3256 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3257 interpolable: true, 3258 svg: true, 3259 converter: "ConvertAlpha", 3260 typedom_types: ["Number"] 3261 }, 3262 { 3263 name: "stroke", 3264 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3265 interpolable: true, 3266 inherited: true, 3267 svg: true, 3268 initial: "InitialStrokePaint", 3269 setter: "SetStrokePaint", 3270 getter: "StrokePaint", 3271 converter: "ConvertSVGPaint", 3272 affected_by_forced_colors: true, 3273 }, 3274 { 3275 name: "stroke-dasharray", 3276 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3277 interpolable: true, 3278 inherited: true, 3279 svg: true, 3280 name_for_methods: "StrokeDashArray", 3281 converter: "ConvertStrokeDasharray", 3282 keywords: ["none"], 3283 typedom_types: ["Keyword"] 3284 }, 3285 { 3286 name: "stroke-dashoffset", 3287 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3288 interpolable: true, 3289 inherited: true, 3290 svg: true, 3291 name_for_methods: "StrokeDashOffset", 3292 converter: "ConvertLength", 3293 typedom_types: ["Length", "Percentage"] 3294 }, 3295 { 3296 name: "stroke-linecap", 3297 property_methods: ["CSSValueFromComputedStyleInternal"], 3298 inherited: true, 3299 svg: true, 3300 name_for_methods: "CapStyle", 3301 type_name: "LineCap", 3302 keywords: ["butt", "round", "square"], 3303 typedom_types: ["Keyword"] 3304 }, 3305 { 3306 name: "stroke-linejoin", 3307 property_methods: ["CSSValueFromComputedStyleInternal"], 3308 inherited: true, 3309 svg: true, 3310 name_for_methods: "JoinStyle", 3311 type_name: "LineJoin", 3312 keywords: ["miter", "bevel", "round"], 3313 typedom_types: ["Keyword"] 3314 }, 3315 { 3316 name: "stroke-miterlimit", 3317 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3318 interpolable: true, 3319 inherited: true, 3320 svg: true, 3321 name_for_methods: "StrokeMiterLimit", 3322 type_name: "float", 3323 typedom_types: ["Number"] 3324 }, 3325 { 3326 name: "stroke-opacity", 3327 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3328 interpolable: true, 3329 inherited: true, 3330 svg: true, 3331 converter: "ConvertAlpha", 3332 typedom_types: ["Number"] 3333 }, 3334 { 3335 name: "stroke-width", 3336 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3337 interpolable: true, 3338 inherited: true, 3339 svg: true, 3340 converter: "ConvertUnzoomedLength", 3341 typedom_types: ["Length", "Percentage"] 3342 }, 3343 { 3344 name: "table-layout", 3345 property_methods: ["CSSValueFromComputedStyleInternal"], 3346 field_template: "keyword", 3347 keywords: [ 3348 "auto", "fixed" 3349 ], 3350 typedom_types: ["Keyword"], 3351 default_value: "auto", 3352 }, 3353 { 3354 name: "tab-size", 3355 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3356 inherited: true, 3357 field_group: "*", 3358 field_template: "external", 3359 include_paths: ["third_party/blink/renderer/platform/text/tab_size.h"], 3360 default_value: "TabSize(8)", 3361 getter: "GetTabSize", 3362 type_name: "TabSize", 3363 converter: "ConvertLengthOrTabSpaces", 3364 computed_style_custom_functions: ["setter"], 3365 typedom_types: ["Number", "Length"] 3366 }, 3367 { 3368 name: "text-align", 3369 property_methods: ["CSSValueFromComputedStyleInternal"], 3370 independent: false, 3371 inherited: true, 3372 field_template: "keyword", 3373 keywords: [ 3374 "left", "right", "center", "justify", "-webkit-left", "-webkit-right", 3375 "-webkit-center", "start", "end" 3376 ], 3377 typedom_types: ["Keyword"], 3378 default_value: "start", 3379 getter: "GetTextAlign", 3380 style_builder_custom_functions: ["value"], 3381 }, 3382 { 3383 name: "text-align-last", 3384 property_methods: ["CSSValueFromComputedStyleInternal"], 3385 inherited: true, 3386 field_group: "*", 3387 field_template: "keyword", 3388 keywords: ["auto", "start", "end", "left", "right", "center", "justify"], 3389 default_value: "auto", 3390 typedom_types: ["Keyword"] 3391 }, 3392 { 3393 name: "text-anchor", 3394 property_methods: ["CSSValueFromComputedStyleInternal"], 3395 inherited: true, 3396 svg: true, 3397 keywords: ["start", "middle", "end"], 3398 typedom_types: ["Keyword"] 3399 }, 3400 { 3401 name: "text-combine-upright", 3402 property_methods: ["CSSValueFromComputedStyleInternal"], 3403 inherited: true, 3404 field_group: "*", 3405 field_template: "keyword", 3406 keywords: ["none", "all"], 3407 typedom_types: ["Keyword"], 3408 default_value: "none", 3409 name_for_methods: "TextCombine", 3410 valid_for_marker: true, 3411 }, 3412 { 3413 name: "text-decoration-color", 3414 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 3415 interpolable: true, 3416 field_group: "*", 3417 field_template: "external", 3418 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 3419 default_value: "StyleColor::CurrentColor()", 3420 type_name: "StyleColor", 3421 keywords: ["currentcolor"], 3422 typedom_types: ["Keyword"], 3423 converter: "ConvertStyleColor", 3424 style_builder_template: "color", 3425 affected_by_forced_colors: true, 3426 valid_for_first_letter: true, 3427 valid_for_cue: true, 3428 }, 3429 { 3430 name: "text-decoration-line", 3431 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3432 field_group: "visual", 3433 field_template: "multi_keyword", 3434 keywords: ["none", "underline", "overline", "line-through", "blink"], 3435 typedom_types: ["Keyword"], 3436 default_value: "none", 3437 name_for_methods: "TextDecoration", 3438 type_name: "TextDecoration", 3439 converter: "ConvertFlags<TextDecoration>", 3440 valid_for_first_letter: true, 3441 valid_for_cue: true, 3442 }, 3443 { 3444 name: "text-decoration-skip-ink", 3445 property_methods: ["CSSValueFromComputedStyleInternal"], 3446 inherited: true, 3447 field_group: "*", 3448 field_template: "keyword", 3449 keywords: ["none", "auto"], 3450 typedom_types: ["Keyword"], 3451 default_value: "auto", 3452 valid_for_first_letter: true, 3453 valid_for_cue: true, 3454 }, 3455 { 3456 name: "text-decoration-style", 3457 property_methods: ["CSSValueFromComputedStyleInternal"], 3458 field_group: "*", 3459 field_template: "keyword", 3460 keywords: ["solid", "double", "dotted", "dashed", "wavy"], 3461 typedom_types: ["Keyword"], 3462 default_value: "solid", 3463 valid_for_first_letter: true, 3464 valid_for_cue: true, 3465 }, 3466 { 3467 name: "text-indent", 3468 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3469 interpolable: true, 3470 inherited: true, 3471 field_group: "*", 3472 field_template: "<length>", 3473 default_value: "Length::Fixed()", 3474 style_builder_custom_functions: ["initial", "inherit", "value"], 3475 typedom_types: ["Length", "Percentage"] 3476 }, 3477 { 3478 name: "text-justify", 3479 property_methods: ["CSSValueFromComputedStyleInternal"], 3480 inherited: true, 3481 runtime_flag: "CSS3Text", 3482 field_group: "*", 3483 field_template: "keyword", 3484 include_paths: ["third_party/blink/renderer/platform/text/text_justify.h"], 3485 keywords: ["auto", "none", "inter-word", "distribute"], 3486 default_value: "auto", 3487 getter: "GetTextJustify", 3488 type_name: "TextJustify", 3489 typedom_types: ["Keyword"], 3490 valid_for_first_letter: true, 3491 }, 3492 { 3493 name: "text-overflow", 3494 property_methods: ["CSSValueFromComputedStyleInternal"], 3495 field_group: "*", 3496 field_template: "keyword", 3497 keywords: ["clip", "ellipsis"], 3498 typedom_types: ["Keyword"], 3499 default_value: "clip", 3500 }, 3501 { 3502 name: "text-shadow", 3503 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3504 interpolable: true, 3505 inherited: true, 3506 field_group: "*", 3507 field_template: "pointer", 3508 include_paths: ["third_party/blink/renderer/core/style/shadow_list.h"], 3509 wrapper_pointer_name: "scoped_refptr", 3510 default_value: "nullptr", 3511 type_name: "ShadowList", 3512 converter: "ConvertShadowList", 3513 keywords: ["none"], 3514 typedom_types: ["Keyword"], 3515 affected_by_forced_colors: true, 3516 valid_for_first_letter: true, 3517 valid_for_cue: true, 3518 }, 3519 { 3520 name: "text-size-adjust", 3521 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3522 interpolable: true, 3523 inherited: true, 3524 field_group: "*", 3525 field_template: "external", 3526 include_paths: ["third_party/blink/renderer/core/style/text_size_adjust.h"], 3527 default_value: "TextSizeAdjust::AdjustAuto()", 3528 getter: "GetTextSizeAdjust", 3529 type_name: "TextSizeAdjust", 3530 converter: "ConvertTextSizeAdjust", 3531 keywords: ["none", "auto"], 3532 typedom_types: ["Keyword", "Percentage"] 3533 }, 3534 { 3535 name: "text-transform", 3536 property_methods: ["CSSValueFromComputedStyleInternal"], 3537 independent: true, 3538 inherited: true, 3539 field_template: "keyword", 3540 keywords: ["capitalize", "uppercase", "lowercase", "none"], 3541 typedom_types: ["Keyword"], 3542 default_value: "none", 3543 valid_for_first_letter: true, 3544 }, 3545 { 3546 name: "text-underline-position", 3547 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3548 inherited: true, 3549 field_group: "*", 3550 field_size: 4, 3551 field_template: "primitive", 3552 default_value: "kTextUnderlinePositionAuto", 3553 name_for_methods: "TextUnderlinePosition", 3554 type_name: "unsigned", 3555 converter: "ConvertTextUnderlinePosition", 3556 keywords: ["auto", "from-font", "under", "left", "right"], 3557 typedom_types: ["Keyword"], 3558 valid_for_first_letter: true, 3559 }, 3560 { 3561 name: "top", 3562 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3563 interpolable: true, 3564 layout_dependent: true, 3565 field_group: "surround", 3566 field_template: "<length>", 3567 keywords: ["auto"], 3568 default_value: "Length()", 3569 typedom_types: ["Keyword", "Length", "Percentage"], 3570 converter: "ConvertLengthOrAuto", 3571 }, 3572 { 3573 name: "touch-action", 3574 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3575 field_group: "*", 3576 field_size: 6, // FIXME: Make this use "kTouchActionBits". 3577 field_template: "primitive", 3578 include_paths: ["third_party/blink/renderer/platform/graphics/touch_action.h"], 3579 default_value: "TouchAction::kAuto", 3580 type_name: "TouchAction", 3581 converter: "ConvertFlags<blink::TouchAction>", 3582 keywords: ["auto", "none", "pan-x", "pan-left", "pan-right", "pan-y", "pan-up", "pan-down", "pinch-zoom", "manipulation"], 3583 typedom_types: ["Keyword"] 3584 }, 3585 { 3586 name: "transform", 3587 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3588 interpolable: true, 3589 compositable: true, 3590 layout_dependent: true, 3591 field_group: "*", 3592 field_template: "external", 3593 include_paths: ["third_party/blink/renderer/platform/transforms/transform_operations.h"], 3594 keywords: ["none"], 3595 default_value: "EmptyTransformOperations()", 3596 typedom_types: ["Keyword", "Transform"], 3597 type_name: "TransformOperations", 3598 converter: "ConvertTransformOperations", 3599 }, 3600 { 3601 name: "transform-box", 3602 property_methods: ["CSSValueFromComputedStyleInternal"], 3603 field_template: "keyword", 3604 keywords: ["fill-box", "view-box"], 3605 default_value: "view-box", 3606 typedom_types: ["Keyword"] 3607 }, 3608 { 3609 name: "transform-origin", 3610 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3611 interpolable: true, 3612 layout_dependent: true, 3613 field_group: "*", 3614 field_template: "external", 3615 include_paths: ["third_party/blink/renderer/core/style/transform_origin.h"], 3616 default_value: "TransformOrigin(Length::Percent(50.0), Length::Percent(50.0), 0)", 3617 getter: "GetTransformOrigin", 3618 type_name: "TransformOrigin", 3619 converter: "ConvertTransformOrigin", 3620 }, 3621 { 3622 name: "transform-style", 3623 property_methods: ["CSSValueFromComputedStyleInternal"], 3624 field_group: "*", 3625 field_template: "keyword", 3626 keywords: ["flat", "preserve-3d"], 3627 default_value: "flat", 3628 typedom_types: ["Keyword"], 3629 name_for_methods: "TransformStyle3D", 3630 }, 3631 { 3632 name: "translate", 3633 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3634 interpolable: true, 3635 compositable: true, 3636 layout_dependent: true, 3637 runtime_flag: "CSSIndependentTransformProperties", 3638 field_group: "*", 3639 field_template: "pointer", 3640 include_paths: ["third_party/blink/renderer/platform/transforms/translate_transform_operation.h"], 3641 wrapper_pointer_name: "scoped_refptr", 3642 default_value: "nullptr", 3643 type_name: "TranslateTransformOperation", 3644 converter: "ConvertTranslate", 3645 }, 3646 { 3647 name: "rotate", 3648 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3649 interpolable: true, 3650 compositable: true, 3651 runtime_flag: "CSSIndependentTransformProperties", 3652 field_group: "*", 3653 field_template: "pointer", 3654 include_paths: ["third_party/blink/renderer/platform/transforms/rotate_transform_operation.h"], 3655 wrapper_pointer_name: "scoped_refptr", 3656 default_value: "nullptr", 3657 type_name: "RotateTransformOperation", 3658 converter: "ConvertRotate", 3659 }, 3660 { 3661 name: "scale", 3662 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3663 interpolable: true, 3664 compositable: true, 3665 runtime_flag: "CSSIndependentTransformProperties", 3666 field_group: "*", 3667 field_template: "pointer", 3668 include_paths: ["third_party/blink/renderer/platform/transforms/scale_transform_operation.h"], 3669 wrapper_pointer_name: "scoped_refptr", 3670 default_value: "nullptr", 3671 type_name: "ScaleTransformOperation", 3672 converter: "ConvertScale", 3673 }, 3674 { 3675 name: "unicode-bidi", 3676 property_methods: ["CSSValueFromComputedStyleInternal"], 3677 affected_by_all: false, 3678 field_template: "keyword", 3679 include_paths: ["third_party/blink/renderer/platform/text/unicode_bidi.h"], 3680 keywords: [ 3681 "normal", "embed", "bidi-override", "isolate", "plaintext", 3682 "isolate-override" 3683 ], 3684 typedom_types: ["Keyword"], 3685 default_value: "normal", 3686 type_name: "UnicodeBidi", 3687 valid_for_marker: true, 3688 }, 3689 { 3690 name: "vector-effect", 3691 property_methods: ["CSSValueFromComputedStyleInternal"], 3692 svg: true, 3693 keywords: ["none", "non-scaling-stroke"], 3694 typedom_types: ["Keyword"] 3695 }, 3696 { 3697 name: "vertical-align", 3698 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3699 interpolable: true, 3700 style_builder_custom_functions: ["inherit", "value"], 3701 typedom_types: ["Keyword", "Length", "Percentage"], 3702 keywords: ["baseline", "sub", "super", "text-top", "text-bottom", "middle"], 3703 valid_for_first_letter: true, 3704 }, 3705 { 3706 name: "visibility", 3707 property_methods: ["CSSValueFromComputedStyleInternal"], 3708 independent: true, 3709 interpolable: true, 3710 inherited: true, 3711 field_template: "keyword", 3712 keywords: ["visible", "hidden", "collapse"], 3713 typedom_types: ["Keyword"], 3714 default_value: "visible", 3715 valid_for_first_letter: true, 3716 valid_for_cue: true, 3717 }, 3718 { 3719 name: "x", 3720 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3721 interpolable: true, 3722 svg: true, 3723 typedom_types: ["Length", "Percentage"], 3724 converter: "ConvertLength", 3725 }, 3726 { 3727 name: "y", 3728 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3729 interpolable: true, 3730 svg: true, 3731 typedom_types: ["Length", "Percentage"], 3732 converter: "ConvertLength", 3733 }, 3734 { 3735 name: "-webkit-appearance", 3736 property_methods: ["CSSValueFromComputedStyleInternal"], 3737 field_group: "*", 3738 field_size: 5, 3739 field_template: "primitive", 3740 computed_style_custom_functions: ["getter"], 3741 default_value: "kNoControlPart", 3742 type_name: "ControlPart", 3743 }, 3744 { 3745 name: "-webkit-app-region", 3746 property_methods: ["CSSValueFromComputedStyleInternal"], 3747 field_group: "*", 3748 field_template: "keyword", 3749 keywords: ["none", "drag", "no-drag"], 3750 default_value: "none", 3751 name_for_methods: "DraggableRegionMode", 3752 style_builder_custom_functions: ["initial", "inherit", "value"], 3753 }, 3754 { 3755 name: "-webkit-border-horizontal-spacing", 3756 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3757 interpolable: true, 3758 inherited: true, 3759 field_group: "inherited", 3760 field_template: "primitive", 3761 default_value: "0", 3762 name_for_methods: "HorizontalBorderSpacing", 3763 type_name: "short", 3764 converter: "ConvertComputedLength<short>", 3765 valid_for_first_letter: true, 3766 }, 3767 { 3768 name: "-webkit-border-image", 3769 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3770 style_builder_custom_functions: ["value"], 3771 valid_for_first_letter: true, 3772 }, 3773 { 3774 name: "-webkit-border-vertical-spacing", 3775 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3776 interpolable: true, 3777 inherited: true, 3778 field_group: "inherited", 3779 field_template: "primitive", 3780 default_value: "0", 3781 name_for_methods: "VerticalBorderSpacing", 3782 type_name: "short", 3783 converter: "ConvertComputedLength<short>", 3784 valid_for_first_letter: true, 3785 }, 3786 // For valid values of box-align see 3787 // http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#alignment 3788 { 3789 name: "-webkit-box-align", 3790 property_methods: ["CSSValueFromComputedStyleInternal"], 3791 field_group: "*", 3792 field_template: "keyword", 3793 keywords: ["stretch", "start", "center", "end", "baseline"], 3794 default_value: "stretch", 3795 type_name: "EBoxAlignment", 3796 }, 3797 { 3798 name: "-webkit-box-decoration-break", 3799 property_methods: ["CSSValueFromComputedStyleInternal"], 3800 field_group: "box", 3801 field_template: "keyword", 3802 keywords: ["slice", "clone"], 3803 default_value: "slice", 3804 }, 3805 { 3806 name: "-webkit-box-direction", 3807 property_methods: ["CSSValueFromComputedStyleInternal"], 3808 independent: true, 3809 inherited: true, 3810 field_template: "keyword", 3811 keywords: ["normal", "reverse"], 3812 default_value: "normal", 3813 }, 3814 { 3815 name: "-webkit-box-flex", 3816 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3817 field_group: "*", 3818 field_template: "primitive", 3819 default_value: "0.0f", 3820 type_name: "float", 3821 }, 3822 { 3823 name: "-webkit-box-ordinal-group", 3824 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3825 field_group: "*", 3826 field_template: "primitive", 3827 default_value: "1", 3828 type_name: "unsigned", 3829 computed_style_custom_functions: ["setter"], 3830 }, 3831 { 3832 name: "-webkit-box-orient", 3833 property_methods: ["CSSValueFromComputedStyleInternal"], 3834 field_group: "*", 3835 field_template: "keyword", 3836 keywords: ["horizontal", "vertical"], 3837 default_value: "horizontal", 3838 }, 3839 { 3840 name: "-webkit-box-pack", 3841 property_methods: ["CSSValueFromComputedStyleInternal"], 3842 field_group: "*", 3843 field_template: "keyword", 3844 keywords: ["start", "center", "end", "justify"], 3845 default_value: "start", 3846 }, 3847 { 3848 name: "-webkit-box-reflect", 3849 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3850 field_group: "*", 3851 field_template: "pointer", 3852 include_paths: ["third_party/blink/renderer/core/style/style_reflection.h"], 3853 wrapper_pointer_name: "scoped_refptr", 3854 default_value: "nullptr", 3855 type_name: "StyleReflection", 3856 converter: "ConvertBoxReflect", 3857 }, 3858 { 3859 name: "column-count", 3860 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3861 interpolable: true, 3862 field_group: "*", 3863 field_template: "primitive", 3864 default_value: "1", 3865 type_name: "unsigned short", 3866 computed_style_custom_functions: ["setter"], 3867 style_builder_template: "auto", 3868 keywords: ["auto"], 3869 typedom_types: ["Keyword", "Number"] 3870 }, 3871 { 3872 name: "column-gap", 3873 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3874 interpolable: true, 3875 field_group: "*", 3876 field_template: "external", 3877 include_paths: ["third_party/blink/renderer/core/style/gap_length.h"], 3878 default_value: "GapLength()", 3879 type_name: "GapLength", 3880 converter: "ConvertGapLength", 3881 keywords: ["normal"], 3882 typedom_types: ["Keyword", "Length", "Percentage"], 3883 }, 3884 { 3885 name: "row-gap", 3886 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3887 interpolable: true, 3888 field_group: "*", 3889 field_template: "external", 3890 include_paths: ["third_party/blink/renderer/core/style/gap_length.h"], 3891 default_value: "GapLength()", 3892 type_name: "GapLength", 3893 converter: "ConvertGapLength", 3894 keywords: ["normal"], 3895 typedom_types: ["Keyword", "Length", "Percentage"], 3896 }, 3897 { 3898 name: "column-rule-color", 3899 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 3900 interpolable: true, 3901 field_group: "*", 3902 field_template: "external", 3903 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 3904 default_value: "0", 3905 type_name: "Color", 3906 computed_style_custom_functions: ["getter","setter"], 3907 keywords: ["currentcolor"], 3908 typedom_types: ["Keyword"], 3909 converter: "ConvertStyleColor", 3910 style_builder_template: "color", 3911 affected_by_forced_colors: true, 3912 }, 3913 { 3914 name: "column-rule-style", 3915 property_methods: ["CSSValueFromComputedStyleInternal"], 3916 field_group: "*", 3917 field_template: "keyword", 3918 keywords: [ 3919 "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", 3920 "dashed", "solid", "double" 3921 ], 3922 default_value: "none", 3923 type_name: "EBorderStyle", 3924 typedom_types: ["Keyword"] 3925 }, 3926 { 3927 name: "column-rule-width", 3928 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3929 interpolable: true, 3930 field_group: "*", 3931 field_template: "external", 3932 include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], 3933 default_value: "LayoutUnit(3)", 3934 type_name: "LayoutUnit", 3935 computed_style_custom_functions: ["initial", "getter", "setter"], 3936 converter: "ConvertLineWidth<unsigned short>", 3937 keywords: ["thin", "medium", "thick"], 3938 typedom_types: ["Keyword", "Length"], 3939 }, 3940 { 3941 name: "column-span", 3942 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3943 field_group: "*", 3944 field_template: "keyword", 3945 keywords: ["none", "all"], 3946 default_value: "none", 3947 getter: "GetColumnSpan", 3948 typedom_types: ["Keyword"], 3949 }, 3950 { 3951 name: "column-width", 3952 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3953 interpolable: true, 3954 field_group: "*", 3955 field_template: "primitive", 3956 default_value: "0.0f", 3957 type_name: "float", 3958 computed_style_custom_functions: ["setter"], 3959 style_builder_template: "auto", 3960 converter: "ConvertComputedLength<float>", 3961 keywords: ["auto"], 3962 typedom_types: ["Keyword", "Length"], 3963 }, 3964 { 3965 name: "-webkit-highlight", 3966 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3967 inherited: true, 3968 field_group: "*", 3969 field_template: "external", 3970 include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"], 3971 default_value: "g_null_atom", 3972 type_name: "AtomicString", 3973 converter: "ConvertString<CSSValueID::kNone>", 3974 }, 3975 { 3976 name: "-webkit-hyphenate-character", 3977 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 3978 inherited: true, 3979 field_group: "*", 3980 field_template: "external", 3981 include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"], 3982 default_value: "AtomicString()", 3983 name_for_methods: "HyphenationString", 3984 type_name: "AtomicString", 3985 converter: "ConvertString<CSSValueID::kAuto>", 3986 }, 3987 { 3988 name: "-webkit-line-break", 3989 property_methods: ["CSSValueFromComputedStyleInternal"], 3990 inherited: true, 3991 field_group: "*", 3992 field_template: "keyword", 3993 keywords: ["auto", "loose", "normal", "strict", "after-white-space", "anywhere"], 3994 default_value: "auto", 3995 type_name: "LineBreak", 3996 }, 3997 { 3998 name: "line-break", 3999 property_methods: ["CSSValueFromComputedStyleInternal"], 4000 inherited: true, 4001 type_name: "LineBreak", 4002 keywords: ["auto", "loose", "normal", "strict", "anywhere"], 4003 typedom_types: ["Keyword"] 4004 }, 4005 // An Apple extension. 4006 { 4007 name: "-webkit-line-clamp", 4008 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4009 field_group: "*", 4010 field_template: "external", 4011 default_value: "0", 4012 type_name: "int", 4013 }, 4014 { 4015 name: "-webkit-mask-box-image-outset", 4016 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4017 interpolable: true, 4018 style_builder_template: "mask_box", 4019 style_builder_template_args: { 4020 modifier_type: "Outset", 4021 }, 4022 }, 4023 { 4024 name: "-webkit-mask-box-image-repeat", 4025 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4026 style_builder_template: "mask_box", 4027 style_builder_template_args: { 4028 modifier_type: "Repeat", 4029 }, 4030 }, 4031 { 4032 name: "-webkit-mask-box-image-slice", 4033 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4034 interpolable: true, 4035 style_builder_template: "mask_box", 4036 style_builder_template_args: { 4037 modifier_type: "Slice", 4038 }, 4039 }, 4040 { 4041 name: "-webkit-mask-box-image-source", 4042 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4043 interpolable: true, 4044 style_builder_custom_functions: ["value"], 4045 }, 4046 { 4047 name: "-webkit-mask-box-image-width", 4048 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4049 interpolable: true, 4050 style_builder_template: "mask_box", 4051 style_builder_template_args: { 4052 modifier_type: "Width", 4053 }, 4054 }, 4055 { 4056 name: "-webkit-mask-clip", 4057 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4058 style_builder_template: "mask_layer", 4059 style_builder_template_args: { 4060 fill_type: "Clip", 4061 }, 4062 }, 4063 { 4064 name: "-webkit-mask-composite", 4065 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4066 style_builder_template: "mask_layer", 4067 style_builder_template_args: { 4068 fill_type: "Composite", 4069 }, 4070 }, 4071 { 4072 name: "-webkit-mask-image", 4073 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4074 interpolable: true, 4075 style_builder_template: "mask_layer", 4076 style_builder_template_args: { 4077 fill_type: "Image", 4078 fill_type_getter: "GetImage" 4079 }, 4080 }, 4081 { 4082 name: "-webkit-mask-origin", 4083 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4084 style_builder_template: "mask_layer", 4085 style_builder_template_args: { 4086 fill_type: "Origin", 4087 }, 4088 }, 4089 { 4090 name: "-webkit-mask-position-x", 4091 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4092 interpolable: true, 4093 style_builder_template: "mask_layer", 4094 style_builder_template_args: { 4095 fill_type: "PositionX", 4096 }, 4097 }, 4098 { 4099 name: "-webkit-mask-position-y", 4100 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4101 interpolable: true, 4102 style_builder_template: "mask_layer", 4103 style_builder_template_args: { 4104 fill_type: "PositionY", 4105 }, 4106 }, 4107 { 4108 name: "-webkit-mask-repeat-x", 4109 style_builder_template: "mask_layer", 4110 style_builder_template_args: { 4111 fill_type: "RepeatX", 4112 }, 4113 }, 4114 { 4115 name: "-webkit-mask-repeat-y", 4116 style_builder_template: "mask_layer", 4117 style_builder_template_args: { 4118 fill_type: "RepeatY", 4119 }, 4120 }, 4121 { 4122 name: "-webkit-mask-size", 4123 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4124 interpolable: true, 4125 style_builder_template: "mask_layer", 4126 style_builder_template_args: { 4127 fill_type: "Size", 4128 }, 4129 }, 4130 { 4131 name: "-webkit-perspective-origin-x", 4132 property_methods: ["ParseSingleValue"], 4133 interpolable: true, 4134 converter: "ConvertLength", 4135 }, 4136 { 4137 name: "-webkit-perspective-origin-y", 4138 property_methods: ["ParseSingleValue"], 4139 interpolable: true, 4140 converter: "ConvertLength", 4141 }, 4142 { 4143 name: "-webkit-print-color-adjust", 4144 property_methods: ["CSSValueFromComputedStyleInternal"], 4145 independent: true, 4146 inherited: true, 4147 field_template: "keyword", 4148 keywords: ["economy", "exact"], 4149 default_value: "economy", 4150 }, 4151 { 4152 name: "-webkit-rtl-ordering", 4153 property_methods: ["CSSValueFromComputedStyleInternal"], 4154 independent: true, 4155 inherited: true, 4156 field_template: "keyword", 4157 keywords: ["logical", "visual"], 4158 default_value: "logical", 4159 name_for_methods: "RtlOrdering", 4160 setter: "SetRtlOrdering", 4161 type_name: "EOrder", 4162 }, 4163 { 4164 name: "-webkit-ruby-position", 4165 property_methods: ["CSSValueFromComputedStyleInternal"], 4166 inherited: true, 4167 field_group: "*", 4168 field_template: "keyword", 4169 keywords: ["before", "after"], 4170 default_value: "before", 4171 type_name: "RubyPosition", 4172 }, 4173 { 4174 name: "-webkit-tap-highlight-color", 4175 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 4176 inherited: true, 4177 field_group: "*", 4178 field_template: "<color>", 4179 default_value: "LayoutTheme::TapHighlightColor()", 4180 converter: "ConvertColor", 4181 affected_by_forced_colors: true, 4182 }, 4183 { 4184 name: "-webkit-text-combine", 4185 property_methods: ["CSSValueFromComputedStyleInternal"], 4186 inherited: true, 4187 name_for_methods: "TextCombine", 4188 }, 4189 { 4190 name: "-webkit-text-emphasis-color", 4191 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 4192 inherited: true, 4193 field_group: "*", 4194 field_template: "external", 4195 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 4196 default_value: "Color()", 4197 type_name: "Color", 4198 computed_style_custom_functions: ["getter", "setter"], 4199 converter: "ConvertStyleColor", 4200 style_builder_template: "color", 4201 affected_by_forced_colors: true, 4202 }, 4203 { 4204 name: "-webkit-text-emphasis-position", 4205 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4206 inherited: true, 4207 field_group: "*", 4208 field_size: 2, 4209 field_template: "primitive", 4210 default_value: "TextEmphasisPosition::kOverRight", 4211 type_name: "TextEmphasisPosition", 4212 converter: "ConvertTextTextEmphasisPosition", 4213 }, 4214 { 4215 name: "-webkit-text-emphasis-style", 4216 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4217 inherited: true, 4218 style_builder_custom_functions: ["initial", "inherit", "value"], 4219 }, 4220 { 4221 name: "-webkit-text-fill-color", 4222 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 4223 inherited: true, 4224 field_group: "*", 4225 field_template: "external", 4226 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 4227 default_value: "Color()", 4228 type_name: "Color", 4229 computed_style_custom_functions: ["getter", "setter"], 4230 converter: "ConvertStyleColor", 4231 style_builder_template: "color", 4232 }, 4233 { 4234 name: "-webkit-text-security", 4235 property_methods: ["CSSValueFromComputedStyleInternal"], 4236 inherited: true, 4237 field_group: "*", 4238 field_template: "keyword", 4239 keywords: ["none", "disc", "circle", "square"], 4240 default_value: "none", 4241 }, 4242 { 4243 name: "-webkit-text-stroke-color", 4244 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], 4245 interpolable: true, 4246 inherited: true, 4247 field_group: "*", 4248 field_template: "external", 4249 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 4250 default_value: "Color()", 4251 type_name: "Color", 4252 computed_style_custom_functions: ["getter", "setter"], 4253 converter: "ConvertStyleColor", 4254 style_builder_template: "color", 4255 }, 4256 { 4257 name: "-webkit-text-stroke-width", 4258 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4259 inherited: true, 4260 field_group: "*", 4261 field_template: "primitive", 4262 default_value: "0", 4263 type_name: "float", 4264 converter: "ConvertTextStrokeWidth", 4265 }, 4266 { 4267 name: "-webkit-transform-origin-x", 4268 property_methods: ["ParseSingleValue"], 4269 interpolable: true, 4270 converter: "ConvertLength", 4271 }, 4272 { 4273 name: "-webkit-transform-origin-y", 4274 property_methods: ["ParseSingleValue"], 4275 interpolable: true, 4276 converter: "ConvertLength", 4277 }, 4278 { 4279 name: "-webkit-transform-origin-z", 4280 property_methods: ["ParseSingleValue"], 4281 interpolable: true, 4282 converter: "ConvertComputedLength<float>", 4283 }, 4284 { 4285 name: "-webkit-user-drag", 4286 property_methods: ["CSSValueFromComputedStyleInternal"], 4287 field_group: "*", 4288 field_template: "keyword", 4289 keywords: ["auto", "none", "element"], 4290 default_value: "auto", 4291 }, 4292 { 4293 name: "-webkit-user-modify", 4294 property_methods: ["CSSValueFromComputedStyleInternal"], 4295 inherited: true, 4296 field_group: "*", 4297 field_template: "keyword", 4298 keywords: ["read-only", "read-write", "read-write-plaintext-only"], 4299 default_value: "read-only", 4300 }, 4301 { 4302 name: "user-select", 4303 property_methods: ["CSSValueFromComputedStyleInternal"], 4304 inherited: true, 4305 field_group: "*", 4306 field_template: "keyword", 4307 keywords: ["auto", "none", "text", "all"], 4308 typedom_types: ["Keyword"], 4309 default_value: "auto", 4310 }, 4311 { 4312 name: "white-space", 4313 property_methods: ["CSSValueFromComputedStyleInternal"], 4314 independent: true, 4315 inherited: true, 4316 field_template: "multi_keyword", // We use a bitflag field due peformance issues 4317 keywords: [ 4318 "none", "normal", "pre", "pre-wrap", "pre-line", "nowrap", "-webkit-nowrap", "break-spaces" 4319 ], 4320 typedom_types: ["Keyword"], 4321 default_value: "normal", 4322 valid_for_cue: true, 4323 valid_for_marker: true, 4324 }, 4325 { 4326 name: "widows", 4327 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4328 interpolable: true, 4329 inherited: true, 4330 field_group: "*", 4331 field_template: "primitive", 4332 computed_style_custom_functions: ["setter"], 4333 default_value: "2", 4334 type_name: "short", 4335 typedom_types: ["Number"] 4336 }, 4337 { 4338 name: "width", 4339 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4340 is_descriptor: true, 4341 interpolable: true, 4342 layout_dependent: true, 4343 field_group: "box", 4344 field_template: "<length>", 4345 keywords: ["auto", "fit-content", "min-content", "max-content"], 4346 default_value: "Length()", 4347 typedom_types: ["Keyword", "Length", "Percentage"], 4348 converter: "ConvertLengthSizing", 4349 }, 4350 { 4351 name: "will-change", 4352 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4353 style_builder_custom_functions: ["initial", "inherit", "value"], 4354 keywords: ["auto"], 4355 typedom_types: ["Keyword"] 4356 }, 4357 { 4358 name: "word-break", 4359 property_methods: ["CSSValueFromComputedStyleInternal"], 4360 inherited: true, 4361 field_group: "*", 4362 field_template: "keyword", 4363 // Word Break Values. Matches WinIE and CSS3 4364 keywords: ["normal", "break-all", "keep-all", "break-word"], 4365 default_value: "normal", 4366 typedom_types: ["Keyword"] 4367 }, 4368 { 4369 name: "word-spacing", 4370 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4371 interpolable: true, 4372 inherited: true, 4373 converter: "ConvertSpacing", 4374 keywords: ["normal"], 4375 typedom_types: ["normal"], 4376 typedom_types: ["Keyword", "Length"], 4377 valid_for_first_letter: true, 4378 }, 4379 { 4380 name: "z-index", 4381 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4382 interpolable: true, 4383 field_group: "box", 4384 field_template: "primitive", 4385 default_value: "0", 4386 type_name: "int", 4387 computed_style_custom_functions: ["setter"], 4388 style_builder_template: "auto", 4389 keywords: ["auto"], 4390 typedom_types: ["Keyword", "Number"] 4391 }, 4392 4393 // CSS logical props 4394 { 4395 name: "inline-size", 4396 property_methods: ["ParseSingleValue"], 4397 layout_dependent: true, 4398 direction_aware_options: { 4399 resolver: "inline", 4400 physical_group: "size", 4401 }, 4402 keywords: ["auto"], 4403 typedom_types: ["Keyword", "Length", "Percentage"], 4404 }, 4405 { 4406 name: "block-size", 4407 property_methods: ["ParseSingleValue"], 4408 layout_dependent: true, 4409 direction_aware_options: { 4410 resolver: "block", 4411 physical_group: "size", 4412 }, 4413 keywords: ["auto"], 4414 typedom_types: ["Keyword", "Length", "Percentage"], 4415 }, 4416 { 4417 name: "min-inline-size", 4418 property_methods: ["ParseSingleValue"], 4419 direction_aware_options: { 4420 resolver: "inline", 4421 physical_group: "min-size", 4422 }, 4423 typedom_types: ["Length", "Percentage"], 4424 }, 4425 { 4426 name: "min-block-size", 4427 property_methods: ["ParseSingleValue"], 4428 direction_aware_options: { 4429 resolver: "block", 4430 physical_group: "min-size", 4431 }, 4432 typedom_types: ["Length", "Percentage"], 4433 }, 4434 { 4435 name: "max-inline-size", 4436 property_methods: ["ParseSingleValue"], 4437 direction_aware_options: { 4438 resolver: "inline", 4439 physical_group: "max-size", 4440 }, 4441 keywords: ["none"], 4442 typedom_types: ["Keyword", "Length", "Percentage"], 4443 }, 4444 { 4445 name: "max-block-size", 4446 property_methods: ["ParseSingleValue"], 4447 direction_aware_options: { 4448 resolver: "block", 4449 physical_group: "max-size", 4450 }, 4451 keywords: ["none"], 4452 typedom_types: ["Keyword", "Length", "Percentage"], 4453 }, 4454 { 4455 name: "margin-inline-start", 4456 layout_dependent: true, 4457 property_methods: ["ParseSingleValue"], 4458 direction_aware_options: { 4459 resolver: "inline-start", 4460 physical_group: "margin", 4461 }, 4462 typedom_types: ["Length", "Percentage"], 4463 keywords: ["auto"], 4464 valid_for_first_letter: true, 4465 }, 4466 { 4467 name: "margin-inline-end", 4468 layout_dependent: true, 4469 property_methods: ["ParseSingleValue"], 4470 direction_aware_options: { 4471 resolver: "inline-end", 4472 physical_group: "margin", 4473 }, 4474 typedom_types: ["Length", "Percentage"], 4475 keywords: ["auto"], 4476 valid_for_first_letter: true, 4477 }, 4478 { 4479 name: "margin-block-start", 4480 layout_dependent: true, 4481 property_methods: ["ParseSingleValue"], 4482 direction_aware_options: { 4483 resolver: "block-start", 4484 physical_group: "margin", 4485 }, 4486 typedom_types: ["Length", "Percentage"], 4487 keywords: ["auto"], 4488 valid_for_first_letter: true, 4489 }, 4490 { 4491 name: "margin-block-end", 4492 layout_dependent: true, 4493 property_methods: ["ParseSingleValue"], 4494 direction_aware_options: { 4495 resolver: "block-end", 4496 physical_group: "margin", 4497 }, 4498 typedom_types: ["Length", "Percentage"], 4499 keywords: ["auto"], 4500 valid_for_first_letter: true, 4501 }, 4502 { 4503 name: "padding-inline-start", 4504 layout_dependent: true, 4505 property_methods: ["ParseSingleValue"], 4506 direction_aware_options: { 4507 resolver: "inline-start", 4508 physical_group: "padding", 4509 }, 4510 typedom_types: ["Length", "Percentage"] 4511 }, 4512 { 4513 name: "padding-inline-end", 4514 layout_dependent: true, 4515 property_methods: ["ParseSingleValue"], 4516 direction_aware_options: { 4517 resolver: "inline-end", 4518 physical_group: "padding", 4519 }, 4520 typedom_types: ["Length", "Percentage"] 4521 }, 4522 { 4523 name: "padding-block-start", 4524 layout_dependent: true, 4525 property_methods: ["ParseSingleValue"], 4526 direction_aware_options: { 4527 resolver: "block-start", 4528 physical_group: "padding", 4529 }, 4530 typedom_types: ["Length", "Percentage"] 4531 }, 4532 { 4533 name: "padding-block-end", 4534 layout_dependent: true, 4535 property_methods: ["ParseSingleValue"], 4536 direction_aware_options: { 4537 resolver: "block-end", 4538 physical_group: "padding", 4539 }, 4540 typedom_types: ["Length", "Percentage"] 4541 }, 4542 { 4543 name: "border-inline-start-width", 4544 property_methods: ["ParseSingleValue"], 4545 direction_aware_options: { 4546 resolver: "inline-start", 4547 physical_group: "border-width", 4548 }, 4549 valid_for_first_letter: true, 4550 }, 4551 { 4552 name: "border-inline-start-style", 4553 direction_aware_options: { 4554 resolver: "inline-start", 4555 physical_group: "border-style", 4556 }, 4557 valid_for_first_letter: true, 4558 }, 4559 { 4560 name: "border-inline-start-color", 4561 property_methods: ["ParseSingleValue"], 4562 direction_aware_options: { 4563 resolver: "inline-start", 4564 physical_group: "border-color", 4565 }, 4566 valid_for_first_letter: true, 4567 }, 4568 { 4569 name: "border-inline-end-width", 4570 property_methods: ["ParseSingleValue"], 4571 direction_aware_options: { 4572 resolver: "inline-end", 4573 physical_group: "border-width", 4574 }, 4575 valid_for_first_letter: true, 4576 }, 4577 { 4578 name: "border-inline-end-style", 4579 direction_aware_options: { 4580 resolver: "inline-end", 4581 physical_group: "border-style", 4582 }, 4583 valid_for_first_letter: true, 4584 }, 4585 { 4586 name: "border-inline-end-color", 4587 property_methods: ["ParseSingleValue"], 4588 direction_aware_options: { 4589 resolver: "inline-end", 4590 physical_group: "border-color", 4591 }, 4592 valid_for_first_letter: true, 4593 }, 4594 { 4595 name: "border-block-start-width", 4596 property_methods: ["ParseSingleValue"], 4597 direction_aware_options: { 4598 resolver: "block-start", 4599 physical_group: "border-width", 4600 }, 4601 valid_for_first_letter: true, 4602 }, 4603 { 4604 name: "border-block-start-style", 4605 direction_aware_options: { 4606 resolver: "block-start", 4607 physical_group: "border-style", 4608 }, 4609 valid_for_first_letter: true, 4610 }, 4611 { 4612 name: "border-block-start-color", 4613 property_methods: ["ParseSingleValue"], 4614 direction_aware_options: { 4615 resolver: "block-start", 4616 physical_group: "border-color", 4617 }, 4618 valid_for_first_letter: true, 4619 }, 4620 { 4621 name: "border-block-end-width", 4622 property_methods: ["ParseSingleValue"], 4623 direction_aware_options: { 4624 resolver: "block-end", 4625 physical_group: "border-width", 4626 }, 4627 valid_for_first_letter: true, 4628 }, 4629 { 4630 name: "border-block-end-style", 4631 direction_aware_options: { 4632 resolver: "block-end", 4633 physical_group: "border-style", 4634 }, 4635 valid_for_first_letter: true, 4636 }, 4637 { 4638 name: "border-block-end-color", 4639 property_methods: ["ParseSingleValue"], 4640 direction_aware_options: { 4641 resolver: "block-end", 4642 physical_group: "border-color", 4643 }, 4644 valid_for_first_letter: true, 4645 }, 4646 { 4647 name: "inset-inline-start", 4648 property_methods: ["ParseSingleValue"], 4649 runtime_flag: "CSSLogical", 4650 direction_aware_options: { 4651 resolver: "inline-start", 4652 physical_group: "inset", 4653 }, 4654 typedom_types: ["Length", "Percentage"] 4655 }, 4656 { 4657 name: "inset-inline-end", 4658 property_methods: ["ParseSingleValue"], 4659 runtime_flag: "CSSLogical", 4660 direction_aware_options: { 4661 resolver: "inline-end", 4662 physical_group: "inset", 4663 }, 4664 typedom_types: ["Length", "Percentage"] 4665 }, 4666 { 4667 name: "inset-block-start", 4668 property_methods: ["ParseSingleValue"], 4669 runtime_flag: "CSSLogical", 4670 direction_aware_options: { 4671 resolver: "block-start", 4672 physical_group: "inset", 4673 }, 4674 typedom_types: ["Length", "Percentage"] 4675 }, 4676 { 4677 name: "inset-block-end", 4678 property_methods: ["ParseSingleValue"], 4679 runtime_flag: "CSSLogical", 4680 direction_aware_options: { 4681 resolver: "block-end", 4682 physical_group: "inset", 4683 }, 4684 typedom_types: ["Length", "Percentage"] 4685 }, 4686 4687 // Non-standard direction aware properties 4688 4689 { 4690 name: "-webkit-border-end-color", 4691 alias_for: "border-inline-end-color", 4692 }, 4693 { 4694 name: "-webkit-border-end-style", 4695 alias_for: "border-inline-end-style", 4696 }, 4697 { 4698 name: "-webkit-border-end-width", 4699 alias_for: "border-inline-end-width", 4700 }, 4701 { 4702 name: "-webkit-border-start-color", 4703 alias_for: "border-inline-start-color", 4704 }, 4705 { 4706 name: "-webkit-border-start-style", 4707 alias_for: "border-inline-start-style", 4708 }, 4709 { 4710 name: "-webkit-border-start-width", 4711 alias_for: "border-inline-start-width", 4712 }, 4713 { 4714 name: "-webkit-border-before-color", 4715 alias_for: "border-block-start-color", 4716 }, 4717 { 4718 name: "-webkit-border-before-style", 4719 alias_for: "border-block-start-style", 4720 }, 4721 { 4722 name: "-webkit-border-before-width", 4723 alias_for: "border-block-start-width", 4724 }, 4725 { 4726 name: "-webkit-border-after-color", 4727 alias_for: "border-block-end-color", 4728 }, 4729 { 4730 name: "-webkit-border-after-style", 4731 alias_for: "border-block-end-style", 4732 }, 4733 { 4734 name: "-webkit-border-after-width", 4735 alias_for: "border-block-end-width", 4736 }, 4737 { 4738 name: "-webkit-margin-end", 4739 alias_for: "margin-inline-end", 4740 }, 4741 { 4742 name: "-webkit-margin-start", 4743 alias_for: "margin-inline-start", 4744 }, 4745 { 4746 name: "-webkit-margin-before", 4747 alias_for: "margin-block-start", 4748 }, 4749 { 4750 name: "-webkit-margin-after", 4751 alias_for: "margin-block-end", 4752 }, 4753 { 4754 name: "-webkit-padding-end", 4755 alias_for: "padding-inline-end", 4756 }, 4757 { 4758 name: "-webkit-padding-start", 4759 alias_for: "padding-inline-start", 4760 }, 4761 { 4762 name: "-webkit-padding-before", 4763 alias_for: "padding-block-start", 4764 }, 4765 { 4766 name: "-webkit-padding-after", 4767 alias_for: "padding-block-end", 4768 }, 4769 { 4770 name: "-webkit-logical-width", 4771 alias_for: "inline-size", 4772 }, 4773 { 4774 name: "-webkit-logical-height", 4775 alias_for: "block-size", 4776 }, 4777 { 4778 name: "-webkit-min-logical-width", 4779 alias_for: "min-inline-size", 4780 }, 4781 { 4782 name: "-webkit-min-logical-height", 4783 alias_for: "min-block-size", 4784 }, 4785 { 4786 name: "-webkit-max-logical-width", 4787 alias_for: "max-inline-size", 4788 }, 4789 { 4790 name: "-webkit-max-logical-height", 4791 alias_for: "max-block-size", 4792 }, 4793 4794 // Properties that we ignore in the StyleBuilder. 4795 // TODO(timloh): This seems wrong, most of these shouldn't reach the 4796 // StyleBuilder 4797 { 4798 name: "all", 4799 affected_by_all: false, 4800 style_builder_template: "empty", 4801 }, 4802 { 4803 name: "-webkit-font-size-delta", 4804 property_methods: ["ParseSingleValue"], 4805 style_builder_template: "empty", 4806 }, 4807 { 4808 name: "-webkit-text-decorations-in-effect", 4809 property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], 4810 inherited: true, 4811 style_builder_template: "empty", 4812 }, 4813 4814 // Descriptor only names 4815 { 4816 name: "font-display", 4817 is_descriptor: true, 4818 is_property: false, 4819 }, 4820 { 4821 name: "max-zoom", 4822 is_descriptor: true, 4823 is_property: false, 4824 }, 4825 { 4826 name: "min-zoom", 4827 is_descriptor: true, 4828 is_property: false, 4829 }, 4830 { 4831 name: "orientation", 4832 is_descriptor: true, 4833 is_property: false, 4834 }, 4835 { 4836 name: "src", 4837 is_descriptor: true, 4838 is_property: false, 4839 }, 4840 { 4841 name: "unicode-range", 4842 is_descriptor: true, 4843 is_property: false, 4844 }, 4845 { 4846 name: "user-zoom", 4847 is_descriptor: true, 4848 is_property: false, 4849 }, 4850 { 4851 name: "viewport-fit", 4852 is_descriptor: true, 4853 is_property: false, 4854 runtime_flag: "DisplayCutoutAPI", 4855 }, 4856 { 4857 name: "syntax", 4858 is_descriptor: true, 4859 is_property: false, 4860 runtime_flag: "CSSVariables2AtProperty", 4861 }, 4862 { 4863 name: "initial-value", 4864 is_descriptor: true, 4865 is_property: false, 4866 runtime_flag: "CSSVariables2AtProperty", 4867 }, 4868 { 4869 name: "inherits", 4870 is_descriptor: true, 4871 is_property: false, 4872 runtime_flag: "CSSVariables2AtProperty", 4873 }, 4874 4875 // Shorthands 4876 { 4877 name: "animation", 4878 longhands: [ 4879 "animation-duration", "animation-timing-function", "animation-delay", 4880 "animation-iteration-count", "animation-direction", 4881 "animation-fill-mode", "animation-play-state", "animation-name" 4882 ], 4883 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4884 }, 4885 { 4886 name: "background", 4887 longhands: [ 4888 "background-image", "background-position-x", "background-position-y", 4889 "background-size", "background-repeat-x", "background-repeat-y", 4890 "background-attachment", "background-origin", "background-clip", 4891 "background-color" 4892 ], 4893 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4894 }, 4895 { 4896 name: "background-position", 4897 longhands: ["background-position-x", "background-position-y"], 4898 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4899 }, 4900 { 4901 name: "background-repeat", 4902 longhands: ["background-repeat-x", "background-repeat-y"], 4903 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4904 }, 4905 { 4906 name: "border", 4907 longhands: [ 4908 "border-top-color", "border-top-style", "border-top-width", 4909 "border-right-color", "border-right-style", "border-right-width", 4910 "border-bottom-color", "border-bottom-style", "border-bottom-width", 4911 "border-left-color", "border-left-style", "border-left-width", 4912 "border-image-source", "border-image-slice", "border-image-width", 4913 "border-image-outset", "border-image-repeat" 4914 ], 4915 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4916 }, 4917 { 4918 name: "border-block", 4919 longhands: [ 4920 "border-block-start-color", "border-block-start-style", "border-block-start-width", 4921 "border-block-end-color", "border-block-end-style", "border-block-end-width" 4922 ], 4923 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4924 runtime_flag: "CSSLogical", 4925 }, 4926 { 4927 name: "border-block-color", 4928 longhands: ["border-block-start-color", "border-block-end-color"], 4929 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4930 runtime_flag: "CSSLogical", 4931 }, 4932 { 4933 name: "border-block-end", 4934 longhands: [ 4935 "border-block-end-width", "border-block-end-style", 4936 "border-block-end-color" 4937 ], 4938 property_methods: ["ParseShorthand"], 4939 direction_aware_options: { 4940 resolver: "block-end", 4941 physical_group: "border", 4942 }, 4943 }, 4944 { 4945 name: "border-block-start", 4946 longhands: [ 4947 "border-block-start-width", "border-block-start-style", 4948 "border-block-start-color" 4949 ], 4950 property_methods: ["ParseShorthand"], 4951 direction_aware_options: { 4952 resolver: "block-start", 4953 physical_group: "border", 4954 }, 4955 }, 4956 { 4957 name: "border-block-style", 4958 longhands: ["border-block-start-style", "border-block-end-style"], 4959 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4960 runtime_flag: "CSSLogical", 4961 }, 4962 { 4963 name: "border-block-width", 4964 longhands: ["border-block-start-width", "border-block-end-width"], 4965 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4966 runtime_flag: "CSSLogical", 4967 }, 4968 { 4969 name: "border-bottom", 4970 longhands: [ 4971 "border-bottom-width", "border-bottom-style", "border-bottom-color" 4972 ], 4973 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4974 }, 4975 { 4976 name: "border-color", 4977 longhands: [ 4978 "border-top-color", "border-right-color", "border-bottom-color", 4979 "border-left-color" 4980 ], 4981 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4982 }, 4983 { 4984 name: "border-image", 4985 longhands: [ 4986 "border-image-source", "border-image-slice", "border-image-width", 4987 "border-image-outset", "border-image-repeat" 4988 ], 4989 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4990 }, 4991 { 4992 name: "border-inline", 4993 longhands: [ 4994 "border-inline-start-color", "border-inline-start-style", "border-inline-start-width", 4995 "border-inline-end-color", "border-inline-end-style", "border-inline-end-width" 4996 ], 4997 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 4998 runtime_flag: "CSSLogical", 4999 }, 5000 { 5001 name: "border-inline-color", 5002 longhands: ["border-inline-start-color", "border-inline-end-color"], 5003 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5004 runtime_flag: "CSSLogical", 5005 }, 5006 { 5007 name: "border-inline-end", 5008 longhands: [ 5009 "border-inline-end-width", "border-inline-end-style", 5010 "border-inline-end-color" 5011 ], 5012 property_methods: ["ParseShorthand"], 5013 direction_aware_options: { 5014 resolver: "inline-end", 5015 physical_group: "border", 5016 }, 5017 }, 5018 { 5019 name: "border-inline-start", 5020 longhands: [ 5021 "border-inline-start-width", "border-inline-start-style", 5022 "border-inline-start-color" 5023 ], 5024 property_methods: ["ParseShorthand"], 5025 direction_aware_options: { 5026 resolver: "inline-start", 5027 physical_group: "border", 5028 }, 5029 }, 5030 { 5031 name: "border-inline-style", 5032 longhands: ["border-inline-start-style", "border-inline-end-style"], 5033 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5034 runtime_flag: "CSSLogical", 5035 }, 5036 { 5037 name: "border-inline-width", 5038 longhands: ["border-inline-start-width", "border-inline-end-width"], 5039 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5040 runtime_flag: "CSSLogical", 5041 }, 5042 { 5043 name: "border-left", 5044 longhands: [ 5045 "border-left-width", "border-left-style", "border-left-color" 5046 ], 5047 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5048 }, 5049 { 5050 name: "border-radius", 5051 longhands: [ 5052 "border-top-left-radius", "border-top-right-radius", 5053 "border-bottom-right-radius", "border-bottom-left-radius" 5054 ], 5055 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5056 }, 5057 { 5058 name: "border-right", 5059 longhands: [ 5060 "border-right-width", "border-right-style", "border-right-color" 5061 ], 5062 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5063 }, 5064 { 5065 name: "border-spacing", 5066 longhands: [ 5067 "-webkit-border-horizontal-spacing", "-webkit-border-vertical-spacing" 5068 ], 5069 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5070 }, 5071 { 5072 name: "border-style", 5073 longhands: [ 5074 "border-top-style", "border-right-style", "border-bottom-style", 5075 "border-left-style" 5076 ], 5077 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5078 keywords: ["none"], 5079 }, 5080 { 5081 name: "border-top", 5082 longhands: ["border-top-width", "border-top-style", "border-top-color"], 5083 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5084 }, 5085 { 5086 name: "border-width", 5087 longhands: [ 5088 "border-top-width", "border-right-width", "border-bottom-width", 5089 "border-left-width" 5090 ], 5091 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5092 }, 5093 { 5094 name: "flex", 5095 longhands: ["flex-grow", "flex-shrink", "flex-basis"], 5096 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5097 }, 5098 { 5099 name: "flex-flow", 5100 longhands: ["flex-direction", "flex-wrap"], 5101 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5102 }, 5103 { 5104 name: "font", 5105 longhands: [ 5106 "font-style", "font-variant-ligatures", "font-variant-caps", 5107 "font-variant-numeric", "font-variant-east-asian", "font-weight", 5108 "font-stretch", "font-size", "line-height", "font-family" 5109 ], 5110 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5111 }, 5112 { 5113 name: "font-variant", 5114 longhands: [ 5115 "font-variant-ligatures", "font-variant-caps", 5116 "font-variant-numeric", "font-variant-east-asian" 5117 ], 5118 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5119 is_descriptor: true, 5120 }, 5121 { 5122 name: "grid", 5123 longhands: [ 5124 "grid-template-rows", "grid-template-columns", "grid-template-areas", 5125 "grid-auto-flow", "grid-auto-rows", "grid-auto-columns" 5126 ], 5127 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5128 layout_dependent: true, 5129 }, 5130 { 5131 name: "place-content", 5132 longhands: ["align-content", "justify-content"], 5133 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5134 }, 5135 { 5136 name: "place-items", 5137 longhands: ["align-items", "justify-items"], 5138 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5139 }, 5140 { 5141 name: "place-self", 5142 longhands: ["align-self", "justify-self"], 5143 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5144 }, 5145 { 5146 name: "grid-area", 5147 longhands: [ 5148 "grid-row-start", "grid-column-start", "grid-row-end", 5149 "grid-column-end" 5150 ], 5151 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5152 }, 5153 { 5154 name: "grid-column", 5155 longhands: ["grid-column-start", "grid-column-end"], 5156 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5157 }, 5158 { 5159 name: "grid-column-gap", 5160 longhands: ["column-gap"], 5161 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5162 }, 5163 { 5164 name: "grid-row-gap", 5165 longhands: ["row-gap"], 5166 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5167 }, 5168 { 5169 name: "gap", 5170 longhands: ["row-gap", "column-gap"], 5171 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5172 }, 5173 { 5174 name: "grid-gap", 5175 longhands: ["row-gap", "column-gap"], 5176 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5177 }, 5178 { 5179 name: "grid-row", 5180 longhands: ["grid-row-start", "grid-row-end"], 5181 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5182 }, 5183 { 5184 name: "grid-template", 5185 longhands: [ 5186 "grid-template-rows", "grid-template-columns", "grid-template-areas" 5187 ], 5188 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5189 layout_dependent: true, 5190 }, 5191 { 5192 name: "inset", 5193 longhands: ["top", "right", "bottom", "left"], 5194 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5195 runtime_flag: "CSSLogical", 5196 }, 5197 { 5198 name: "inset-block", 5199 longhands: ["inset-block-start", "inset-block-end"], 5200 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5201 runtime_flag: "CSSLogical", 5202 }, 5203 { 5204 name: "inset-inline", 5205 longhands: ["inset-inline-start", "inset-inline-end"], 5206 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5207 runtime_flag: "CSSLogical", 5208 }, 5209 { 5210 name: "list-style", 5211 longhands: ["list-style-position", "list-style-image", "list-style-type"], 5212 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5213 }, 5214 { 5215 name: "margin", 5216 longhands: ["margin-top", "margin-right", "margin-bottom", "margin-left"], 5217 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5218 layout_dependent: true, 5219 }, 5220 { 5221 name: "margin-block", 5222 longhands: ["margin-block-start", "margin-block-end"], 5223 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5224 runtime_flag: "CSSLogical", 5225 }, 5226 { 5227 name: "margin-inline", 5228 longhands: ["margin-inline-start", "margin-inline-end"], 5229 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5230 runtime_flag: "CSSLogical", 5231 }, 5232 { 5233 name: "marker", 5234 longhands: ["marker-start", "marker-mid", "marker-end"], 5235 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5236 svg: true, 5237 }, 5238 { 5239 name: "offset", 5240 longhands: [ 5241 "offset-position", "offset-path", "offset-distance", "offset-rotate", 5242 "offset-anchor" 5243 ], 5244 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5245 }, 5246 { 5247 name: "outline", 5248 longhands: ["outline-color", "outline-style", "outline-width"], 5249 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5250 }, 5251 { 5252 name: "overflow", 5253 longhands: ["overflow-x", "overflow-y"], 5254 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5255 }, 5256 { 5257 name: "overscroll-behavior", 5258 longhands: ["overscroll-behavior-x", "overscroll-behavior-y"], 5259 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5260 }, 5261 { 5262 name: "padding", 5263 longhands: [ 5264 "padding-top", "padding-right", "padding-bottom", "padding-left" 5265 ], 5266 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5267 layout_dependent: true, 5268 }, 5269 { 5270 name: "padding-block", 5271 longhands: ["padding-block-start", "padding-block-end"], 5272 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5273 runtime_flag: "CSSLogical", 5274 }, 5275 { 5276 name: "padding-inline", 5277 longhands: ["padding-inline-start", "padding-inline-end"], 5278 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5279 runtime_flag: "CSSLogical", 5280 }, 5281 { 5282 name: "page-break-after", 5283 longhands: ["break-after"], 5284 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5285 }, 5286 { 5287 name: "page-break-before", 5288 longhands: ["break-before"], 5289 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5290 }, 5291 { 5292 name: "page-break-inside", 5293 longhands: ["break-inside"], 5294 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5295 }, 5296 { 5297 name: "scroll-margin", 5298 longhands: ["scroll-margin-top", "scroll-margin-right", "scroll-margin-bottom", "scroll-margin-left"], 5299 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5300 }, 5301 { 5302 name: "scroll-margin-block", 5303 longhands: ["scroll-margin-block-start", "scroll-margin-block-end"], 5304 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5305 }, 5306 { 5307 name: "scroll-margin-inline", 5308 longhands: ["scroll-margin-inline-start", "scroll-margin-inline-end"], 5309 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5310 }, 5311 { 5312 name: "scroll-padding", 5313 longhands: [ 5314 "scroll-padding-top", "scroll-padding-right", "scroll-padding-bottom", 5315 "scroll-padding-left" 5316 ], 5317 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5318 }, 5319 { 5320 name: "scroll-padding-block", 5321 longhands: ["scroll-padding-block-start", "scroll-padding-block-end"], 5322 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5323 }, 5324 { 5325 name: "scroll-padding-inline", 5326 longhands: ["scroll-padding-inline-start", "scroll-padding-inline-end"], 5327 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5328 }, 5329 { 5330 name: "text-decoration", 5331 longhands: ["text-decoration-line", "text-decoration-style", "text-decoration-color"], 5332 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5333 }, 5334 { 5335 name: "transition", 5336 longhands: [ 5337 "transition-property", "transition-duration", 5338 "transition-timing-function", "transition-delay" 5339 ], 5340 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5341 }, 5342 { 5343 name: "-webkit-border-after", 5344 alias_for: "border-block-end", 5345 }, 5346 { 5347 name: "-webkit-border-before", 5348 alias_for: "border-block-start", 5349 }, 5350 { 5351 name: "-webkit-border-end", 5352 alias_for: "border-inline-end", 5353 }, 5354 { 5355 name: "-webkit-border-start", 5356 alias_for: "border-inline-start", 5357 }, 5358 { 5359 name: "-webkit-column-break-after", 5360 longhands: ["break-after"], 5361 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5362 }, 5363 { 5364 name: "-webkit-column-break-before", 5365 longhands: ["break-before"], 5366 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5367 }, 5368 { 5369 name: "-webkit-column-break-inside", 5370 longhands: ["break-inside"], 5371 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5372 }, 5373 { 5374 name: "column-rule", 5375 longhands: [ 5376 "column-rule-width", "column-rule-style", "column-rule-color" 5377 ], 5378 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5379 }, 5380 { 5381 name: "columns", 5382 longhands: ["column-width", "column-count"], 5383 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5384 }, 5385 { 5386 name: "-webkit-mask", 5387 longhands: [ 5388 "-webkit-mask-image", "-webkit-mask-position-x", 5389 "-webkit-mask-position-y", "-webkit-mask-size", "-webkit-mask-repeat-x", 5390 "-webkit-mask-repeat-y", "-webkit-mask-origin", "-webkit-mask-clip" 5391 ], 5392 property_methods: ["ParseShorthand"], 5393 }, 5394 { 5395 name: "-webkit-mask-box-image", 5396 longhands: [ 5397 "-webkit-mask-box-image-source", "-webkit-mask-box-image-slice", 5398 "-webkit-mask-box-image-width", "-webkit-mask-box-image-outset", 5399 "-webkit-mask-box-image-repeat" 5400 ], 5401 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5402 }, 5403 { 5404 name: "-webkit-mask-position", 5405 longhands: ["-webkit-mask-position-x", "-webkit-mask-position-y"], 5406 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5407 }, 5408 { 5409 name: "-webkit-mask-repeat", 5410 longhands: ["-webkit-mask-repeat-x", "-webkit-mask-repeat-y"], 5411 property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], 5412 }, 5413 { 5414 name: "-webkit-text-emphasis", 5415 longhands: ["-webkit-text-emphasis-style", "-webkit-text-emphasis-color"], 5416 property_methods: ["ParseShorthand"], 5417 }, 5418 { 5419 name: "-webkit-text-stroke", 5420 longhands: ["-webkit-text-stroke-width", "-webkit-text-stroke-color"], 5421 property_methods: ["ParseShorthand"], 5422 }, 5423 5424 // Visited properties. 5425 { 5426 name: "-internal-visited-color", 5427 visited_property_for: "color", 5428 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5429 inherited: true, 5430 field_group: "inherited", 5431 field_template: "external", 5432 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 5433 default_value: "Color::kBlack", 5434 type_name: "Color", 5435 computed_style_custom_functions: ["getter", "setter"], 5436 style_builder_custom_functions: ["initial", "inherit", "value"], 5437 priority: "High", 5438 affected_by_forced_colors: true, 5439 valid_for_first_letter: true, 5440 valid_for_cue: true, 5441 valid_for_marker: true, 5442 }, 5443 { 5444 name: "-internal-visited-caret-color", 5445 visited_property_for: "caret-color", 5446 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5447 inherited: true, 5448 field_group: "*", 5449 field_template: "external", 5450 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 5451 default_value: "Color()", 5452 type_name: "Color", 5453 converter: "ConvertStyleAutoColor", 5454 computed_style_custom_functions: ["getter", "setter"], 5455 style_builder_template: "visited_color", 5456 style_builder_template_args: { 5457 initial_color: "StyleAutoColor::AutoColor", 5458 }, 5459 }, 5460 { 5461 name: "-internal-visited-column-rule-color", 5462 visited_property_for: "column-rule-color", 5463 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5464 field_group: "*->multi-col", 5465 field_template: "external", 5466 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5467 default_value: "StyleColor::CurrentColor()", 5468 type_name: "StyleColor", 5469 computed_style_custom_functions: ["getter","setter"], 5470 converter: "ConvertStyleColor", 5471 style_builder_template: "visited_color", 5472 affected_by_forced_colors: true, 5473 }, 5474 { 5475 name: "-internal-visited-background-color", 5476 visited_property_for: "background-color", 5477 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5478 field_group: "*", 5479 field_template: "external", 5480 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5481 default_value: "StyleColor(Color::kTransparent)", 5482 type_name: "StyleColor", 5483 computed_style_custom_functions: ["getter", "setter"], 5484 converter: "ConvertStyleColor", 5485 style_builder_template: "visited_color", 5486 style_builder_template_args: { 5487 initial_color: "ComputedStyleInitialValues::InitialBackgroundColor", 5488 }, 5489 affected_by_forced_colors: true, 5490 valid_for_first_letter: true, 5491 valid_for_cue: true, 5492 }, 5493 { 5494 name: "-internal-visited-border-left-color", 5495 visited_property_for: "border-left-color", 5496 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5497 field_group: "*", 5498 field_template: "external", 5499 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5500 default_value: "StyleColor::CurrentColor()", 5501 type_name: "StyleColor", 5502 computed_style_custom_functions: ["getter", "setter"], 5503 converter: "ConvertStyleColor", 5504 style_builder_template: "visited_color", 5505 affected_by_forced_colors: true, 5506 valid_for_first_letter: true, 5507 }, 5508 { 5509 name: "-internal-visited-border-right-color", 5510 visited_property_for: "border-right-color", 5511 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5512 field_group: "*", 5513 field_template: "external", 5514 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5515 default_value: "StyleColor::CurrentColor()", 5516 type_name: "StyleColor", 5517 computed_style_custom_functions: ["getter", "setter"], 5518 converter: "ConvertStyleColor", 5519 style_builder_template: "visited_color", 5520 affected_by_forced_colors: true, 5521 valid_for_first_letter: true, 5522 }, 5523 { 5524 name: "-internal-visited-border-top-color", 5525 visited_property_for: "border-top-color", 5526 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5527 field_group: "*", 5528 field_template: "external", 5529 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5530 default_value: "StyleColor::CurrentColor()", 5531 type_name: "StyleColor", 5532 computed_style_custom_functions: ["getter", "setter"], 5533 converter: "ConvertStyleColor", 5534 style_builder_template: "visited_color", 5535 affected_by_forced_colors: true, 5536 valid_for_first_letter: true, 5537 }, 5538 { 5539 name: "-internal-visited-border-bottom-color", 5540 visited_property_for: "border-bottom-color", 5541 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5542 field_group: "*", 5543 field_template: "external", 5544 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5545 default_value: "StyleColor::CurrentColor()", 5546 type_name: "StyleColor", 5547 computed_style_custom_functions: ["getter", "setter"], 5548 converter: "ConvertStyleColor", 5549 style_builder_template: "visited_color", 5550 affected_by_forced_colors: true, 5551 valid_for_first_letter: true, 5552 }, 5553 { 5554 name: "-internal-visited-border-inline-start-color", 5555 visited_property_for: "border-inline-start-color", 5556 property_methods: ["ParseSingleValue"], 5557 direction_aware_options: { 5558 resolver: "inline-start", 5559 physical_group: "visited-border-color", 5560 }, 5561 valid_for_first_letter: true, 5562 }, 5563 { 5564 name: "-internal-visited-border-inline-end-color", 5565 visited_property_for: "border-inline-end-color", 5566 property_methods: ["ParseSingleValue"], 5567 direction_aware_options: { 5568 resolver: "inline-end", 5569 physical_group: "visited-border-color", 5570 }, 5571 valid_for_first_letter: true, 5572 }, 5573 { 5574 name: "-internal-visited-border-block-start-color", 5575 visited_property_for: "border-block-start-color", 5576 property_methods: ["ParseSingleValue"], 5577 direction_aware_options: { 5578 resolver: "block-start", 5579 physical_group: "visited-border-color", 5580 }, 5581 valid_for_first_letter: true, 5582 }, 5583 { 5584 name: "-internal-visited-border-block-end-color", 5585 visited_property_for: "border-block-end-color", 5586 property_methods: ["ParseSingleValue"], 5587 direction_aware_options: { 5588 resolver: "block-end", 5589 physical_group: "visited-border-color", 5590 }, 5591 valid_for_first_letter: true, 5592 }, 5593 { 5594 name: "-internal-visited-fill", 5595 visited_property_for: "fill", 5596 property_methods: ["ParseSingleValue"], 5597 inherited: true, 5598 svg: true, 5599 initial: "InitialFillPaint", 5600 setter: "SetInternalVisitedFillPaint", 5601 getter: "FillPaint", 5602 converter: "ConvertSVGPaint", 5603 affected_by_forced_colors: true, 5604 }, 5605 { 5606 name: "-internal-visited-outline-color", 5607 visited_property_for: "outline-color", 5608 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5609 field_group: "*", 5610 field_template: "external", 5611 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5612 default_value: "StyleColor::CurrentColor()", 5613 type_name: "StyleColor", 5614 computed_style_custom_functions: ["getter", "setter"], 5615 converter: "ConvertStyleColor", 5616 style_builder_template: "visited_color", 5617 affected_by_forced_colors: true, 5618 valid_for_cue: true, 5619 }, 5620 { 5621 name: "-internal-visited-stroke", 5622 visited_property_for: "stroke", 5623 property_methods: ["ParseSingleValue"], 5624 inherited: true, 5625 svg: true, 5626 initial: "InitialStrokePaint", 5627 setter: "SetInternalVisitedStrokePaint", 5628 getter: "StrokePaint", 5629 converter: "ConvertSVGPaint", 5630 affected_by_forced_colors: true, 5631 }, 5632 { 5633 name: "-internal-visited-text-decoration-color", 5634 visited_property_for: "text-decoration-color", 5635 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5636 field_group: "*", 5637 field_template: "external", 5638 include_paths: ["third_party/blink/renderer/core/css/style_color.h"], 5639 default_value: "StyleColor::CurrentColor()", 5640 type_name: "StyleColor", 5641 computed_style_custom_functions: ["getter", "setter"], 5642 converter: "ConvertStyleColor", 5643 style_builder_template: "visited_color", 5644 affected_by_forced_colors: true, 5645 valid_for_first_letter: true, 5646 valid_for_cue: true, 5647 }, 5648 { 5649 name: "-internal-visited-text-emphasis-color", 5650 visited_property_for: "-webkit-text-emphasis-color", 5651 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5652 inherited: true, 5653 field_group: "*", 5654 field_template: "external", 5655 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 5656 default_value: "Color()", 5657 type_name: "Color", 5658 computed_style_custom_functions: ["getter", "setter"], 5659 converter: "ConvertStyleColor", 5660 style_builder_template: "visited_color", 5661 style_builder_template_args: { 5662 initial_color: "StyleColor::CurrentColor", 5663 }, 5664 affected_by_forced_colors: true, 5665 }, 5666 { 5667 name: "-internal-visited-text-fill-color", 5668 visited_property_for: "-webkit-text-fill-color", 5669 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5670 inherited: true, 5671 field_group: "*", 5672 field_template: "external", 5673 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 5674 default_value: "Color()", 5675 type_name: "Color", 5676 computed_style_custom_functions: ["getter", "setter"], 5677 converter: "ConvertStyleColor", 5678 style_builder_template: "visited_color", 5679 style_builder_template_args: { 5680 initial_color: "StyleColor::CurrentColor", 5681 }, 5682 }, 5683 { 5684 name: "-internal-visited-text-stroke-color", 5685 visited_property_for: "-webkit-text-stroke-color", 5686 property_methods: ["ParseSingleValue", "ColorIncludingFallback"], 5687 inherited: true, 5688 field_group: "*", 5689 field_template: "external", 5690 include_paths: ["third_party/blink/renderer/platform/graphics/color.h"], 5691 default_value: "Color()", 5692 type_name: "Color", 5693 computed_style_custom_functions: ["getter", "setter"], 5694 converter: "ConvertStyleColor", 5695 style_builder_template: "visited_color", 5696 style_builder_template_args: { 5697 initial_color: "StyleColor::CurrentColor", 5698 }, 5699 }, 5700 { 5701 name: "-internal-effective-zoom", 5702 property_methods: ["ParseSingleValue"], 5703 inherited: true, 5704 field_template: "primitive", 5705 type_name: "float", 5706 default_value: "1.0f", 5707 field_group: "*", 5708 priority: "High", 5709 style_builder_custom_functions: ["initial", "inherit", "value"], 5710 surrogate_for: "zoom", 5711 }, 5712 5713 // Name: -internal-empty-line-height: 5714 // Value: none | fabricated 5715 // If the element is inline or contains visible text, this property has 5716 // no effect. 5717 // 5718 // 'none' 5719 // The box's intrinsic height is 0, and it defines no baseline. 5720 // 'fabricated' 5721 // The box has intrinsic height and baseline, computed from the current 5722 // font metrics. 5723 { 5724 name: "-internal-empty-line-height", 5725 property_methods: ["ParseSingleValue" ], 5726 inherited: false, 5727 field_group: "*", 5728 field_template: "primitive", 5729 type_name: "bool", 5730 default_value: "false", 5731 name_for_methods: "HasLineIfEmpty", 5732 converter: "ConvertInternalEmptyLineHeight", 5733 }, 5734 5735 // Aliases; these map to the same CSSPropertyID 5736 { 5737 name: "-epub-caption-side", 5738 alias_for: "caption-side", 5739 }, 5740 { 5741 name: "-epub-text-combine", 5742 alias_for: "-webkit-text-combine", 5743 }, 5744 { 5745 name: "-epub-text-emphasis", 5746 alias_for: "-webkit-text-emphasis", 5747 }, 5748 { 5749 name: "-epub-text-emphasis-color", 5750 alias_for: "-webkit-text-emphasis-color", 5751 }, 5752 { 5753 name: "-epub-text-emphasis-style", 5754 alias_for: "-webkit-text-emphasis-style", 5755 }, 5756 { 5757 name: "-epub-text-orientation", 5758 alias_for: "-webkit-text-orientation", 5759 }, 5760 { 5761 name: "-epub-text-transform", 5762 alias_for: "text-transform", 5763 }, 5764 { 5765 name: "-epub-word-break", 5766 alias_for: "word-break", 5767 }, 5768 { 5769 name: "-epub-writing-mode", 5770 alias_for: "-webkit-writing-mode", 5771 }, 5772 { 5773 name: "-webkit-align-content", 5774 alias_for: "align-content", 5775 }, 5776 { 5777 name: "-webkit-align-items", 5778 alias_for: "align-items", 5779 }, 5780 { 5781 name: "-webkit-align-self", 5782 alias_for: "align-self", 5783 }, 5784 { 5785 name: "-webkit-animation", 5786 alias_for: "animation", 5787 }, 5788 { 5789 name: "-webkit-animation-delay", 5790 alias_for: "animation-delay", 5791 }, 5792 { 5793 name: "-webkit-animation-direction", 5794 alias_for: "animation-direction", 5795 }, 5796 { 5797 name: "-webkit-animation-duration", 5798 alias_for: "animation-duration", 5799 }, 5800 { 5801 name: "-webkit-animation-fill-mode", 5802 alias_for: "animation-fill-mode", 5803 }, 5804 { 5805 name: "-webkit-animation-iteration-count", 5806 alias_for: "animation-iteration-count", 5807 }, 5808 { 5809 name: "-webkit-animation-name", 5810 alias_for: "animation-name", 5811 }, 5812 { 5813 name: "-webkit-animation-play-state", 5814 alias_for: "animation-play-state", 5815 }, 5816 { 5817 name: "-webkit-animation-timing-function", 5818 alias_for: "animation-timing-function", 5819 }, 5820 { 5821 name: "-webkit-backface-visibility", 5822 alias_for: "backface-visibility", 5823 }, 5824 // -webkit-background-clip accepts "content", "padding", and "border" values 5825 // See crbug.com/604023 5826 { 5827 name: "-webkit-background-clip", 5828 alias_for: "background-clip", 5829 }, 5830 // -webkit-background-origin accepts "content", "padding", and "border" 5831 // values. See crbug.com/604023 5832 { 5833 name: "-webkit-background-origin", 5834 alias_for: "background-origin" 5835 }, 5836 // "-webkit-background-size: 10px" behaves as "background-size: 10px 10px" 5837 { 5838 name: "-webkit-background-size", 5839 alias_for: "background-size", 5840 }, 5841 { 5842 name: "-webkit-border-bottom-left-radius", 5843 alias_for: "border-bottom-left-radius", 5844 }, 5845 { 5846 name: "-webkit-border-bottom-right-radius", 5847 alias_for: "border-bottom-right-radius", 5848 }, 5849 // "-webkit-border-radius: 1px 2px" behaves as "border-radius: 1px / 2px" 5850 { 5851 name: "-webkit-border-radius", 5852 alias_for: "border-radius", 5853 }, 5854 { 5855 name: "-webkit-border-top-left-radius", 5856 alias_for: "border-top-left-radius", 5857 }, 5858 { 5859 name: "-webkit-border-top-right-radius", 5860 alias_for: "border-top-right-radius", 5861 }, 5862 { 5863 name: "-webkit-box-shadow", 5864 alias_for: "box-shadow", 5865 }, 5866 { 5867 name: "-webkit-box-sizing", 5868 alias_for: "box-sizing", 5869 }, 5870 { 5871 name: "-webkit-clip-path", 5872 alias_for: "clip-path", 5873 }, 5874 { 5875 name: "-webkit-column-count", 5876 alias_for: "column-count", 5877 }, 5878 { 5879 name: "-webkit-column-gap", 5880 alias_for: "column-gap", 5881 }, 5882 { 5883 name: "-webkit-column-rule", 5884 alias_for: "column-rule", 5885 }, 5886 { 5887 name: "-webkit-column-rule-color", 5888 alias_for: "column-rule-color", 5889 }, 5890 { 5891 name: "-webkit-column-rule-style", 5892 alias_for: "column-rule-style", 5893 }, 5894 { 5895 name: "-webkit-column-rule-width", 5896 alias_for: "column-rule-width", 5897 }, 5898 { 5899 name: "-webkit-column-span", 5900 alias_for: "column-span", 5901 }, 5902 { 5903 name: "-webkit-column-width", 5904 alias_for: "column-width", 5905 }, 5906 { 5907 name: "-webkit-columns", 5908 alias_for: "columns", 5909 }, 5910 { 5911 name: "-webkit-filter", 5912 alias_for: "filter", 5913 }, 5914 { 5915 name: "-webkit-flex", 5916 alias_for: "flex", 5917 }, 5918 { 5919 name: "-webkit-flex-basis", 5920 alias_for: "flex-basis", 5921 }, 5922 { 5923 name: "-webkit-flex-direction", 5924 alias_for: "flex-direction", 5925 }, 5926 { 5927 name: "-webkit-flex-flow", 5928 alias_for: "flex-flow", 5929 }, 5930 { 5931 name: "-webkit-flex-grow", 5932 alias_for: "flex-grow", 5933 }, 5934 { 5935 name: "-webkit-flex-shrink", 5936 alias_for: "flex-shrink", 5937 }, 5938 { 5939 name: "-webkit-flex-wrap", 5940 alias_for: "flex-wrap", 5941 }, 5942 { 5943 name: "-webkit-font-feature-settings", 5944 alias_for: "font-feature-settings", 5945 }, 5946 { 5947 name: "-webkit-justify-content", 5948 alias_for: "justify-content", 5949 }, 5950 { 5951 name: "-webkit-opacity", 5952 alias_for: "opacity", 5953 }, 5954 { 5955 name: "-webkit-order", 5956 alias_for: "order", 5957 }, 5958 { 5959 name: "-webkit-perspective", 5960 alias_for: "perspective", 5961 }, 5962 { 5963 name: "-webkit-perspective-origin", 5964 alias_for: "perspective-origin", 5965 }, 5966 { 5967 name: "-webkit-shape-image-threshold", 5968 alias_for: "shape-image-threshold", 5969 }, 5970 { 5971 name: "-webkit-shape-margin", 5972 alias_for: "shape-margin", 5973 }, 5974 { 5975 name: "-webkit-shape-outside", 5976 alias_for: "shape-outside", 5977 }, 5978 { 5979 name: "-webkit-text-size-adjust", 5980 alias_for: "text-size-adjust", 5981 }, 5982 { 5983 name: "-webkit-transform", 5984 alias_for: "transform", 5985 }, 5986 { 5987 name: "-webkit-transform-origin", 5988 alias_for: "transform-origin", 5989 }, 5990 { 5991 name: "-webkit-transform-style", 5992 alias_for: "transform-style", 5993 }, 5994 { 5995 name: "-webkit-transition", 5996 alias_for: "transition", 5997 }, 5998 { 5999 name: "-webkit-transition-delay", 6000 alias_for: "transition-delay", 6001 }, 6002 { 6003 name: "-webkit-transition-duration", 6004 alias_for: "transition-duration", 6005 }, 6006 { 6007 name: "-webkit-transition-property", 6008 alias_for: "transition-property", 6009 }, 6010 { 6011 name: "-webkit-transition-timing-function", 6012 alias_for: "transition-timing-function", 6013 }, 6014 { 6015 name: "-webkit-user-select", 6016 alias_for: "user-select", 6017 }, 6018 { 6019 name: "word-wrap", 6020 alias_for: "overflow-wrap", 6021 }, 6022 ], 6023} 6024