Index: webkit/dom_storage/dom_storage_session.h |
=================================================================== |
--- webkit/dom_storage/dom_storage_session.h (revision 0) |
+++ webkit/dom_storage/dom_storage_session.h (working copy) |
@@ -1,46 +1,41 @@ |
-// 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_SESSION_STORAGE_NAMESPACE_H_ |
-#define CONTENT_BROWSER_IN_PROCESS_WEBKIT_SESSION_STORAGE_NAMESPACE_H_ |
+#ifndef WEBKIT_DOM_STORAGE_DOM_STORAGE_SESSION_H_ |
+#define WEBKIT_DOM_STORAGE_DOM_STORAGE_SESSION_H_ |
#pragma once |
#include "base/basictypes.h" |
#include "base/memory/ref_counted.h" |
-#include "content/common/content_export.h" |
-class WebKitContext; |
+namespace dom_storage { |
-// This is a ref-counted class that represents a SessionStorageNamespace. |
-// On destruction it ensures that the storage namespace is destroyed. |
-// NOTE: That if we're shutting down, we don't strictly need to do this, but |
-// it keeps valgrind happy. |
-class SessionStorageNamespace |
- : public base::RefCountedThreadSafe<SessionStorageNamespace> { |
+class DomStorageContext; |
+ |
+// This refcounted class determines the lifetime of a session |
+// storage namespace and provides an interface to Clone() an |
+// existing session storage namespace. It may be used on any thread. |
+// See class comments for DomStorageContext for a larger overview. |
+class DomStorageSession |
+ : public base::RefCountedThreadSafe<DomStorageSession> { |
public: |
- explicit SessionStorageNamespace(WebKitContext* context); |
+ explicit DomStorageSession(DomStorageContext* context); |
+ int64 namespace_id() const { return namespace_id_; } |
+ DomStorageSession* Clone(); |
- int64 id() const { return id_; } |
- |
- // The session storage namespace parameter allows multiple render views and |
- // tab contentses to share the same session storage (part of the WebStorage |
- // spec) space. Passing in NULL simply allocates a new one which is often the |
- // correct thing to do (especially in tests. |
- SessionStorageNamespace* Clone(); |
- |
private: |
- SessionStorageNamespace(WebKitContext* webkit_context, int64 id); |
+ friend class base::RefCountedThreadSafe<DomStorageContext>; |
- friend class base::RefCountedThreadSafe<SessionStorageNamespace>; |
- CONTENT_EXPORT ~SessionStorageNamespace(); |
+ DomStorageSession(DomStorageContext* context, int64 namespace_id); |
+ ~DomStorageSession(); |
- scoped_refptr<WebKitContext> webkit_context_; |
+ scoped_refptr<DomStorageContext> context_; |
+ int64 namespace_id_; |
- // The session storage namespace id. |
- int64 id_; |
- |
- DISALLOW_IMPLICIT_CONSTRUCTORS(SessionStorageNamespace); |
+ DISALLOW_IMPLICIT_CONSTRUCTORS(DomStorageSession); |
}; |
-#endif // CONTENT_BROWSER_IN_PROCESS_WEBKIT_SESSION_STORAGE_NAMESPACE_H_ |
+} // namespace dom_storage |
+ |
+#endif // WEBKIT_DOM_STORAGE_DOM_STORAGE_SESSION_H_ |