OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/css/properties/CSSPropertyAPITransform.h" | 5 #include "core/css/properties/CSSPropertyAPITransform.h" |
6 | 6 |
7 #include "core/css/CSSFunctionValue.h" | 7 #include "core/css/CSSFunctionValue.h" |
8 #include "core/css/CSSValueList.h" | 8 #include "core/css/CSSValueList.h" |
9 #include "core/css/parser/CSSParserContext.h" | 9 #include "core/css/parser/CSSParserContext.h" |
10 #include "core/css/parser/CSSPropertyParserHelpers.h" | 10 #include "core/css/parser/CSSPropertyParserHelpers.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 CSSFunctionValue* transform_value = CSSFunctionValue::Create(function_id); | 87 CSSFunctionValue* transform_value = CSSFunctionValue::Create(function_id); |
88 CSSValue* parsed_value = nullptr; | 88 CSSValue* parsed_value = nullptr; |
89 switch (function_id) { | 89 switch (function_id) { |
90 case CSSValueRotate: | 90 case CSSValueRotate: |
91 case CSSValueRotateX: | 91 case CSSValueRotateX: |
92 case CSSValueRotateY: | 92 case CSSValueRotateY: |
93 case CSSValueRotateZ: | 93 case CSSValueRotateZ: |
94 case CSSValueSkewX: | 94 case CSSValueSkewX: |
95 case CSSValueSkewY: | 95 case CSSValueSkewY: |
96 case CSSValueSkew: | 96 case CSSValueSkew: |
97 parsed_value = CSSPropertyParserHelpers::ConsumeAngle(args); | 97 parsed_value = CSSPropertyParserHelpers::ConsumeAngle( |
| 98 args, *context, UseCounter::kUnitlessZeroAngleTransform); |
98 if (!parsed_value) | 99 if (!parsed_value) |
99 return nullptr; | 100 return nullptr; |
100 if (function_id == CSSValueSkew && | 101 if (function_id == CSSValueSkew && |
101 CSSPropertyParserHelpers::ConsumeCommaIncludingWhitespace(args)) { | 102 CSSPropertyParserHelpers::ConsumeCommaIncludingWhitespace(args)) { |
102 transform_value->Append(*parsed_value); | 103 transform_value->Append(*parsed_value); |
103 parsed_value = CSSPropertyParserHelpers::ConsumeAngle(args); | 104 parsed_value = CSSPropertyParserHelpers::ConsumeAngle( |
| 105 args, *context, UseCounter::kUnitlessZeroAngleTransform); |
104 if (!parsed_value) | 106 if (!parsed_value) |
105 return nullptr; | 107 return nullptr; |
106 } | 108 } |
107 break; | 109 break; |
108 case CSSValueScaleX: | 110 case CSSValueScaleX: |
109 case CSSValueScaleY: | 111 case CSSValueScaleY: |
110 case CSSValueScaleZ: | 112 case CSSValueScaleZ: |
111 case CSSValueScale: | 113 case CSSValueScale: |
112 parsed_value = | 114 parsed_value = |
113 CSSPropertyParserHelpers::ConsumeNumber(args, kValueRangeAll); | 115 CSSPropertyParserHelpers::ConsumeNumber(args, kValueRangeAll); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 break; | 159 break; |
158 case CSSValueScale3d: | 160 case CSSValueScale3d: |
159 if (!ConsumeNumbers(args, transform_value, 3)) | 161 if (!ConsumeNumbers(args, transform_value, 3)) |
160 return nullptr; | 162 return nullptr; |
161 break; | 163 break; |
162 case CSSValueRotate3d: | 164 case CSSValueRotate3d: |
163 if (!ConsumeNumbers(args, transform_value, 3) || | 165 if (!ConsumeNumbers(args, transform_value, 3) || |
164 !CSSPropertyParserHelpers::ConsumeCommaIncludingWhitespace(args)) { | 166 !CSSPropertyParserHelpers::ConsumeCommaIncludingWhitespace(args)) { |
165 return nullptr; | 167 return nullptr; |
166 } | 168 } |
167 parsed_value = CSSPropertyParserHelpers::ConsumeAngle(args); | 169 parsed_value = CSSPropertyParserHelpers::ConsumeAngle( |
| 170 args, *context, UseCounter::kUnitlessZeroAngleTransform); |
168 if (!parsed_value) | 171 if (!parsed_value) |
169 return nullptr; | 172 return nullptr; |
170 break; | 173 break; |
171 case CSSValueTranslate3d: | 174 case CSSValueTranslate3d: |
172 if (!ConsumeTranslate3d(args, context->Mode(), transform_value)) | 175 if (!ConsumeTranslate3d(args, context->Mode(), transform_value)) |
173 return nullptr; | 176 return nullptr; |
174 break; | 177 break; |
175 default: | 178 default: |
176 return nullptr; | 179 return nullptr; |
177 } | 180 } |
(...skipping 20 matching lines...) Expand all Loading... |
198 unresolved_property == CSSPropertyAliasWebkitTransform); | 201 unresolved_property == CSSPropertyAliasWebkitTransform); |
199 if (!parsed_transform_value) | 202 if (!parsed_transform_value) |
200 return nullptr; | 203 return nullptr; |
201 list->Append(*parsed_transform_value); | 204 list->Append(*parsed_transform_value); |
202 } while (!range.AtEnd()); | 205 } while (!range.AtEnd()); |
203 | 206 |
204 return list; | 207 return list; |
205 } | 208 } |
206 | 209 |
207 } // namespace blink | 210 } // namespace blink |
OLD | NEW |