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, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2006, 2007, 2008, 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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
104 virtual void refFormAssociatedElement() OVERRIDE { ref(); } | 104 virtual void refFormAssociatedElement() OVERRIDE { ref(); } |
105 virtual void derefFormAssociatedElement() OVERRIDE { deref(); } | 105 virtual void derefFormAssociatedElement() OVERRIDE { deref(); } |
106 | 106 |
107 virtual bool shouldRegisterAsNamedItem() const OVERRIDE { return true; } | 107 virtual bool shouldRegisterAsNamedItem() const OVERRIDE { return true; } |
108 virtual bool shouldRegisterAsExtraNamedItem() const OVERRIDE { return true; } | 108 virtual bool shouldRegisterAsExtraNamedItem() const OVERRIDE { return true; } |
109 | 109 |
110 String m_classId; | 110 String m_classId; |
111 bool m_useFallbackContent : 1; | 111 bool m_useFallbackContent : 1; |
112 }; | 112 }; |
113 | 113 |
114 DEFINE_NODE_TYPE_CASTS(HTMLObjectElement, hasTagName(HTMLNames::objectTag)); | 114 // Intentionally left unimplemented, template specialization needs to be provide d for specific |
115 // return types. | |
116 template<typename T> inline const T& toElement(const FormAssociatedElement&); | |
Inactive
2014/02/23 18:27:33
I made toHTMLObjectElement() accept a FormAssociat
| |
117 template<typename T> inline const T* toElement(const FormAssociatedElement*); | |
115 | 118 |
116 inline const HTMLObjectElement* toHTMLObjectElement(const FormAssociatedElement* element) | 119 // Make toHTMLObjectElement() accept a FormAssociatedElement as input instead of a Node. |
120 template<> inline const HTMLObjectElement* toElement<HTMLObjectElement>(const Fo rmAssociatedElement* element) | |
117 { | 121 { |
118 ASSERT_WITH_SECURITY_IMPLICATION(!element || !element->isFormControlElement( )); | 122 ASSERT_WITH_SECURITY_IMPLICATION(!element || !element->isFormControlElement( )); |
119 const HTMLObjectElement* objectElement = static_cast<const HTMLObjectElement *>(element); | 123 const HTMLObjectElement* objectElement = static_cast<const HTMLObjectElement *>(element); |
120 // We need to assert after the cast because FormAssociatedElement doesn't | 124 // We need to assert after the cast because FormAssociatedElement doesn't |
121 // have hasTagName. | 125 // have hasTagName. |
122 ASSERT_WITH_SECURITY_IMPLICATION(!objectElement || objectElement->hasTagName (HTMLNames::objectTag)); | 126 ASSERT_WITH_SECURITY_IMPLICATION(!objectElement || objectElement->hasTagName (HTMLNames::objectTag)); |
123 return objectElement; | 127 return objectElement; |
124 } | 128 } |
125 | 129 |
126 inline const HTMLObjectElement& toHTMLObjectElement(const FormAssociatedElement& element) | 130 template<> inline const HTMLObjectElement& toElement<HTMLObjectElement>(const Fo rmAssociatedElement& element) |
127 { | 131 { |
128 ASSERT_WITH_SECURITY_IMPLICATION(!element.isFormControlElement()); | 132 ASSERT_WITH_SECURITY_IMPLICATION(!element.isFormControlElement()); |
129 const HTMLObjectElement& objectElement = static_cast<const HTMLObjectElement &>(element); | 133 const HTMLObjectElement& objectElement = static_cast<const HTMLObjectElement &>(element); |
130 // We need to assert after the cast because FormAssociatedElement doesn't | 134 // We need to assert after the cast because FormAssociatedElement doesn't |
131 // have hasTagName. | 135 // have hasTagName. |
132 ASSERT_WITH_SECURITY_IMPLICATION(objectElement.hasTagName(HTMLNames::objectT ag)); | 136 ASSERT_WITH_SECURITY_IMPLICATION(objectElement.hasTagName(HTMLNames::objectT ag)); |
133 return objectElement; | 137 return objectElement; |
134 } | 138 } |
135 | 139 |
136 } | 140 } |
137 | 141 |
138 #endif | 142 #endif |
OLD | NEW |