| Index: Source/core/xml/XPathNodeSet.h
|
| diff --git a/Source/core/xml/XPathNodeSet.h b/Source/core/xml/XPathNodeSet.h
|
| index 1974bba84faf84381d5fe8e0c66ae024f55b4663..d7dc4974a124d93d0e5346452e8a34bd741b6330 100644
|
| --- a/Source/core/xml/XPathNodeSet.h
|
| +++ b/Source/core/xml/XPathNodeSet.h
|
| @@ -26,61 +26,62 @@
|
| #ifndef XPathNodeSet_h
|
| #define XPathNodeSet_h
|
|
|
| +#include "core/dom/Node.h"
|
| #include "wtf/Forward.h"
|
| #include "wtf/Vector.h"
|
|
|
| -#include "core/dom/Node.h"
|
| -
|
| namespace WebCore {
|
|
|
| - namespace XPath {
|
| +namespace XPath {
|
|
|
| - class NodeSet : public NoBaseWillBeGarbageCollected<NodeSet> {
|
| - WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
|
| - public:
|
| - static PassOwnPtrWillBeRawPtr<NodeSet> create() { return adoptPtrWillBeNoop(new NodeSet); }
|
| - static PassOwnPtrWillBeRawPtr<NodeSet> create(const NodeSet&);
|
| - void trace(Visitor* visitor) { visitor->trace(m_nodes); }
|
| +class NodeSet : public NoBaseWillBeGarbageCollected<NodeSet> {
|
| + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
|
| +public:
|
| + static PassOwnPtrWillBeRawPtr<NodeSet> create() { return adoptPtrWillBeNoop(new NodeSet); }
|
| + static PassOwnPtrWillBeRawPtr<NodeSet> create(const NodeSet&);
|
| + void trace(Visitor* visitor) { visitor->trace(m_nodes); }
|
|
|
| - size_t size() const { return m_nodes.size(); }
|
| - bool isEmpty() const { return !m_nodes.size(); }
|
| - Node* operator[](unsigned i) const { return m_nodes.at(i).get(); }
|
| - void reserveCapacity(size_t newCapacity) { m_nodes.reserveCapacity(newCapacity); }
|
| - void clear() { m_nodes.clear(); }
|
| - void swap(NodeSet& other) { std::swap(m_isSorted, other.m_isSorted); std::swap(m_subtreesAreDisjoint, other.m_subtreesAreDisjoint); m_nodes.swap(other.m_nodes); }
|
| + size_t size() const { return m_nodes.size(); }
|
| + bool isEmpty() const { return !m_nodes.size(); }
|
| + Node* operator[](unsigned i) const { return m_nodes.at(i).get(); }
|
| + void reserveCapacity(size_t newCapacity) { m_nodes.reserveCapacity(newCapacity); }
|
| + void clear() { m_nodes.clear(); }
|
| + void swap(NodeSet& other) { std::swap(m_isSorted, other.m_isSorted); std::swap(m_subtreesAreDisjoint, other.m_subtreesAreDisjoint); m_nodes.swap(other.m_nodes); }
|
|
|
| - // NodeSet itself does not verify that nodes in it are unique.
|
| - void append(PassRefPtrWillBeRawPtr<Node> node) { m_nodes.append(node); }
|
| - void append(const NodeSet& nodeSet) { m_nodes.appendVector(nodeSet.m_nodes); }
|
| + // NodeSet itself does not verify that nodes in it are unique.
|
| + void append(PassRefPtrWillBeRawPtr<Node> node) { m_nodes.append(node); }
|
| + void append(const NodeSet& nodeSet) { m_nodes.appendVector(nodeSet.m_nodes); }
|
|
|
| - // Returns the set's first node in document order, or 0 if the set is empty.
|
| - Node* firstNode() const;
|
| + // Returns the set's first node in document order, or 0 if the set is empty.
|
| + Node* firstNode() const;
|
|
|
| - // Returns 0 if the set is empty.
|
| - Node* anyNode() const;
|
| + // Returns 0 if the set is empty.
|
| + Node* anyNode() const;
|
|
|
| - // NodeSet itself doesn't check if it contains nodes in document order - the caller should tell it if it does not.
|
| - void markSorted(bool isSorted) { m_isSorted = isSorted; }
|
| - bool isSorted() const { return m_isSorted || m_nodes.size() < 2; }
|
| + // NodeSet itself doesn't check if it contains nodes in document order - the
|
| + // caller should tell it if it does not.
|
| + void markSorted(bool isSorted) { m_isSorted = isSorted; }
|
| + bool isSorted() const { return m_isSorted || m_nodes.size() < 2; }
|
|
|
| - void sort() const;
|
| + void sort() const;
|
|
|
| - // No node in the set is ancestor of another. Unlike m_isSorted, this is assumed to be false, unless the caller sets it to true.
|
| - void markSubtreesDisjoint(bool disjoint) { m_subtreesAreDisjoint = disjoint; }
|
| - bool subtreesAreDisjoint() const { return m_subtreesAreDisjoint || m_nodes.size() < 2; }
|
| + // No node in the set is ancestor of another. Unlike m_isSorted, this is
|
| + // assumed to be false, unless the caller sets it to true.
|
| + void markSubtreesDisjoint(bool disjoint) { m_subtreesAreDisjoint = disjoint; }
|
| + bool subtreesAreDisjoint() const { return m_subtreesAreDisjoint || m_nodes.size() < 2; }
|
|
|
| - void reverse();
|
| + void reverse();
|
|
|
| - private:
|
| - NodeSet() : m_isSorted(true), m_subtreesAreDisjoint(false) { }
|
| - void traversalSort() const;
|
| +private:
|
| + NodeSet() : m_isSorted(true), m_subtreesAreDisjoint(false) { }
|
| + void traversalSort() const;
|
|
|
| - bool m_isSorted;
|
| - bool m_subtreesAreDisjoint;
|
| - WillBeHeapVector<RefPtrWillBeMember<Node> > m_nodes;
|
| - };
|
| + bool m_isSorted;
|
| + bool m_subtreesAreDisjoint;
|
| + WillBeHeapVector<RefPtrWillBeMember<Node> > m_nodes;
|
| +};
|
|
|
| - }
|
| }
|
|
|
| +}
|
| #endif // XPathNodeSet_h
|
|
|