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

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 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 typedom_types: ["Image"], 721 typedom_types: ["Image"],
713 field_group: "surround", 722 field_group: "surround",
714 }, 723 },
715 { 724 {
716 name: "border-bottom-width", 725 name: "border-bottom-width",
717 api_class: "CSSPropertyAPIBorderWidth", 726 api_class: "CSSPropertyAPIBorderWidth",
718 converter: "ConvertLineWidth<float>", 727 converter: "ConvertLineWidth<float>",
719 initial: "InitialBorderWidth", 728 initial: "InitialBorderWidth",
720 interpolable: true, 729 interpolable: true,
721 keywords: ["thin", "medium", "thick"], 730 keywords: ["thin", "medium", "thick"],
731 typedom_types: ["Length"],
722 field_template: "storage_only", 732 field_template: "storage_only",
723 include_paths: ["platform/LayoutUnit.h"], 733 include_paths: ["platform/LayoutUnit.h"],
724 type_name: "LayoutUnit", 734 type_name: "LayoutUnit",
725 default_value: "LayoutUnit(3)", 735 default_value: "LayoutUnit(3)",
726 field_group: "surround", 736 field_group: "surround",
727 }, 737 },
728 { 738 {
729 name: "border-collapse", 739 name: "border-collapse",
730 independent: true, 740 independent: true,
731 inherited: true, 741 inherited: true,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 typedom_types: ["Image"], 794 typedom_types: ["Image"],
785 field_group: "surround", 795 field_group: "surround",
786 }, 796 },
787 { 797 {
788 name: "border-left-width", 798 name: "border-left-width",
789 api_class: "CSSPropertyAPIBorderWidth", 799 api_class: "CSSPropertyAPIBorderWidth",
790 converter: "ConvertLineWidth<float>", 800 converter: "ConvertLineWidth<float>",
791 initial: "InitialBorderWidth", 801 initial: "InitialBorderWidth",
792 interpolable: true, 802 interpolable: true,
793 keywords: ["thin", "medium", "thick"], 803 keywords: ["thin", "medium", "thick"],
804 typedom_types: ["Length"],
794 field_template: "storage_only", 805 field_template: "storage_only",
795 include_paths: ["platform/LayoutUnit.h"], 806 include_paths: ["platform/LayoutUnit.h"],
796 type_name: "LayoutUnit", 807 type_name: "LayoutUnit",
797 default_value: "LayoutUnit(3)", 808 default_value: "LayoutUnit(3)",
798 field_group: "surround", 809 field_group: "surround",
799 }, 810 },
800 { 811 {
801 name: "border-right-color", 812 name: "border-right-color",
802 custom_all: true, 813 custom_all: true,
803 interpolable: true, 814 interpolable: true,
(...skipping 12 matching lines...) Expand all
816 keywords: ["none", "hidden", "inset", "groove", "outset", "ridge", "dotted ", "dashed", "solid", "double"], 827 keywords: ["none", "hidden", "inset", "groove", "outset", "ridge", "dotted ", "dashed", "solid", "double"],
817 field_group: "surround", 828 field_group: "surround",
818 }, 829 },
819 { 830 {
820 name: "border-right-width", 831 name: "border-right-width",
821 api_class: "CSSPropertyAPIBorderWidth", 832 api_class: "CSSPropertyAPIBorderWidth",
822 converter: "ConvertLineWidth<float>", 833 converter: "ConvertLineWidth<float>",
823 initial: "InitialBorderWidth", 834 initial: "InitialBorderWidth",
824 interpolable: true, 835 interpolable: true,
825 keywords: ["thin", "medium", "thick"], 836 keywords: ["thin", "medium", "thick"],
837 typedom_types: ["Length"],
826 field_template: "storage_only", 838 field_template: "storage_only",
827 include_paths: ["platform/LayoutUnit.h"], 839 include_paths: ["platform/LayoutUnit.h"],
828 type_name: "LayoutUnit", 840 type_name: "LayoutUnit",
829 default_value: "LayoutUnit(3)", 841 default_value: "LayoutUnit(3)",
830 field_group: "surround", 842 field_group: "surround",
831 }, 843 },
832 { 844 {
833 name: "border-top-color", 845 name: "border-top-color",
834 custom_all: true, 846 custom_all: true,
835 interpolable: true, 847 interpolable: true,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 typedom_types: ["Image"], 884 typedom_types: ["Image"],
873 field_group: "surround", 885 field_group: "surround",
874 }, 886 },
875 { 887 {
876 name: "border-top-width", 888 name: "border-top-width",
877 api_class: "CSSPropertyAPIBorderWidth", 889 api_class: "CSSPropertyAPIBorderWidth",
878 converter: "ConvertLineWidth<float>", 890 converter: "ConvertLineWidth<float>",
879 initial: "InitialBorderWidth", 891 initial: "InitialBorderWidth",
880 interpolable: true, 892 interpolable: true,
881 keywords: ["thin", "medium", "thick"], 893 keywords: ["thin", "medium", "thick"],
882 supports_percentage: true, 894 typedom_types: ["Length"],
883 field_template: "storage_only", 895 field_template: "storage_only",
884 include_paths: ["platform/LayoutUnit.h"], 896 include_paths: ["platform/LayoutUnit.h"],
885 type_name: "LayoutUnit", 897 type_name: "LayoutUnit",
886 default_value: "LayoutUnit(3)", 898 default_value: "LayoutUnit(3)",
887 field_group: "surround", 899 field_group: "surround",
888 }, 900 },
889 { 901 {
890 name: "bottom", 902 name: "bottom",
891 api_class: "CSSPropertyAPIMargin", 903 api_class: "CSSPropertyAPIMargin",
892 api_methods: ["parseSingleValue"], 904 api_methods: ["parseSingleValue"],
893 converter: "ConvertLengthOrAuto", 905 converter: "ConvertLengthOrAuto",
894 interpolable: true, 906 interpolable: true,
895 keywords: ["auto"], 907 keywords: ["auto"],
896 supports_percentage: true,
897 field_template: "external", 908 field_template: "external",
898 include_paths: ["platform/Length.h"], 909 include_paths: ["platform/Length.h"],
899 type_name: "Length", 910 type_name: "Length",
900 field_group: "surround", 911 field_group: "surround",
901 default_value: "Length()", 912 default_value: "Length()",
902 }, 913 },
903 { 914 {
904 name: "box-shadow", 915 name: "box-shadow",
905 converter: "ConvertShadowList", 916 converter: "ConvertShadowList",
906 interpolable: true, 917 interpolable: true,
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
1257 custom_all: true, 1268 custom_all: true,
1258 runtime_flag: "CSSGridLayout", 1269 runtime_flag: "CSSGridLayout",
1259 }, 1270 },
1260 { 1271 {
1261 name: "height", 1272 name: "height",
1262 api_class: "CSSPropertyAPIWidthOrHeight", 1273 api_class: "CSSPropertyAPIWidthOrHeight",
1263 converter: "ConvertLengthSizing", 1274 converter: "ConvertLengthSizing",
1264 is_descriptor: true, 1275 is_descriptor: true,
1265 interpolable: true, 1276 interpolable: true,
1266 keywords: ["auto", "fit-content", "min-content", "max-content"], 1277 keywords: ["auto", "fit-content", "min-content", "max-content"],
1267 supports_percentage: true,
1268 field_template: "external", 1278 field_template: "external",
1269 include_paths: ["platform/Length.h"], 1279 include_paths: ["platform/Length.h"],
1270 type_name: "Length", 1280 type_name: "Length",
1271 field_group: "box", 1281 field_group: "box",
1272 default_value: "Length()", 1282 default_value: "Length()",
1273 }, 1283 },
1274 { 1284 {
1275 name: "hyphens", 1285 name: "hyphens",
1276 inherited: true, 1286 inherited: true,
1277 runtime_flag: "CSSHyphens", 1287 runtime_flag: "CSSHyphens",
(...skipping 44 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 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
2721 default_value: "2", 2728 default_value: "2",
2722 field_group: "rare-inherited", 2729 field_group: "rare-inherited",
2723 }, 2730 },
2724 { 2731 {
2725 name: "width", 2732 name: "width",
2726 api_class: "CSSPropertyAPIWidthOrHeight", 2733 api_class: "CSSPropertyAPIWidthOrHeight",
2727 converter: "ConvertLengthSizing", 2734 converter: "ConvertLengthSizing",
2728 is_descriptor: true, 2735 is_descriptor: true,
2729 interpolable: true, 2736 interpolable: true,
2730 keywords: ["auto", "fit-content", "min-content", "max-content"], 2737 keywords: ["auto", "fit-content", "min-content", "max-content"],
2731 supports_percentage: true,
2732 field_template: "external", 2738 field_template: "external",
2733 include_paths: ["platform/Length.h"], 2739 include_paths: ["platform/Length.h"],
2734 type_name: "Length", 2740 type_name: "Length",
2735 field_group: "box", 2741 field_group: "box",
2736 default_value: "Length()" 2742 default_value: "Length()"
2737 }, 2743 },
2738 { 2744 {
2739 name: "will-change", 2745 name: "will-change",
2740 api_class: true, 2746 api_class: true,
2741 api_methods: ["parseSingleValue"], 2747 api_methods: ["parseSingleValue"],
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
3526 { 3532 {
3527 name: "-webkit-transition-timing-function", 3533 name: "-webkit-transition-timing-function",
3528 alias_for: "transition-timing-function", 3534 alias_for: "transition-timing-function",
3529 }, 3535 },
3530 { 3536 {
3531 name: "-webkit-user-select", 3537 name: "-webkit-user-select",
3532 alias_for: "user-select", 3538 alias_for: "user-select",
3533 }, 3539 },
3534 ], 3540 ],
3535 } 3541 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698