blob: a1f7f2dd7f7cc08239fe02fafe91360714a5b9d4 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/browser/dom_storage/session_storage_namespace_impl.h"
6
Ben Murdochbb1529c2013-08-08 10:24:53 +01007#include "content/browser/dom_storage/dom_storage_context_wrapper.h"
8#include "content/browser/dom_storage/dom_storage_session.h"
Torne (Richard Coles)58218062012-11-14 11:43:16 +00009
10namespace content {
11
12SessionStorageNamespaceImpl::SessionStorageNamespaceImpl(
Ben Murdochbb1529c2013-08-08 10:24:53 +010013 DOMStorageContextWrapper* context)
14 : session_(new DOMStorageSession(context->context())) {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000015}
16
17SessionStorageNamespaceImpl::SessionStorageNamespaceImpl(
Ben Murdochbb1529c2013-08-08 10:24:53 +010018 DOMStorageContextWrapper* context, int64 namepace_id_to_clone)
19 : session_(DOMStorageSession::CloneFrom(context->context(),
Torne (Richard Coles)58218062012-11-14 11:43:16 +000020 namepace_id_to_clone)) {
21}
22
23SessionStorageNamespaceImpl::SessionStorageNamespaceImpl(
Ben Murdochbb1529c2013-08-08 10:24:53 +010024 DOMStorageContextWrapper* context, const std::string& persistent_id)
25 : session_(new DOMStorageSession(context->context(), persistent_id)) {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000026}
27
28int64 SessionStorageNamespaceImpl::id() const {
29 return session_->namespace_id();
30}
31
32const std::string& SessionStorageNamespaceImpl::persistent_id() const {
33 return session_->persistent_namespace_id();
34}
35
36void SessionStorageNamespaceImpl::SetShouldPersist(bool should_persist) {
37 session_->SetShouldPersist(should_persist);
38}
39
40bool SessionStorageNamespaceImpl::should_persist() const {
41 return session_->should_persist();
42}
43
44SessionStorageNamespaceImpl* SessionStorageNamespaceImpl::Clone() {
45 return new SessionStorageNamespaceImpl(session_->Clone());
46}
47
48bool SessionStorageNamespaceImpl::IsFromContext(
Ben Murdochbb1529c2013-08-08 10:24:53 +010049 DOMStorageContextWrapper* context) {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000050 return session_->IsFromContext(context->context());
51}
52
53SessionStorageNamespaceImpl::SessionStorageNamespaceImpl(
Ben Murdochbb1529c2013-08-08 10:24:53 +010054 DOMStorageSession* clone)
Torne (Richard Coles)58218062012-11-14 11:43:16 +000055 : session_(clone) {
56}
57
58SessionStorageNamespaceImpl::~SessionStorageNamespaceImpl() {
59}
60
61} // namespace content