blob: 360e6bd74ac9d5ba5402684cbb678ad1a7c386aa [file] [log] [blame]
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01001// 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#ifndef WEBKIT_BROWSER_DOM_STORAGE_DOM_STORAGE_DATABASE_ADAPTER_H_
6#define WEBKIT_BROWSER_DOM_STORAGE_DOM_STORAGE_DATABASE_ADAPTER_H_
7
8// Database interface used by DomStorageArea. Abstracts the differences between
9// the per-origin DomStorageDatabases for localStorage and
10// SessionStorageDatabase which stores multiple origins.
11
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010012#include "webkit/browser/webkit_storage_browser_export.h"
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010013#include "webkit/common/dom_storage/dom_storage_types.h"
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010014
15namespace dom_storage {
16
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010017class WEBKIT_STORAGE_BROWSER_EXPORT DomStorageDatabaseAdapter {
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010018 public:
19 virtual ~DomStorageDatabaseAdapter() {}
20 virtual void ReadAllValues(ValuesMap* result) = 0;
21 virtual bool CommitChanges(
22 bool clear_all_first, const ValuesMap& changes) = 0;
23 virtual void DeleteFiles() {}
24 virtual void Reset() {}
25};
26
27} // namespace dom_storage
28
29#endif // WEBKIT_BROWSER_DOM_STORAGE_DOM_STORAGE_DATABASE_ADAPTER_H_