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

Side by Side Diff: third_party/WebKit/Source/core/dom/AttributeCollection.h

Issue 2390543002: Reflow comments in core/dom/. (Closed)
Patch Set: Reformat comments in core/dom/. Created 4 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * Copyright (C) 2014 Apple Inc. All rights reserved. 3 * Copyright (C) 2014 Apple Inc. All rights reserved.
4 * Copyright (C) 2014 Samsung Electronics. All rights reserved. 4 * Copyright (C) 2014 Samsung Electronics. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are 7 * modification, are permitted provided that the following conditions are
8 * met: 8 * met:
9 * 9 *
10 * * Redistributions of source code must retain the above copyright 10 * * Redistributions of source code must retain the above copyright
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 bool shouldIgnoreCase) const { 142 bool shouldIgnoreCase) const {
143 iterator end = this->end(); 143 iterator end = this->end();
144 unsigned index = 0; 144 unsigned index = 0;
145 for (iterator it = begin(); it != end; ++it, ++index) { 145 for (iterator it = begin(); it != end; ++it, ++index) {
146 if (it->name().matchesPossiblyIgnoringCase(name, shouldIgnoreCase)) 146 if (it->name().matchesPossiblyIgnoringCase(name, shouldIgnoreCase))
147 return index; 147 return index;
148 } 148 }
149 return kNotFound; 149 return kNotFound;
150 } 150 }
151 151
152 // We use a boolean parameter instead of calling shouldIgnoreAttributeCase so th at the caller 152 // We use a boolean parameter instead of calling shouldIgnoreAttributeCase so
153 // can tune the behavior (hasAttribute is case sensitive whereas getAttribute is not). 153 // that the caller can tune the behavior (hasAttribute is case sensitive whereas
154 // getAttribute is not).
154 template <typename Container, typename ContainerMemberType> 155 template <typename Container, typename ContainerMemberType>
155 inline size_t 156 inline size_t
156 AttributeCollectionGeneric<Container, ContainerMemberType>::findIndex( 157 AttributeCollectionGeneric<Container, ContainerMemberType>::findIndex(
157 const AtomicString& name, 158 const AtomicString& name,
158 bool shouldIgnoreCase) const { 159 bool shouldIgnoreCase) const {
159 bool doSlowCheck = shouldIgnoreCase; 160 bool doSlowCheck = shouldIgnoreCase;
160 161
161 // Optimize for the case where the attribute exists and its name exactly match es. 162 // Optimize for the case where the attribute exists and its name exactly
163 // matches.
162 iterator end = this->end(); 164 iterator end = this->end();
163 unsigned index = 0; 165 unsigned index = 0;
164 for (iterator it = begin(); it != end; ++it, ++index) { 166 for (iterator it = begin(); it != end; ++it, ++index) {
165 // FIXME: Why check the prefix? Namespaces should be all that matter. 167 // FIXME: Why check the prefix? Namespaces should be all that matter.
166 // Most attributes (all of HTML and CSS) have no namespace. 168 // Most attributes (all of HTML and CSS) have no namespace.
167 if (!it->name().hasPrefix()) { 169 if (!it->name().hasPrefix()) {
168 if (name == it->localName()) 170 if (name == it->localName())
169 return index; 171 return index;
170 } else { 172 } else {
171 doSlowCheck = true; 173 doSlowCheck = true;
(...skipping 15 matching lines...) Expand all
187 if (it->name().matches(name)) 189 if (it->name().matches(name))
188 return it; 190 return it;
189 } 191 }
190 return nullptr; 192 return nullptr;
191 } 193 }
192 194
193 template <typename Container, typename ContainerMemberType> 195 template <typename Container, typename ContainerMemberType>
194 size_t AttributeCollectionGeneric<Container, ContainerMemberType>::findSlowCase( 196 size_t AttributeCollectionGeneric<Container, ContainerMemberType>::findSlowCase(
195 const AtomicString& name, 197 const AtomicString& name,
196 bool shouldIgnoreAttributeCase) const { 198 bool shouldIgnoreAttributeCase) const {
197 // Continue to checking case-insensitively and/or full namespaced names if nec essary: 199 // Continue to checking case-insensitively and/or full namespaced names if
200 // necessary:
198 iterator end = this->end(); 201 iterator end = this->end();
199 unsigned index = 0; 202 unsigned index = 0;
200 for (iterator it = begin(); it != end; ++it, ++index) { 203 for (iterator it = begin(); it != end; ++it, ++index) {
201 // FIXME: Why check the prefix? Namespace is all that should matter 204 // FIXME: Why check the prefix? Namespace is all that should matter
202 // and all HTML/SVG attributes have a null namespace! 205 // and all HTML/SVG attributes have a null namespace!
203 if (!it->name().hasPrefix()) { 206 if (!it->name().hasPrefix()) {
204 if (shouldIgnoreAttributeCase && equalIgnoringCase(name, it->localName())) 207 if (shouldIgnoreAttributeCase && equalIgnoringCase(name, it->localName()))
205 return index; 208 return index;
206 } else { 209 } else {
207 // FIXME: Would be faster to do this comparison without calling toString, which 210 // FIXME: Would be faster to do this comparison without calling toString,
208 // generates a temporary string by concatenation. But this branch is only reached 211 // which generates a temporary string by concatenation. But this branch is
209 // if the attribute name has a prefix, which is rare in HTML. 212 // only reached if the attribute name has a prefix, which is rare in HTML.
210 if (equalPossiblyIgnoringCase(name, it->name().toString(), 213 if (equalPossiblyIgnoringCase(name, it->name().toString(),
211 shouldIgnoreAttributeCase)) 214 shouldIgnoreAttributeCase))
212 return index; 215 return index;
213 } 216 }
214 } 217 }
215 return kNotFound; 218 return kNotFound;
216 } 219 }
217 220
218 } // namespace blink 221 } // namespace blink
219 222
220 #endif // AttributeCollection_h 223 #endif // AttributeCollection_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/Attribute.h ('k') | third_party/WebKit/Source/core/dom/CSSSelectorWatch.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698