1 // Copyright (c) 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.
5 #include "content/browser/indexed_db/leveldb/leveldb_write_batch.h"
7 #include "base/strings/string_piece.h"
8 #include "third_party/leveldatabase/src/include/leveldb/slice.h"
9 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h"
13 scoped_ptr
<LevelDBWriteBatch
> LevelDBWriteBatch::Create() {
14 return make_scoped_ptr(new LevelDBWriteBatch
);
17 LevelDBWriteBatch::LevelDBWriteBatch()
18 : write_batch_(new leveldb::WriteBatch
) {}
20 LevelDBWriteBatch::~LevelDBWriteBatch() {}
22 static leveldb::Slice
MakeSlice(const base::StringPiece
& s
) {
23 return leveldb::Slice(s
.begin(), s
.size());
26 void LevelDBWriteBatch::Put(const base::StringPiece
& key
,
27 const base::StringPiece
& value
) {
28 write_batch_
->Put(MakeSlice(key
), MakeSlice(value
));
31 void LevelDBWriteBatch::Remove(const base::StringPiece
& key
) {
32 write_batch_
->Delete(MakeSlice(key
));
35 void LevelDBWriteBatch::Clear() { write_batch_
->Clear(); }
37 } // namespace content