Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / dom / shadow / ContentDistribution.h
index 65a221d..c5d1687 100644 (file)
 #define ContentDistribution_h
 
 #include "core/dom/Node.h"
-#include "wtf/Forward.h"
 #include "wtf/HashMap.h"
 #include "wtf/Vector.h"
 
-namespace WebCore {
+namespace blink {
 
-class ContentDistribution {
+class ContentDistribution final {
+    DISALLOW_ALLOCATION();
 public:
     ContentDistribution() { m_nodes.reserveInitialCapacity(32); }
 
-    PassRefPtr<Node> first() const { return m_nodes.first(); }
-    PassRefPtr<Node> last() const { return m_nodes.last(); }
-    PassRefPtr<Node> at(size_t index) const { return m_nodes.at(index); }
+    PassRefPtrWillBeRawPtr<Node> first() const { return m_nodes.first(); }
+    PassRefPtrWillBeRawPtr<Node> last() const { return m_nodes.last(); }
+    PassRefPtrWillBeRawPtr<Node> at(size_t index) const { return m_nodes.at(index); }
 
     size_t size() const { return m_nodes.size(); }
     bool isEmpty() const { return m_nodes.isEmpty(); }
 
-    void append(PassRefPtr<Node>);
+    void append(PassRefPtrWillBeRawPtr<Node>);
     void clear() { m_nodes.clear(); m_indices.clear(); }
     void shrinkToFit() { m_nodes.shrinkToFit(); }
 
@@ -60,11 +60,13 @@ public:
 
     void swap(ContentDistribution& other);
 
-    const Vector<RefPtr<Node> >& nodes() const { return m_nodes; }
+    const WillBeHeapVector<RefPtrWillBeMember<Node> >& nodes() const { return m_nodes; }
+
+    void trace(Visitor*);
 
 private:
-    Vector<RefPtr<Node> > m_nodes;
-    HashMap<const Node*, size_t> m_indices;
+    WillBeHeapVector<RefPtrWillBeMember<Node> > m_nodes;
+    WillBeHeapHashMap<RawPtrWillBeMember<const Node>, size_t> m_indices;
 };
 
 }