Index: third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapAlign.cpp |
diff --git a/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapAlign.cpp b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapAlign.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8aa1dae6be2fc169070eb40097e61d15dfd3497b |
--- /dev/null |
+++ b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapAlign.cpp |
@@ -0,0 +1,34 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "core/css/properties/CSSPropertyAPIScrollSnapAlign.h" |
+ |
+#include "core/css/CSSValuePair.h" |
+#include "core/css/parser/CSSPropertyParserHelpers.h" |
+ |
+namespace blink { |
+ |
+const CSSValue* CSSPropertyAPIScrollSnapAlign::parseSingleValue( |
+ CSSParserTokenRange& range, |
+ const CSSParserContext& context, |
+ const CSSParserLocalContext&) { |
+ CSSValueID x_id = range.Peek().Id(); |
+ if (x_id != CSSValueNone && x_id != CSSValueStart && x_id != CSSValueEnd && |
+ x_id != CSSValueCenter) |
+ return nullptr; |
+ CSSValue* x_value = CSSPropertyParserHelpers::ConsumeIdent(range); |
+ if (range.AtEnd()) |
+ return x_value; |
+ |
+ CSSValueID y_id = range.Peek().Id(); |
+ if (y_id != CSSValueNone && y_id != CSSValueStart && y_id != CSSValueEnd && |
+ y_id != CSSValueCenter) |
+ return x_value; |
+ CSSValue* y_value = CSSPropertyParserHelpers::ConsumeIdent(range); |
+ CSSValuePair* pair = CSSValuePair::Create(x_value, y_value, |
+ CSSValuePair::kDropIdenticalValues); |
+ return pair; |
+} |
+ |
+} // namespace blink |