Index: Source/core/css/CSSValue.h |
diff --git a/Source/core/css/CSSValue.h b/Source/core/css/CSSValue.h |
index a92bc86a5b532c845ed46447042e49ce06f66424..d00ff3164aaef112075a957c7ae4a6043e3605de 100644 |
--- a/Source/core/css/CSSValue.h |
+++ b/Source/core/css/CSSValue.h |
@@ -237,6 +237,20 @@ inline bool compareCSSValuePtr(const RefPtr<CSSValueType>& first, const RefPtr<C |
return first ? second && first->equals(*second) : !second; |
} |
+#define DEFINE_CSS_VALUE_TYPE_CASTS(ValueTypeName) \ |
+inline const CSS##ValueTypeName* toCSS##ValueTypeName(const CSSValue* value) \ |
+{ \ |
+ ASSERT_WITH_SECURITY_IMPLICATION(!value || value->is##ValueTypeName()); \ |
+ return static_cast<const CSS##ValueTypeName*>(value); \ |
+} \ |
+inline CSS##ValueTypeName* toCSS##ValueTypeName(CSSValue* value) \ |
+{ \ |
+ ASSERT_WITH_SECURITY_IMPLICATION(!value || value->is##ValueTypeName()); \ |
+ return static_cast<CSS##ValueTypeName*>(value); \ |
+} \ |
+void toCSS##ValueTypeName(const CSS##ValueTypeName*) { } \ |
tkent
2013/09/24 05:41:51
Why did you add {} ?
It generates ugly code for DE
|
+void toCSS##ValueTypeName(const CSS##ValueTypeName&) { } |
+ |
} // namespace WebCore |
#endif // CSSValue_h |