| 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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 for (unsigned i = 0; i < nodeCount; ++i) { | 218 for (unsigned i = 0; i < nodeCount; ++i) { |
| 219 Node* node = m_nodes[i].get(); | 219 Node* node = m_nodes[i].get(); |
| 220 nodes.add(node); | 220 nodes.add(node); |
| 221 if (node->isAttributeNode()) | 221 if (node->isAttributeNode()) |
| 222 containsAttributeNodes = true; | 222 containsAttributeNodes = true; |
| 223 } | 223 } |
| 224 | 224 |
| 225 HeapVector<Member<Node>> sortedNodes; | 225 HeapVector<Member<Node>> sortedNodes; |
| 226 sortedNodes.reserveInitialCapacity(nodeCount); | 226 sortedNodes.reserveInitialCapacity(nodeCount); |
| 227 | 227 |
| 228 for (Node& n : NodeTraversal::startsAt(*findRootNode(m_nodes.first()))) { | 228 for (Node& n : NodeTraversal::startsAt(*findRootNode(m_nodes.front()))) { |
| 229 if (nodes.contains(&n)) | 229 if (nodes.contains(&n)) |
| 230 sortedNodes.append(&n); | 230 sortedNodes.append(&n); |
| 231 | 231 |
| 232 if (!containsAttributeNodes || !n.isElementNode()) | 232 if (!containsAttributeNodes || !n.isElementNode()) |
| 233 continue; | 233 continue; |
| 234 | 234 |
| 235 Element* element = toElement(&n); | 235 Element* element = toElement(&n); |
| 236 AttributeCollection attributes = element->attributes(); | 236 AttributeCollection attributes = element->attributes(); |
| 237 for (auto& attribute : attributes) { | 237 for (auto& attribute : attributes) { |
| 238 Attr* attr = element->attrIfExists(attribute.name()); | 238 Attr* attr = element->attrIfExists(attribute.name()); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 | 270 |
| 271 Node* NodeSet::anyNode() const { | 271 Node* NodeSet::anyNode() const { |
| 272 if (isEmpty()) | 272 if (isEmpty()) |
| 273 return nullptr; | 273 return nullptr; |
| 274 | 274 |
| 275 return m_nodes.at(0).get(); | 275 return m_nodes.at(0).get(); |
| 276 } | 276 } |
| 277 | 277 |
| 278 } // namespace XPath | 278 } // namespace XPath |
| 279 } // namespace blink | 279 } // namespace blink |
| OLD | NEW |