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

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

Issue 569993002: <label> should support form association by parser (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated Created 6 years, 3 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
« no previous file with comments | « Source/core/html/HTMLLabelElement.cpp ('k') | Source/core/html/HTMLTagNames.in » ('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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 120
121 // Intentionally left unimplemented, template specialization needs to be provide d for specific 121 // Intentionally left unimplemented, template specialization needs to be provide d for specific
122 // return types. 122 // return types.
123 template<typename T> inline const T& toElement(const FormAssociatedElement&); 123 template<typename T> inline const T& toElement(const FormAssociatedElement&);
124 template<typename T> inline const T* toElement(const FormAssociatedElement*); 124 template<typename T> inline const T* toElement(const FormAssociatedElement*);
125 125
126 // Make toHTMLObjectElement() accept a FormAssociatedElement as input instead of a Node. 126 // Make toHTMLObjectElement() accept a FormAssociatedElement as input instead of a Node.
127 template<> inline const HTMLObjectElement* toElement<HTMLObjectElement>(const Fo rmAssociatedElement* element) 127 template<> inline const HTMLObjectElement* toElement<HTMLObjectElement>(const Fo rmAssociatedElement* element)
128 { 128 {
129 ASSERT_WITH_SECURITY_IMPLICATION(!element || !element->isFormControlElement( )); 129 ASSERT_WITH_SECURITY_IMPLICATION(!element || !element->isFormControlElement( ));
130 ASSERT_WITH_SECURITY_IMPLICATION(!element || !element->isLabelElement());
130 const HTMLObjectElement* objectElement = static_cast<const HTMLObjectElement *>(element); 131 const HTMLObjectElement* objectElement = static_cast<const HTMLObjectElement *>(element);
131 // We need to assert after the cast because FormAssociatedElement doesn't 132 // We need to assert after the cast because FormAssociatedElement doesn't
132 // have hasTagName. 133 // have hasTagName.
133 ASSERT_WITH_SECURITY_IMPLICATION(!objectElement || objectElement->hasTagName (HTMLNames::objectTag)); 134 ASSERT_WITH_SECURITY_IMPLICATION(!objectElement || objectElement->hasTagName (HTMLNames::objectTag));
134 return objectElement; 135 return objectElement;
135 } 136 }
136 137
137 template<> inline const HTMLObjectElement& toElement<HTMLObjectElement>(const Fo rmAssociatedElement& element) 138 template<> inline const HTMLObjectElement& toElement<HTMLObjectElement>(const Fo rmAssociatedElement& element)
138 { 139 {
139 ASSERT_WITH_SECURITY_IMPLICATION(!element.isFormControlElement()); 140 ASSERT_WITH_SECURITY_IMPLICATION(!element.isFormControlElement());
141 ASSERT_WITH_SECURITY_IMPLICATION(!element.isLabelElement());
140 const HTMLObjectElement& objectElement = static_cast<const HTMLObjectElement &>(element); 142 const HTMLObjectElement& objectElement = static_cast<const HTMLObjectElement &>(element);
141 // We need to assert after the cast because FormAssociatedElement doesn't 143 // We need to assert after the cast because FormAssociatedElement doesn't
142 // have hasTagName. 144 // have hasTagName.
143 ASSERT_WITH_SECURITY_IMPLICATION(objectElement.hasTagName(HTMLNames::objectT ag)); 145 ASSERT_WITH_SECURITY_IMPLICATION(objectElement.hasTagName(HTMLNames::objectT ag));
144 return objectElement; 146 return objectElement;
145 } 147 }
146 148
147 } // namespace blink 149 } // namespace blink
148 150
149 #endif // HTMLObjectElement_h 151 #endif // HTMLObjectElement_h
OLDNEW
« no previous file with comments | « Source/core/html/HTMLLabelElement.cpp ('k') | Source/core/html/HTMLTagNames.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698