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

Unified Diff: content/browser/indexed_db/leveldb/leveldb_database.cc

Issue 237143006: Make iterating over a corrupted IndexedDB fail. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/indexed_db/leveldb/leveldb_database.cc
diff --git a/content/browser/indexed_db/leveldb/leveldb_database.cc b/content/browser/indexed_db/leveldb/leveldb_database.cc
index 96218b3d62b6451ba0d6c3efd0ddf609fe78516e..0efbcd1516ae17b1d8aefe7c343a54d21aa3b1de 100644
--- a/content/browser/indexed_db/leveldb/leveldb_database.cc
+++ b/content/browser/indexed_db/leveldb/leveldb_database.cc
@@ -378,10 +378,10 @@ class IteratorImpl : public LevelDBIterator {
virtual ~IteratorImpl() {}
virtual bool IsValid() const OVERRIDE;
- virtual void SeekToLast() OVERRIDE;
- virtual void Seek(const StringPiece& target) OVERRIDE;
- virtual void Next() OVERRIDE;
- virtual void Prev() OVERRIDE;
+ virtual leveldb::Status SeekToLast() OVERRIDE;
+ virtual leveldb::Status Seek(const StringPiece& target) OVERRIDE;
+ virtual leveldb::Status Next() OVERRIDE;
+ virtual leveldb::Status Prev() OVERRIDE;
virtual StringPiece Key() const OVERRIDE;
virtual StringPiece Value() const OVERRIDE;
@@ -398,33 +398,37 @@ IteratorImpl::IteratorImpl(scoped_ptr<leveldb::Iterator> it)
: iterator_(it.Pass()) {}
void IteratorImpl::CheckStatus() {
- const leveldb::Status s = iterator_->status();
+ const leveldb::Status& s = iterator_->status();
if (!s.ok())
LOG(ERROR) << "LevelDB iterator error: " << s.ToString();
}
bool IteratorImpl::IsValid() const { return iterator_->Valid(); }
-void IteratorImpl::SeekToLast() {
+leveldb::Status IteratorImpl::SeekToLast() {
iterator_->SeekToLast();
CheckStatus();
+ return iterator_->status();
}
-void IteratorImpl::Seek(const StringPiece& target) {
+leveldb::Status IteratorImpl::Seek(const StringPiece& target) {
iterator_->Seek(MakeSlice(target));
CheckStatus();
+ return iterator_->status();
}
-void IteratorImpl::Next() {
+leveldb::Status IteratorImpl::Next() {
DCHECK(IsValid());
iterator_->Next();
CheckStatus();
+ return iterator_->status();
}
-void IteratorImpl::Prev() {
+leveldb::Status IteratorImpl::Prev() {
DCHECK(IsValid());
iterator_->Prev();
CheckStatus();
+ return iterator_->status();
}
StringPiece IteratorImpl::Key() const {

Powered by Google App Engine
This is Rietveld 408576698