blob: 9db5f173341a676e1614989bf55241692a737437 [file] [log] [blame]
Ben Murdochbb1529c2013-08-08 10:24:53 +01001// 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_