| OLD | NEW |
| 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 #include "content/browser/leveldb_wrapper_impl.h" | 5 #include "content/browser/leveldb_wrapper_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
| 9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
| 10 #include "components/leveldb/public/cpp/util.h" | 10 #include "components/leveldb/public/cpp/util.h" |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 LoadMap(base::Bind(&LevelDBWrapperImpl::ScheduleImmediateCommit, | 82 LoadMap(base::Bind(&LevelDBWrapperImpl::ScheduleImmediateCommit, |
| 83 base::Unretained(this))); | 83 base::Unretained(this))); |
| 84 return; | 84 return; |
| 85 } | 85 } |
| 86 | 86 |
| 87 if (!database_ || !commit_batch_) | 87 if (!database_ || !commit_batch_) |
| 88 return; | 88 return; |
| 89 CommitChanges(); | 89 CommitChanges(); |
| 90 } | 90 } |
| 91 | 91 |
| 92 void LevelDBWrapperImpl::PurgeMemory() { |
| 93 if (!map_ || // We're not using any memory. |
| 94 commit_batch_ || // We leave things alone with changes pending. |
| 95 !database_) { // Don't purge anything if we're not backed by a database. |
| 96 return; |
| 97 } |
| 98 |
| 99 map_.reset(); |
| 100 } |
| 101 |
| 92 void LevelDBWrapperImpl::AddObserver( | 102 void LevelDBWrapperImpl::AddObserver( |
| 93 mojom::LevelDBObserverAssociatedPtrInfo observer) { | 103 mojom::LevelDBObserverAssociatedPtrInfo observer) { |
| 94 mojom::LevelDBObserverAssociatedPtr observer_ptr; | 104 mojom::LevelDBObserverAssociatedPtr observer_ptr; |
| 95 observer_ptr.Bind(std::move(observer)); | 105 observer_ptr.Bind(std::move(observer)); |
| 96 observers_.AddPtr(std::move(observer_ptr)); | 106 observers_.AddPtr(std::move(observer_ptr)); |
| 97 } | 107 } |
| 98 | 108 |
| 99 void LevelDBWrapperImpl::Put(const std::vector<uint8_t>& key, | 109 void LevelDBWrapperImpl::Put(const std::vector<uint8_t>& key, |
| 100 const std::vector<uint8_t>& value, | 110 const std::vector<uint8_t>& value, |
| 101 const std::string& source, | 111 const std::string& source, |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 weak_ptr_factory_.GetWeakPtr())); | 436 weak_ptr_factory_.GetWeakPtr())); |
| 427 } | 437 } |
| 428 | 438 |
| 429 void LevelDBWrapperImpl::OnCommitComplete(leveldb::mojom::DatabaseError error) { | 439 void LevelDBWrapperImpl::OnCommitComplete(leveldb::mojom::DatabaseError error) { |
| 430 --commit_batches_in_flight_; | 440 --commit_batches_in_flight_; |
| 431 StartCommitTimer(); | 441 StartCommitTimer(); |
| 432 delegate_->DidCommit(error); | 442 delegate_->DidCommit(error); |
| 433 } | 443 } |
| 434 | 444 |
| 435 } // namespace content | 445 } // namespace content |
| OLD | NEW |