#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"
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); }
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