Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Side by Side Diff: third_party/WebKit/Source/core/css/CSSProperties.json5

Issue 2903413002: Restructure type tracking in StyleValues to work better with new numeric types (Closed)
Patch Set: rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 { 1 {
2 // This file specifies all the CSS properties we support and the necessary 2 // This file specifies all the CSS properties we support and the necessary
3 // information for our code generation. The various supported arguments 3 // information for our code generation. The various supported arguments
4 // are described below with example usage 4 // are described below with example usage
5 5
6 parameters: { 6 parameters: {
7 // - alias_for: "other-property" 7 // - alias_for: "other-property"
8 // Properties specifying alias_for should be virtually identical to the 8 // Properties specifying alias_for should be virtually identical to the
9 // properties they alias. Minor parsing differences are allowed as long as 9 // properties they alias. Minor parsing differences are allowed as long as
10 // the CSSValues created are of the same format of the aliased property. 10 // the CSSValues created are of the same format of the aliased property.
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 default_value: { 133 default_value: {
134 }, 134 },
135 135
136 // Flags which go into CSSOMTypes: 136 // Flags which go into CSSOMTypes:
137 // - typedom_types: ["Type", "OtherType"] 137 // - typedom_types: ["Type", "OtherType"]
138 // The property can take types specified in typedom_types for CSS Typed OM. 138 // The property can take types specified in typedom_types for CSS Typed OM.
139 // Keyword does not need to be specified as every property can take keywords . 139 // Keyword does not need to be specified as every property can take keywords .
140 // - separator 140 // - separator
141 // The property supports a list of values, and when there is more than one, 141 // The property supports a list of values, and when there is more than one,
142 // it is separated with this character. 142 // it is separated with this character.
143 // - supports_percentage
144 // The property supports percentage types.
145 typedom_types: { 143 typedom_types: {
146 default: [], 144 default: [],
145 valid_type: "list",
146 valid_values: [
147 "Angle",
148 "Flex",
149 "Frequency",
150 "Length",
151 "Number",
152 "Percent",
153 "Position",
154 "Resolution",
155 "Time",
156 "Transform",
157 "Unparsed",
158 "Image"
159 ],
147 }, 160 },
148 separator: { 161 separator: {
149 valid_values: [",", " ", "/"], 162 valid_values: [",", " ", "/"],
150 }, 163 },
151 supports_percentage: {
152 default: false,
153 valid_type: "bool",
154 },
155 164
156 // Flags which go into CSSPropertyMetadata: 165 // Flags which go into CSSPropertyMetadata:
157 // - interpolable 166 // - interpolable
158 // The interpolable flag indicates whether a property can be animated smooth ly. 167 // The interpolable flag indicates whether a property can be animated smooth ly.
159 // If this flag is set, the property should also be added to the switch 168 // If this flag is set, the property should also be added to the switch
160 // statements in AnimatedStyleBuilder, CSSPropertyEquality and 169 // statements in AnimatedStyleBuilder, CSSPropertyEquality and
161 // CSSAnimatableValueFactory. 170 // CSSAnimatableValueFactory.
162 // - inherited 171 // - inherited
163 // The property will inherit by default if no value is specified, typically 172 // The property will inherit by default if no value is specified, typically
164 // mentioned in specifications as "Inherited: yes" 173 // mentioned in specifications as "Inherited: yes"
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 typedom_types: ["Image"], 720 typedom_types: ["Image"],
712 field_group: "surround", 721 field_group: "surround",
713 }, 722 },
714 { 723 {
715 name: "border-bottom-width", 724 name: "border-bottom-width",
716 api_class: "CSSPropertyAPIBorderWidth", 725 api_class: "CSSPropertyAPIBorderWidth",
717 converter: "ConvertLineWidth<float>", 726 converter: "ConvertLineWidth<float>",
718 initial: "InitialBorderWidth", 727 initial: "InitialBorderWidth",
719 interpolable: true, 728 interpolable: true,
720 keywords: ["thin", "medium", "thick"], 729 keywords: ["thin", "medium", "thick"],
730 typedom_types: ["Length"],
721 field_template: "storage_only", 731 field_template: "storage_only",
722 include_paths: ["platform/LayoutUnit.h"], 732 include_paths: ["platform/LayoutUnit.h"],
723 type_name: "LayoutUnit", 733 type_name: "LayoutUnit",
724 default_value: "LayoutUnit(3)", 734 default_value: "LayoutUnit(3)",
725 field_group: "surround", 735 field_group: "surround",
726 }, 736 },
727 { 737 {
728 name: "border-collapse", 738 name: "border-collapse",
729 independent: true, 739 independent: true,
730 inherited: true, 740 inherited: true,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 typedom_types: ["Image"], 793 typedom_types: ["Image"],
784 field_group: "surround", 794 field_group: "surround",
785 }, 795 },
786 { 796 {
787 name: "border-left-width", 797 name: "border-left-width",
788 api_class: "CSSPropertyAPIBorderWidth", 798 api_class: "CSSPropertyAPIBorderWidth",
789 converter: "ConvertLineWidth<float>", 799 converter: "ConvertLineWidth<float>",
790 initial: "InitialBorderWidth", 800 initial: "InitialBorderWidth",
791 interpolable: true, 801 interpolable: true,
792 keywords: ["thin", "medium", "thick"], 802 keywords: ["thin", "medium", "thick"],
803 typedom_types: ["Length"],
793 field_template: "storage_only", 804 field_template: "storage_only",
794 include_paths: ["platform/LayoutUnit.h"], 805 include_paths: ["platform/LayoutUnit.h"],
795 type_name: "LayoutUnit", 806 type_name: "LayoutUnit",
796 default_value: "LayoutUnit(3)", 807 default_value: "LayoutUnit(3)",
797 field_group: "surround", 808 field_group: "surround",
798 }, 809 },
799 { 810 {
800 name: "border-right-color", 811 name: "border-right-color",
801 custom_all: true, 812 custom_all: true,
802 interpolable: true, 813 interpolable: true,
(...skipping 12 matching lines...) Expand all
815 keywords: ["none", "hidden", "inset", "groove", "outset", "ridge", "dotted ", "dashed", "solid", "double"], 826 keywords: ["none", "hidden", "inset", "groove", "outset", "ridge", "dotted ", "dashed", "solid", "double"],
816 field_group: "surround", 827 field_group: "surround",
817 }, 828 },
818 { 829 {
819 name: "border-right-width", 830 name: "border-right-width",
820 api_class: "CSSPropertyAPIBorderWidth", 831 api_class: "CSSPropertyAPIBorderWidth",
821 converter: "ConvertLineWidth<float>", 832 converter: "ConvertLineWidth<float>",
822 initial: "InitialBorderWidth", 833 initial: "InitialBorderWidth",
823 interpolable: true, 834 interpolable: true,
824 keywords: ["thin", "medium", "thick"], 835 keywords: ["thin", "medium", "thick"],
836 typedom_types: ["Length"],
825 field_template: "storage_only", 837 field_template: "storage_only",
826 include_paths: ["platform/LayoutUnit.h"], 838 include_paths: ["platform/LayoutUnit.h"],
827 type_name: "LayoutUnit", 839 type_name: "LayoutUnit",
828 default_value: "LayoutUnit(3)", 840 default_value: "LayoutUnit(3)",
829 field_group: "surround", 841 field_group: "surround",
830 }, 842 },
831 { 843 {
832 name: "border-top-color", 844 name: "border-top-color",
833 custom_all: true, 845 custom_all: true,
834 interpolable: true, 846 interpolable: true,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 typedom_types: ["Image"], 883 typedom_types: ["Image"],
872 field_group: "surround", 884 field_group: "surround",
873 }, 885 },
874 { 886 {
875 name: "border-top-width", 887 name: "border-top-width",
876 api_class: "CSSPropertyAPIBorderWidth", 888 api_class: "CSSPropertyAPIBorderWidth",
877 converter: "ConvertLineWidth<float>", 889 converter: "ConvertLineWidth<float>",
878 initial: "InitialBorderWidth", 890 initial: "InitialBorderWidth",
879 interpolable: true, 891 interpolable: true,
880 keywords: ["thin", "medium", "thick"], 892 keywords: ["thin", "medium", "thick"],
881 supports_percentage: true, 893 typedom_types: ["Length"],
882 field_template: "storage_only", 894 field_template: "storage_only",
883 include_paths: ["platform/LayoutUnit.h"], 895 include_paths: ["platform/LayoutUnit.h"],
884 type_name: "LayoutUnit", 896 type_name: "LayoutUnit",
885 default_value: "LayoutUnit(3)", 897 default_value: "LayoutUnit(3)",
886 field_group: "surround", 898 field_group: "surround",
887 }, 899 },
888 { 900 {
889 name: "bottom", 901 name: "bottom",
890 api_class: "CSSPropertyAPIMargin", 902 api_class: "CSSPropertyAPIMargin",
891 api_methods: ["parseSingleValue"], 903 api_methods: ["parseSingleValue"],
892 converter: "ConvertLengthOrAuto", 904 converter: "ConvertLengthOrAuto",
893 interpolable: true, 905 interpolable: true,
894 keywords: ["auto"], 906 keywords: ["auto"],
895 supports_percentage: true,
896 field_template: "external", 907 field_template: "external",
897 include_paths: ["platform/Length.h"], 908 include_paths: ["platform/Length.h"],
898 type_name: "Length", 909 type_name: "Length",
899 field_group: "surround", 910 field_group: "surround",
900 default_value: "Length()", 911 default_value: "Length()",
901 }, 912 },
902 { 913 {
903 name: "box-shadow", 914 name: "box-shadow",
904 converter: "ConvertShadowList", 915 converter: "ConvertShadowList",
905 interpolable: true, 916 interpolable: true,
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 custom_all: true, 1267 custom_all: true,
1257 runtime_flag: "CSSGridLayout", 1268 runtime_flag: "CSSGridLayout",
1258 }, 1269 },
1259 { 1270 {
1260 name: "height", 1271 name: "height",
1261 api_class: "CSSPropertyAPIWidthOrHeight", 1272 api_class: "CSSPropertyAPIWidthOrHeight",
1262 converter: "ConvertLengthSizing", 1273 converter: "ConvertLengthSizing",
1263 is_descriptor: true, 1274 is_descriptor: true,
1264 interpolable: true, 1275 interpolable: true,
1265 keywords: ["auto", "fit-content", "min-content", "max-content"], 1276 keywords: ["auto", "fit-content", "min-content", "max-content"],
1266 supports_percentage: true,
1267 field_template: "external", 1277 field_template: "external",
1268 include_paths: ["platform/Length.h"], 1278 include_paths: ["platform/Length.h"],
1269 type_name: "Length", 1279 type_name: "Length",
1270 field_group: "box", 1280 field_group: "box",
1271 default_value: "Length()", 1281 default_value: "Length()",
1272 }, 1282 },
1273 { 1283 {
1274 name: "hyphens", 1284 name: "hyphens",
1275 inherited: true, 1285 inherited: true,
1276 runtime_flag: "CSSHyphens", 1286 runtime_flag: "CSSHyphens",
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 initial: "InitialSelfAlignment", 1332 initial: "InitialSelfAlignment",
1323 runtime_flag: "CSSGridLayout", 1333 runtime_flag: "CSSGridLayout",
1324 }, 1334 },
1325 { 1335 {
1326 name: "left", 1336 name: "left",
1327 api_class: "CSSPropertyAPIMargin", 1337 api_class: "CSSPropertyAPIMargin",
1328 api_methods: ["parseSingleValue"], 1338 api_methods: ["parseSingleValue"],
1329 converter: "ConvertLengthOrAuto", 1339 converter: "ConvertLengthOrAuto",
1330 interpolable: true, 1340 interpolable: true,
1331 keywords: ["auto"], 1341 keywords: ["auto"],
1332 supports_percentage: true,
1333 field_template: "external", 1342 field_template: "external",
1334 include_paths: ["platform/Length.h"], 1343 include_paths: ["platform/Length.h"],
1335 type_name: "Length", 1344 type_name: "Length",
1336 field_group: "surround", 1345 field_group: "surround",
1337 default_value: "Length()", 1346 default_value: "Length()",
1338 }, 1347 },
1339 { 1348 {
1340 name: "letter-spacing", 1349 name: "letter-spacing",
1341 api_class: "CSSPropertyAPILetterAndWordSpacing", 1350 api_class: "CSSPropertyAPILetterAndWordSpacing",
1342 api_methods: ["parseSingleValue"], 1351 api_methods: ["parseSingleValue"],
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
1783 name: "resize", 1792 name: "resize",
1784 custom_value: true, 1793 custom_value: true,
1785 }, 1794 },
1786 { 1795 {
1787 name: "right", 1796 name: "right",
1788 api_class: "CSSPropertyAPIMargin", 1797 api_class: "CSSPropertyAPIMargin",
1789 api_methods: ["parseSingleValue"], 1798 api_methods: ["parseSingleValue"],
1790 converter: "ConvertLengthOrAuto", 1799 converter: "ConvertLengthOrAuto",
1791 interpolable: true, 1800 interpolable: true,
1792 keywords: ["auto"], 1801 keywords: ["auto"],
1793 supports_percentage: true,
1794 field_template: "external", 1802 field_template: "external",
1795 include_paths: ["platform/Length.h"], 1803 include_paths: ["platform/Length.h"],
1796 type_name: "Length", 1804 type_name: "Length",
1797 field_group: "surround", 1805 field_group: "surround",
1798 default_value: "Length()", 1806 default_value: "Length()",
1799 }, 1807 },
1800 { 1808 {
1801 name: "r", 1809 name: "r",
1802 api_class: "CSSPropertyAPIStrokeOrLength", 1810 api_class: "CSSPropertyAPIStrokeOrLength",
1803 converter: "ConvertLength", 1811 converter: "ConvertLength",
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
2152 field_size: 1, 2160 field_size: 1,
2153 field_group: "rare-inherited", 2161 field_group: "rare-inherited",
2154 }, 2162 },
2155 { 2163 {
2156 name: "top", 2164 name: "top",
2157 api_class: "CSSPropertyAPIMargin", 2165 api_class: "CSSPropertyAPIMargin",
2158 api_methods: ["parseSingleValue"], 2166 api_methods: ["parseSingleValue"],
2159 converter: "ConvertLengthOrAuto", 2167 converter: "ConvertLengthOrAuto",
2160 interpolable: true, 2168 interpolable: true,
2161 keywords: ["auto"], 2169 keywords: ["auto"],
2162 supports_percentage: true,
2163 field_template: "external", 2170 field_template: "external",
2164 include_paths: ["platform/Length.h"], 2171 include_paths: ["platform/Length.h"],
2165 type_name: "Length", 2172 type_name: "Length",
2166 field_group: "surround", 2173 field_group: "surround",
2167 default_value: "Length()", 2174 default_value: "Length()",
2168 }, 2175 },
2169 { 2176 {
2170 name: "touch-action", 2177 name: "touch-action",
2171 api_class: true, 2178 api_class: true,
2172 api_methods: ["parseSingleValue"], 2179 api_methods: ["parseSingleValue"],
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
2720 default_value: "2", 2727 default_value: "2",
2721 field_group: "rare-inherited", 2728 field_group: "rare-inherited",
2722 }, 2729 },
2723 { 2730 {
2724 name: "width", 2731 name: "width",
2725 api_class: "CSSPropertyAPIWidthOrHeight", 2732 api_class: "CSSPropertyAPIWidthOrHeight",
2726 converter: "ConvertLengthSizing", 2733 converter: "ConvertLengthSizing",
2727 is_descriptor: true, 2734 is_descriptor: true,
2728 interpolable: true, 2735 interpolable: true,
2729 keywords: ["auto", "fit-content", "min-content", "max-content"], 2736 keywords: ["auto", "fit-content", "min-content", "max-content"],
2730 supports_percentage: true,
2731 field_template: "external", 2737 field_template: "external",
2732 include_paths: ["platform/Length.h"], 2738 include_paths: ["platform/Length.h"],
2733 type_name: "Length", 2739 type_name: "Length",
2734 field_group: "box", 2740 field_group: "box",
2735 default_value: "Length()" 2741 default_value: "Length()"
2736 }, 2742 },
2737 { 2743 {
2738 name: "will-change", 2744 name: "will-change",
2739 api_class: true, 2745 api_class: true,
2740 api_methods: ["parseSingleValue"], 2746 api_methods: ["parseSingleValue"],
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
3525 { 3531 {
3526 name: "-webkit-transition-timing-function", 3532 name: "-webkit-transition-timing-function",
3527 alias_for: "transition-timing-function", 3533 alias_for: "transition-timing-function",
3528 }, 3534 },
3529 { 3535 {
3530 name: "-webkit-user-select", 3536 name: "-webkit-user-select",
3531 alias_for: "user-select", 3537 alias_for: "user-select",
3532 }, 3538 },
3533 ], 3539 ],
3534 } 3540 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698