| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 2 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 if (nodes.contains(n)) | 221 if (nodes.contains(n)) |
| 222 sortedNodes.append(n); | 222 sortedNodes.append(n); |
| 223 | 223 |
| 224 if (!containsAttributeNodes || !n->isElementNode()) | 224 if (!containsAttributeNodes || !n->isElementNode()) |
| 225 continue; | 225 continue; |
| 226 | 226 |
| 227 Element* element = toElement(n); | 227 Element* element = toElement(n); |
| 228 if (!element->hasAttributes()) | 228 if (!element->hasAttributes()) |
| 229 continue; | 229 continue; |
| 230 | 230 |
| 231 unsigned attributeCount = element->attributeCount(); | 231 AttributeIteratorAccessor attributes = element->attributesIterator(); |
| 232 for (unsigned i = 0; i < attributeCount; ++i) { | 232 AttributeConstIterator end = attributes.end(); |
| 233 RefPtrWillBeRawPtr<Attr> attr = element->attrIfExists(element->attri
buteItem(i).name()); | 233 for (AttributeConstIterator it = attributes.begin(); it != end; ++it) { |
| 234 RefPtrWillBeRawPtr<Attr> attr = element->attrIfExists(it->name()); |
| 234 if (attr && nodes.contains(attr.get())) | 235 if (attr && nodes.contains(attr.get())) |
| 235 sortedNodes.append(attr); | 236 sortedNodes.append(attr); |
| 236 } | 237 } |
| 237 } | 238 } |
| 238 | 239 |
| 239 ASSERT(sortedNodes.size() == nodeCount); | 240 ASSERT(sortedNodes.size() == nodeCount); |
| 240 const_cast<WillBeHeapVector<RefPtrWillBeMember<Node> >&>(m_nodes).swap(sorte
dNodes); | 241 const_cast<WillBeHeapVector<RefPtrWillBeMember<Node> >&>(m_nodes).swap(sorte
dNodes); |
| 241 } | 242 } |
| 242 | 243 |
| 243 void NodeSet::reverse() | 244 void NodeSet::reverse() |
| (...skipping 22 matching lines...) Expand all Loading... |
| 266 Node* NodeSet::anyNode() const | 267 Node* NodeSet::anyNode() const |
| 267 { | 268 { |
| 268 if (isEmpty()) | 269 if (isEmpty()) |
| 269 return 0; | 270 return 0; |
| 270 | 271 |
| 271 return m_nodes.at(0).get(); | 272 return m_nodes.at(0).get(); |
| 272 } | 273 } |
| 273 | 274 |
| 274 } | 275 } |
| 275 } | 276 } |
| OLD | NEW |