| Index: ios/chrome/browser/reading_list/reading_list_model.cc
|
| diff --git a/ios/chrome/browser/reading_list/reading_list_model.cc b/ios/chrome/browser/reading_list/reading_list_model.cc
|
| index cfa74aed2f25a32aa98ed8b71cd2cd95254b4419..2b7e896ad8845ec1738072f502d63e1d723e9755 100644
|
| --- a/ios/chrome/browser/reading_list/reading_list_model.cc
|
| +++ b/ios/chrome/browser/reading_list/reading_list_model.cc
|
| @@ -4,11 +4,7 @@
|
|
|
| #include "ios/chrome/browser/reading_list/reading_list_model.h"
|
|
|
| -#include "base/logging.h"
|
| -#include "base/memory/ptr_util.h"
|
| -
|
| ReadingListModel::ReadingListModel() : current_batch_updates_count_(0) {}
|
| -
|
| ReadingListModel::~ReadingListModel() {
|
| for (auto& observer : observers_) {
|
| observer.ReadingListModelBeingDeleted(this);
|
| @@ -17,7 +13,6 @@
|
|
|
| // Observer methods.
|
| void ReadingListModel::AddObserver(ReadingListModelObserver* observer) {
|
| - DCHECK(CalledOnValidThread());
|
| DCHECK(observer);
|
| observers_.AddObserver(observer);
|
| if (loaded()) {
|
| @@ -26,56 +21,32 @@
|
| }
|
|
|
| void ReadingListModel::RemoveObserver(ReadingListModelObserver* observer) {
|
| - DCHECK(CalledOnValidThread());
|
| observers_.RemoveObserver(observer);
|
| }
|
|
|
| // Batch update methods.
|
| bool ReadingListModel::IsPerformingBatchUpdates() const {
|
| - DCHECK(CalledOnValidThread());
|
| return current_batch_updates_count_ > 0;
|
| }
|
|
|
| std::unique_ptr<ReadingListModel::ScopedReadingListBatchUpdate>
|
| -ReadingListModel::CreateBatchToken() {
|
| - return base::MakeUnique<ReadingListModel::ScopedReadingListBatchUpdate>(this);
|
| -}
|
| -
|
| -std::unique_ptr<ReadingListModel::ScopedReadingListBatchUpdate>
|
| ReadingListModel::BeginBatchUpdates() {
|
| - DCHECK(CalledOnValidThread());
|
| - auto token = CreateBatchToken();
|
| + std::unique_ptr<ReadingListModel::ScopedReadingListBatchUpdate> token(
|
| + new ReadingListModel::ScopedReadingListBatchUpdate(this));
|
|
|
| ++current_batch_updates_count_;
|
| if (current_batch_updates_count_ == 1) {
|
| - EnteringBatchUpdates();
|
| + for (auto& observer : observers_)
|
| + observer.ReadingListModelBeganBatchUpdates(this);
|
| }
|
| return token;
|
| }
|
|
|
| -void ReadingListModel::EnteringBatchUpdates() {
|
| - DCHECK(CalledOnValidThread());
|
| - for (auto& observer : observers_)
|
| - observer.ReadingListModelBeganBatchUpdates(this);
|
| -}
|
| -
|
| void ReadingListModel::EndBatchUpdates() {
|
| - DCHECK(CalledOnValidThread());
|
| DCHECK(IsPerformingBatchUpdates());
|
| - DCHECK(current_batch_updates_count_ > 0);
|
| --current_batch_updates_count_;
|
| if (current_batch_updates_count_ == 0) {
|
| - LeavingBatchUpdates();
|
| + for (auto& observer : observers_)
|
| + observer.ReadingListModelCompletedBatchUpdates(this);
|
| }
|
| }
|
| -
|
| -void ReadingListModel::LeavingBatchUpdates() {
|
| - DCHECK(CalledOnValidThread());
|
| - for (auto& observer : observers_)
|
| - observer.ReadingListModelCompletedBatchUpdates(this);
|
| -}
|
| -
|
| -ReadingListModel::ScopedReadingListBatchUpdate::
|
| - ~ScopedReadingListBatchUpdate() {
|
| - model_->EndBatchUpdates();
|
| -}
|
|
|