Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / storage / StorageNamespace.h
index e3f7a9b..debb4c9 100644 (file)
 #ifndef StorageNamespace_h
 #define StorageNamespace_h
 
+#include "heap/Handle.h"
+#include "wtf/OwnPtr.h"
 #include "wtf/PassOwnPtr.h"
 
+namespace blink {
+class WebStorageNamespace;
+}
+
 namespace WebCore {
 
 class Page;
@@ -36,11 +42,16 @@ class StorageArea;
 
 class StorageNamespace {
 public:
-    static PassOwnPtr<StorageArea> localStorageArea(SecurityOrigin*);
-    static PassOwnPtr<StorageNamespace> sessionStorageNamespace(Page*);
+    explicit StorageNamespace(PassOwnPtr<blink::WebStorageNamespace>);
+    ~StorageNamespace();
+
+    static PassOwnPtrWillBeRawPtr<StorageArea> localStorageArea(SecurityOrigin*);
+
+    PassOwnPtrWillBeRawPtr<StorageArea> storageArea(SecurityOrigin*);
+    bool isSameNamespace(const blink::WebStorageNamespace& sessionNamespace) const;
 
-    virtual ~StorageNamespace() { }
-    virtual PassOwnPtr<StorageArea> storageArea(SecurityOrigin*) = 0;
+private:
+    OwnPtr<blink::WebStorageNamespace> m_webStorageNamespace;
 };
 
 } // namespace WebCore