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

Unified Diff: third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h

Issue 2767213003: First Implementation of Snapped Points
Patch Set: Rebase and format 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
diff --git a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h b/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
index b939018c24487dcd416471d5fa3d7379e0a774f7..a00b200c8462298a63aaef7cee5818127a8484b5 100644
--- a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
+++ b/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
@@ -2754,7 +2754,7 @@ inline ScrollBehavior CSSIdentifierValue::ConvertTo() const {
return kScrollBehaviorAuto;
}
-template <>
+/*template <>
inline CSSIdentifierValue::CSSIdentifierValue(ScrollSnapType snap_type)
: CSSValue(kIdentifierClass) {
switch (snap_type) {
@@ -2784,6 +2784,144 @@ inline ScrollSnapType CSSIdentifierValue::ConvertTo() const {
}
NOTREACHED();
return kScrollSnapTypeNone;
+}*/
+
+template <>
+inline CSSIdentifierValue::CSSIdentifierValue(SnapAxis axis)
+ : CSSValue(kIdentifierClass) {
+ switch (axis) {
+ case kSnapAxisNone:
+ value_id_ = CSSValueNone;
+ break;
+ case kSnapAxisX:
+ value_id_ = CSSValueX;
+ break;
+ case kSnapAxisY:
+ value_id_ = CSSValueY;
+ break;
+ case kSnapAxisBlock:
+ value_id_ = CSSValueBlock;
+ break;
+ case kSnapAxisInline:
+ value_id_ = CSSValueInline;
+ break;
+ case kSnapAxisBoth:
+ value_id_ = CSSValueBoth;
+ break;
+ }
+}
+
+template <>
+inline SnapAxis CSSIdentifierValue::ConvertTo() const {
+ switch (GetValueID()) {
+ case CSSValueNone:
+ return kSnapAxisNone;
+ case CSSValueX:
+ return kSnapAxisX;
+ case CSSValueY:
+ return kSnapAxisY;
+ case CSSValueBlock:
+ return kSnapAxisBlock;
+ case CSSValueInline:
+ return kSnapAxisInline;
+ case CSSValueBoth:
+ return kSnapAxisBoth;
+ default:
+ break;
+ }
+ NOTREACHED();
+ return kSnapAxisNone;
+}
+
+template <>
+inline CSSIdentifierValue::CSSIdentifierValue(SnapStrictness strictness)
+ : CSSValue(kIdentifierClass) {
+ switch (strictness) {
+ case kSnapStrictnessProximity:
+ value_id_ = CSSValueProximity;
+ break;
+ case kSnapStrictnessMandatory:
+ value_id_ = CSSValueMandatory;
+ break;
+ }
+}
+
+template <>
+inline SnapStrictness CSSIdentifierValue::ConvertTo() const {
+ switch (GetValueID()) {
+ case CSSValueProximity:
+ return kSnapStrictnessProximity;
+ case CSSValueMandatory:
+ return kSnapStrictnessMandatory;
+ default:
+ break;
+ }
+ NOTREACHED();
+ return kSnapStrictnessProximity;
+}
+
+template <>
+inline CSSIdentifierValue::CSSIdentifierValue(SnapAlignment alignment)
+ : CSSValue(kIdentifierClass) {
+ switch (alignment) {
+ case kSnapAlignmentNone:
+ value_id_ = CSSValueNone;
+ break;
+ case kSnapAlignmentStart:
+ value_id_ = CSSValueStart;
+ break;
+ case kSnapAlignmentEnd:
+ value_id_ = CSSValueEnd;
+ break;
+ case kSnapAlignmentCenter:
+ value_id_ = CSSValueCenter;
+ break;
+ }
+}
+
+template <>
+inline SnapAlignment CSSIdentifierValue::ConvertTo() const {
+ switch (GetValueID()) {
+ case CSSValueNone:
+ return kSnapAlignmentNone;
+ case CSSValueStart:
+ return kSnapAlignmentStart;
+ case CSSValueEnd:
+ return kSnapAlignmentEnd;
+ case CSSValueCenter:
+ return kSnapAlignmentCenter;
+ default:
+ break;
+ }
+ NOTREACHED();
+ return kSnapAlignmentNone;
+}
+
+template <>
+inline CSSIdentifierValue::CSSIdentifierValue(EScrollSnapStop stop)
+ : CSSValue(kIdentifierClass) {
+ switch (stop) {
+ case EScrollSnapStop::kNormal:
+ value_id_ = CSSValueNormal;
+ break;
+ case EScrollSnapStop::kAlways:
+ value_id_ = CSSValueAlways;
+ break;
+ }
+}
+
+template <>
+inline EScrollSnapStop CSSIdentifierValue::ConvertTo() const {
+ switch (GetValueID()) {
+ case CSSValueNormal:
+ return EScrollSnapStop::kNormal;
+ case CSSValueAlways:
+ return EScrollSnapStop::kAlways;
+ default:
+ break;
+ }
+ NOTREACHED();
+ return EScrollSnapStop::kNormal;
}
template <>

Powered by Google App Engine
This is Rietveld 408576698