OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 } | 235 } |
236 return true; | 236 return true; |
237 } | 237 } |
238 | 238 |
239 template<typename CSSValueType> | 239 template<typename CSSValueType> |
240 inline bool compareCSSValuePtr(const RefPtr<CSSValueType>& first, const RefPtr<C
SSValueType>& second) | 240 inline bool compareCSSValuePtr(const RefPtr<CSSValueType>& first, const RefPtr<C
SSValueType>& second) |
241 { | 241 { |
242 return first ? second && first->equals(*second) : !second; | 242 return first ? second && first->equals(*second) : !second; |
243 } | 243 } |
244 | 244 |
245 #define DEFINE_CSS_VALUE_TYPE_CASTS(ValueTypeName) \ | 245 #define DEFINE_CSS_VALUE_TYPE_CASTS(thisType, predicate) \ |
246 inline const CSS##ValueTypeName* toCSS##ValueTypeName(const CSSValue* value) \ | 246 DEFINE_TYPE_CASTS(thisType, CSSValue, value, value->predicate, value.predica
te) |
247 { \ | |
248 ASSERT_WITH_SECURITY_IMPLICATION(!value || value->is##ValueTypeName()); \ | |
249 return static_cast<const CSS##ValueTypeName*>(value); \ | |
250 } \ | |
251 inline CSS##ValueTypeName* toCSS##ValueTypeName(CSSValue* value) \ | |
252 { \ | |
253 ASSERT_WITH_SECURITY_IMPLICATION(!value || value->is##ValueTypeName()); \ | |
254 return static_cast<CSS##ValueTypeName*>(value); \ | |
255 } \ | |
256 void toCSS##ValueTypeName(const CSS##ValueTypeName*); \ | |
257 void toCSS##ValueTypeName(const CSS##ValueTypeName&) | |
258 | 247 |
259 } // namespace WebCore | 248 } // namespace WebCore |
260 | 249 |
261 #endif // CSSValue_h | 250 #endif // CSSValue_h |
OLD | NEW |