1// Copyright 2013 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#ifndef CONTENT_BROWSER_DOM_STORAGE_SESSION_STORAGE_DATABASE_ADAPTER_H_
6#define CONTENT_BROWSER_DOM_STORAGE_SESSION_STORAGE_DATABASE_ADAPTER_H_
7
8#include "base/memory/ref_counted.h"
9#include "content/browser/dom_storage/dom_storage_database_adapter.h"
10#include "url/gurl.h"
11
12namespace content {
13
14class SessionStorageDatabase;
15
16class SessionStorageDatabaseAdapter : public DOMStorageDatabaseAdapter {
17 public:
18  SessionStorageDatabaseAdapter(SessionStorageDatabase* db,
19                                const std::string& permanent_namespace_id,
20                                const GURL& origin);
21  virtual ~SessionStorageDatabaseAdapter();
22  virtual void ReadAllValues(DOMStorageValuesMap* result) OVERRIDE;
23  virtual bool CommitChanges(bool clear_all_first,
24                             const DOMStorageValuesMap& changes) OVERRIDE;
25 private:
26  scoped_refptr<SessionStorageDatabase> db_;
27  std::string permanent_namespace_id_;
28  GURL origin_;
29
30  DISALLOW_COPY_AND_ASSIGN(SessionStorageDatabaseAdapter);
31};
32
33}  // namespace content
34
35#endif  // CONTENT_BROWSER_DOM_STORAGE_SESSION_STORAGE_DATABASE_ADAPTER_H_
36