Chromium Code Reviews| 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_ |