OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Appl
e Inc. All rights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Appl
e Inc. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 870 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
881 inline bool isShadowHost(const Node* node) | 881 inline bool isShadowHost(const Node* node) |
882 { | 882 { |
883 return node && node->isElementNode() && toElement(node)->shadow(); | 883 return node && node->isElementNode() && toElement(node)->shadow(); |
884 } | 884 } |
885 | 885 |
886 inline bool isShadowHost(const Element* element) | 886 inline bool isShadowHost(const Element* element) |
887 { | 887 { |
888 return element && element->shadow(); | 888 return element && element->shadow(); |
889 } | 889 } |
890 | 890 |
| 891 // These macros do the same as their NODE equivalents but additionally provide a
template specialization |
| 892 // for isElementOfType<>() so that the Traversal<> API works for these Element t
ypes. |
| 893 #define DEFINE_ELEMENT_TYPE_CASTS(thisType, predicate) \ |
| 894 template <> inline bool isElementOfType<const thisType>(const Element& eleme
nt) { return element.predicate; } \ |
| 895 DEFINE_NODE_TYPE_CASTS(thisType, predicate) |
| 896 |
| 897 #define DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(thisType) \ |
| 898 template <> inline bool isElementOfType<const thisType>(const Element& eleme
nt) { return is##thisType(element); } \ |
| 899 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(thisType) |
| 900 |
891 } // namespace | 901 } // namespace |
892 | 902 |
893 #endif | 903 #endif |
OLD | NEW |