Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / storage / Storage.h
index 6a04a5a..083ec83 100644 (file)
@@ -30,6 +30,7 @@
 #include "bindings/v8/V8Binding.h"
 #include "core/frame/DOMWindowProperty.h"
 #include "core/storage/StorageArea.h"
+#include "heap/Handle.h"
 #include "wtf/Forward.h"
 #include "wtf/RefCounted.h"
 #include "wtf/RefPtr.h"
@@ -39,9 +40,10 @@ namespace WebCore {
 class ExceptionState;
 class Frame;
 
-class Storage FINAL : public ScriptWrappable, public RefCounted<Storage>, public DOMWindowProperty {
+class Storage FINAL : public RefCountedWillBeGarbageCollectedFinalized<Storage>, public ScriptWrappable, public DOMWindowProperty {
+    DECLARE_GC_INFO;
 public:
-    static PassRefPtr<Storage> create(Frame*, PassOwnPtr<StorageArea>);
+    static PassRefPtrWillBeRawPtr<Storage> create(Frame*, PassOwnPtrWillBeRawPtr<StorageArea>);
     virtual ~Storage();
 
     unsigned length(ExceptionState& ec) const { return m_storageArea->length(ec, m_frame); }
@@ -63,10 +65,12 @@ public:
     void namedPropertyEnumerator(Vector<String>&, ExceptionState&);
     bool namedPropertyQuery(const AtomicString&, ExceptionState&);
 
+    void trace(Visitor*);
+
 private:
-    Storage(Frame*, PassOwnPtr<StorageArea>);
+    Storage(Frame*, PassOwnPtrWillBeRawPtr<StorageArea>);
 
-    OwnPtr<StorageArea> m_storageArea;
+    OwnPtrWillBeMember<StorageArea> m_storageArea;
 };
 
 } // namespace WebCore