| Index: content/common/leveldb_wrapper.mojom | 
| diff --git a/content/common/leveldb_wrapper.mojom b/content/common/leveldb_wrapper.mojom | 
| index b3949ca855d57ca8a9f6f0cb783f3e4150c6b878..0035ebc5558fa9975704df9ea7a0fd1e5d73307a 100644 | 
| --- a/content/common/leveldb_wrapper.mojom | 
| +++ b/content/common/leveldb_wrapper.mojom | 
| @@ -7,19 +7,19 @@ module content.mojom; | 
| import "components/leveldb/public/interfaces/leveldb.mojom"; | 
|  | 
| // Gives information about changes to a LevelDB database. | 
| -// The reason this is a parameter to DeleteAll and GetAll below, instead of | 
| -// being specified when opening a LevelDBWrapper, is to avoid the client getting | 
| -// callbacks for changes that have already been applied to its database that | 
| -// it's fetching via GetAll or it's clearing via DeleteAll. | 
| -// In the methods below, |source| is a user-defined string which was passed to | 
| -// the various LevelDBWrapper methods. | 
| // Note that observer methods are called before the callbacks for the | 
| // LevelDBWrapper methods are run. | 
| interface LevelDBObserver { | 
| +  KeyAdded(array<uint8> key, array<uint8> value, string source); | 
| KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value, | 
| string source); | 
| KeyDeleted(array<uint8> key, array<uint8> old_value, string source); | 
| AllDeleted(string source); | 
| + | 
| +  // Since the GetAll call is synchronous, observers need this asynchronously | 
| +  // delivered notification to avoid applying changes to the returned array | 
| +  // that it already contains. | 
| +  GetAllComplete(string source); | 
| }; | 
|  | 
| struct KeyValue { | 
| @@ -31,23 +31,21 @@ struct KeyValue { | 
| // change. | 
| interface LevelDBWrapper { | 
| // Sets the database entry for |key| to |value|. Returns OK on success. | 
| -  Put(array<uint8> key, array<uint8> value, string source) | 
| -    => (leveldb.DatabaseError status); | 
| +  Put(array<uint8> key, array<uint8> value, string source) => (bool success); | 
|  | 
| // Remove the database entry (if any) for |key|.  Returns OK on success, and a | 
| // non-OK status on error.  It is not an error if |key| did not exist in the | 
| // database. | 
| -  Delete(array<uint8> key, string source) => (leveldb.DatabaseError status); | 
| +  Delete(array<uint8> key, string source) => (bool success); | 
|  | 
| // Removes all the entries. | 
| -  DeleteAll(LevelDBObserver observer, string source) | 
| -    => (leveldb.DatabaseError status); | 
| +  DeleteAll(string source) => (bool success); | 
|  | 
| // Returns the value of the |key|. | 
| -  Get(array<uint8> key) => (leveldb.DatabaseError status, array<uint8> value); | 
| +  Get(array<uint8> key) => (bool success, array<uint8> value); | 
|  | 
| // Only used with small databases. Returns all key/value pairs. | 
| [Sync] | 
| -  GetAll(LevelDBObserver observer) | 
| +  GetAll(string source) | 
| => (leveldb.DatabaseError status, array<KeyValue> data); | 
| }; | 
|  |