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 * Copyright (C) 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 template <typename T> bool isElementOfType(const HTMLElement&); | 130 template <typename T> bool isElementOfType(const HTMLElement&); |
131 template <> inline bool isElementOfType<HTMLElement>(const HTMLElement&) { retur
n true; } | 131 template <> inline bool isElementOfType<HTMLElement>(const HTMLElement&) { retur
n true; } |
132 | 132 |
133 inline HTMLElement::HTMLElement(const QualifiedName& tagName, Document& document
, ConstructionType type = CreateHTMLElement) | 133 inline HTMLElement::HTMLElement(const QualifiedName& tagName, Document& document
, ConstructionType type = CreateHTMLElement) |
134 : Element(tagName, &document, type) | 134 : Element(tagName, &document, type) |
135 { | 135 { |
136 ASSERT(!tagName.localName().isNull()); | 136 ASSERT(!tagName.localName().isNull()); |
137 ScriptWrappable::init(this); | 137 ScriptWrappable::init(this); |
138 } | 138 } |
139 | 139 |
| 140 // This requires isHTML*Element(const Element&) and isHTML*Element(const HTMLEle
ment&). |
| 141 // When the input element is an HTMLElement, we don't need to check the namespac
e URI, just the local name. |
| 142 #define DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(thisType) \ |
| 143 inline bool is##thisType(const thisType* element); \ |
| 144 inline bool is##thisType(const thisType& element); \ |
| 145 inline bool is##thisType(const HTMLElement* element) { return element && is#
#thisType(*element); } \ |
| 146 inline bool is##thisType(const Element* element) { return element && is##thi
sType(*element); } \ |
| 147 inline bool is##thisType(const Node& node) { return node.isElementNode() ? i
s##thisType(toElement(node)) : false; } \ |
| 148 inline bool is##thisType(const Node* node) { return node && node->isElementN
ode() ? is##thisType(*toElement(node)) : false; } \ |
| 149 template<typename T> inline bool is##thisType(const PassRefPtr<T>& node) { r
eturn is##thisType(node.get()); } \ |
| 150 template<typename T> inline bool is##thisType(const RefPtr<T>& node) { retur
n is##thisType(node.get()); } \ |
| 151 template <> inline bool isElementOfType<const thisType>(const HTMLElement& e
lement) { return is##thisType(element); } \ |
| 152 DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(thisType) |
| 153 |
140 } // namespace WebCore | 154 } // namespace WebCore |
141 | 155 |
142 #include "HTMLElementTypeHelpers.h" | 156 #include "HTMLElementTypeHelpers.h" |
143 | 157 |
144 #endif // HTMLElement_h | 158 #endif // HTMLElement_h |
OLD | NEW |