Index: webkit/dom_storage/dom_storage_namespace.h |
=================================================================== |
--- webkit/dom_storage/dom_storage_namespace.h (revision 0) |
+++ webkit/dom_storage/dom_storage_namespace.h (working copy) |
@@ -1,83 +1,36 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CONTENT_BROWSER_IN_PROCESS_WEBKIT_DOM_STORAGE_NAMESPACE_H_ |
-#define CONTENT_BROWSER_IN_PROCESS_WEBKIT_DOM_STORAGE_NAMESPACE_H_ |
+#ifndef WEBKIT_DOM_STORAGE_DOM_STORAGE_NAMESPACE_H_ |
+#define WEBKIT_DOM_STORAGE_DOM_STORAGE_NAMESPACE_H_ |
#pragma once |
-#include "base/hash_tables.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/string16.h" |
-#include "content/common/dom_storage_common.h" |
-#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
+#include "base/basictypes.h" |
+#include "base/memory/ref_counted.h" |
-class DOMStorageArea; |
-class DOMStorageContext; |
-class FilePath; |
+class GURL; |
-namespace WebKit { |
-class WebStorageArea; |
-class WebStorageNamespace; |
-} |
+namespace dom_storage { |
-// Only to be used on the WebKit thread. |
-class DOMStorageNamespace { |
+class DomStorageArea; |
+class DomStorageTaskRunner; |
+ |
+class DomStorageNamespace { |
public: |
- static DOMStorageNamespace* CreateLocalStorageNamespace( |
- DOMStorageContext* dom_storage_context, const FilePath& data_dir_path); |
- static DOMStorageNamespace* CreateSessionStorageNamespace( |
- DOMStorageContext* dom_storage_context, int64 namespace_id); |
+ DomStorageNamespace(int64 namespace_id, |
+ DomStorageTaskRunner* task_runner); |
- ~DOMStorageNamespace(); |
+ DomStorageArea* GetStorageArea(const GURL& origin); |
- DOMStorageArea* GetStorageArea(const string16& origin); |
- DOMStorageNamespace* Copy(int64 clone_namespace_id); |
+ int64 namespace_id() const { return namespace_id_; } |
- void PurgeMemory(); |
- |
- const DOMStorageContext* dom_storage_context() const { |
- return dom_storage_context_; |
- } |
- int64 id() const { return id_; } |
- const WebKit::WebString& data_dir_path() const { return data_dir_path_; } |
- DOMStorageType dom_storage_type() const { return dom_storage_type_; } |
- |
- // Creates a WebStorageArea for the given origin. This should only be called |
- // by an owned DOMStorageArea. |
- WebKit::WebStorageArea* CreateWebStorageArea(const string16& origin); |
- |
private: |
- // Called by the static factory methods above. |
- DOMStorageNamespace(DOMStorageContext* dom_storage_context, |
- int64 id, |
- const WebKit::WebString& data_dir_path, |
- DOMStorageType storage_type); |
+ int64 namespace_id_; |
+ scoped_refptr<DomStorageTaskRunner> task_runner_; |
benm (inactive)
2012/01/31 18:03:38
Do we want a GUrl,DomStorageArea map here too?
michaeln
2012/01/31 21:17:45
Yup, I'm getting there, still working out ownershi
|
+}; |
- // Creates the underlying WebStorageNamespace on demand. |
- void CreateWebStorageNamespaceIfNecessary(); |
+} // namespace dom_storage |
- // All the storage areas we own. |
- typedef base::hash_map<string16, DOMStorageArea*> OriginToStorageAreaMap; |
- OriginToStorageAreaMap origin_to_storage_area_; |
- // The DOMStorageContext that owns us. |
- DOMStorageContext* dom_storage_context_; |
- |
- // The WebKit storage namespace we manage. |
- scoped_ptr<WebKit::WebStorageNamespace> storage_namespace_; |
- |
- // Our id. Unique to our parent WebKitContext class. |
- int64 id_; |
- |
- // The path used to create us, so we can recreate our WebStorageNamespace on |
- // demand. |
- WebKit::WebString data_dir_path_; |
- |
- // SessionStorage vs. LocalStorage. |
- const DOMStorageType dom_storage_type_; |
- |
- DISALLOW_IMPLICIT_CONSTRUCTORS(DOMStorageNamespace); |
-}; |
- |
-#endif // CONTENT_BROWSER_IN_PROCESS_WEBKIT_DOM_STORAGE_NAMESPACE_H_ |
+#endif // WEBKIT_DOM_STORAGE_DOM_STORAGE_NAMESPACE_H_ |