Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: Source/core/html/HTMLObjectElement.h

Issue 175693007: Generate isHTML*Element() / toHTML*Element() helper functions (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Make toHTMLObjectElement() work for FormAssociatedElement input Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/html/HTMLOListElement.h ('k') | Source/core/html/HTMLOptGroupElement.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « Source/core/html/HTMLOListElement.h ('k') | Source/core/html/HTMLOptGroupElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698