Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: content/common/leveldb_wrapper.mojom

Issue 1837883003: Some fleshing out the mojo based localstorage implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module content.mojom; 5 module content.mojom;
6 6
7 import "components/leveldb/public/interfaces/leveldb.mojom"; 7 import "components/leveldb/public/interfaces/leveldb.mojom";
8 8
9 // Gives information about changes to a LevelDB database. 9 // Gives information about changes to a LevelDB database.
10 // The reason this is a parameter to DeleteAll and GetAll below, instead of
11 // being specified when opening a LevelDBWrapper, is to avoid the client getting
12 // callbacks for changes that have already been applied to its database that
13 // it's fetching via GetAll or it's clearing via DeleteAll.
14 // In the methods below, |source| is a user-defined string which was passed to
15 // the various LevelDBWrapper methods.
16 // Note that observer methods are called before the callbacks for the 10 // Note that observer methods are called before the callbacks for the
17 // LevelDBWrapper methods are run. 11 // LevelDBWrapper methods are run.
18 interface LevelDBObserver { 12 interface LevelDBObserver {
13 KeyAdded(array<uint8> key, array<uint8> value, string source);
19 KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value, 14 KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value,
20 string source); 15 string source);
21 KeyDeleted(array<uint8> key, array<uint8> old_value, string source); 16 KeyDeleted(array<uint8> key, array<uint8> old_value, string source);
22 AllDeleted(string source); 17 AllDeleted(string source);
18
19 // Since the GetAll call is synchronous, observers need this asynchronously
20 // delivered notification to avoid applying changes to the returned array
21 // that it already contains.
22 GetAllComplete(string source);
23 }; 23 };
24 24
25 struct KeyValue { 25 struct KeyValue {
26 array<uint8> key; 26 array<uint8> key;
27 array<uint8> value; 27 array<uint8> value;
28 }; 28 };
29 29
30 // A wrapper around leveldb that supports giving notifications when values 30 // A wrapper around leveldb that supports giving notifications when values
31 // change. 31 // change.
32 interface LevelDBWrapper { 32 interface LevelDBWrapper {
33 // Sets the database entry for |key| to |value|. Returns OK on success. 33 // Sets the database entry for |key| to |value|. Returns OK on success.
34 Put(array<uint8> key, array<uint8> value, string source) 34 Put(array<uint8> key, array<uint8> value, string source) => (bool success);
35 => (leveldb.DatabaseError status);
36 35
37 // Remove the database entry (if any) for |key|. Returns OK on success, and a 36 // Remove the database entry (if any) for |key|. Returns OK on success, and a
38 // non-OK status on error. It is not an error if |key| did not exist in the 37 // non-OK status on error. It is not an error if |key| did not exist in the
39 // database. 38 // database.
40 Delete(array<uint8> key, string source) => (leveldb.DatabaseError status); 39 Delete(array<uint8> key, string source) => (bool success);
41 40
42 // Removes all the entries. 41 // Removes all the entries.
43 DeleteAll(LevelDBObserver observer, string source) 42 DeleteAll(string source) => (bool success);
44 => (leveldb.DatabaseError status);
45 43
46 // Returns the value of the |key|. 44 // Returns the value of the |key|.
47 Get(array<uint8> key) => (leveldb.DatabaseError status, array<uint8> value); 45 Get(array<uint8> key) => (bool success, array<uint8> value);
48 46
49 // Only used with small databases. Returns all key/value pairs. 47 // Only used with small databases. Returns all key/value pairs.
50 [Sync] 48 [Sync]
51 GetAll(LevelDBObserver observer) 49 GetAll(string source)
52 => (leveldb.DatabaseError status, array<KeyValue> data); 50 => (leveldb.DatabaseError status, array<KeyValue> data);
53 }; 51 };
OLDNEW
« no previous file with comments | « content/browser/storage_partition_impl.cc ('k') | content/common/storage_partition_service.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698