Commit d17af741 authored by Morten Stenshorne's avatar Morten Stenshorne Committed by Commit Bot

Revert "Read later: Add a method to notify update for reading list backend."

This reverts commit d4fbfee2.

Reason for revert: Reverting because it's on top of https://chromium-review.googlesource.com/c/chromium/src/+/2518774 , which needs to be reverted, because of crbug.com/1147311

Original change's description:
> Read later: Add a method to notify update for reading list backend.
>
> Adds an observer method to notify update for reading list backend.
>
> Bug: 1139133
> Change-Id: Ic5483e075086d48334a9e347125048b5699c2560
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2519151
> Reviewed-by: Theresa  <twellington@chromium.org>
> Reviewed-by: Brandon Wylie <wylieb@chromium.org>
> Commit-Queue: Xing Liu <xingliu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#825086}

TBR=dtrainor@chromium.org,twellington@chromium.org,wylieb@chromium.org,xingliu@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1139133
Change-Id: I89026b82f1760fbb83e80b8723a9329d323211b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2532074Reviewed-by: default avatarMorten Stenshorne <mstensho@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826267}
parent 2a505c69
...@@ -1158,6 +1158,9 @@ void BookmarkBridge::ExtensiveBookmarkChangesEnded(BookmarkModel* model) { ...@@ -1158,6 +1158,9 @@ void BookmarkBridge::ExtensiveBookmarkChangesEnded(BookmarkModel* model) {
} }
void BookmarkBridge::PartnerShimChanged(PartnerBookmarksShim* shim) { void BookmarkBridge::PartnerShimChanged(PartnerBookmarksShim* shim) {
if (!IsLoaded())
return;
BookmarkModelChanged(); BookmarkModelChanged();
} }
...@@ -1173,10 +1176,6 @@ void BookmarkBridge::ReadingListLoaded() { ...@@ -1173,10 +1176,6 @@ void BookmarkBridge::ReadingListLoaded() {
NotifyIfDoneLoading(); NotifyIfDoneLoading();
} }
void BookmarkBridge::ReadingListChanged() {
BookmarkModelChanged();
}
void BookmarkBridge::ReorderChildren( void BookmarkBridge::ReorderChildren(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
......
...@@ -296,7 +296,6 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, ...@@ -296,7 +296,6 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Override ReadingListManager::Observer // Override ReadingListManager::Observer
void ReadingListLoaded() override; void ReadingListLoaded() override;
void ReadingListChanged() override;
void DestroyJavaObject(); void DestroyJavaObject();
......
...@@ -32,9 +32,6 @@ class ReadingListManager : public KeyedService { ...@@ -32,9 +32,6 @@ class ReadingListManager : public KeyedService {
// Called when the reading list backend is loaded. // Called when the reading list backend is loaded.
virtual void ReadingListLoaded() {} virtual void ReadingListLoaded() {}
// Called when the reading list backend is changed.
virtual void ReadingListChanged() {}
Observer() = default; Observer() = default;
~Observer() override = default; ~Observer() override = default;
}; };
......
...@@ -47,10 +47,7 @@ bool SyncToBookmark(const ReadingListEntry& entry, BookmarkNode* bookmark) { ...@@ -47,10 +47,7 @@ bool SyncToBookmark(const ReadingListEntry& entry, BookmarkNode* bookmark) {
ReadingListManagerImpl::ReadingListManagerImpl( ReadingListManagerImpl::ReadingListManagerImpl(
ReadingListModel* reading_list_model) ReadingListModel* reading_list_model)
: reading_list_model_(reading_list_model), : reading_list_model_(reading_list_model), maximum_id_(0L), loaded_(false) {
maximum_id_(0L),
loaded_(false),
performing_batch_update_(false) {
DCHECK(reading_list_model_); DCHECK(reading_list_model_);
root_ = std::make_unique<BookmarkNode>(maximum_id_++, base::GenerateGUID(), root_ = std::make_unique<BookmarkNode>(maximum_id_++, base::GenerateGUID(),
GURL()); GURL());
...@@ -98,28 +95,6 @@ void ReadingListManagerImpl::ReadingListDidMoveEntry( ...@@ -98,28 +95,6 @@ void ReadingListManagerImpl::ReadingListDidMoveEntry(
AddOrUpdateBookmark(moved_entry); AddOrUpdateBookmark(moved_entry);
} }
void ReadingListManagerImpl::ReadingListDidApplyChanges(
ReadingListModel* model) {
// Ignores ReadingListDidApplyChanges() invocations during batch update.
if (performing_batch_update_)
return;
NotifyReadingListChanged();
}
void ReadingListManagerImpl::ReadingListModelBeganBatchUpdates(
const ReadingListModel* model) {
performing_batch_update_ = true;
}
void ReadingListManagerImpl::ReadingListModelCompletedBatchUpdates(
const ReadingListModel* model) {
performing_batch_update_ = false;
// Batch update is done, notify the observer only once.
NotifyReadingListChanged();
}
void ReadingListManagerImpl::AddObserver(Observer* observer) { void ReadingListManagerImpl::AddObserver(Observer* observer) {
observers_.AddObserver(observer); observers_.AddObserver(observer);
} }
...@@ -258,8 +233,3 @@ const BookmarkNode* ReadingListManagerImpl::AddOrUpdateBookmark( ...@@ -258,8 +233,3 @@ const BookmarkNode* ReadingListManagerImpl::AddOrUpdateBookmark(
bool success = SyncToBookmark(*entry, new_node.get()); bool success = SyncToBookmark(*entry, new_node.get());
return success ? root_->Add(std::move(new_node)) : nullptr; return success ? root_->Add(std::move(new_node)) : nullptr;
} }
void ReadingListManagerImpl::NotifyReadingListChanged() {
for (Observer& observer : observers_)
observer.ReadingListChanged();
}
...@@ -34,11 +34,6 @@ class ReadingListManagerImpl : public ReadingListManager, ...@@ -34,11 +34,6 @@ class ReadingListManagerImpl : public ReadingListManager,
const GURL& url) override; const GURL& url) override;
void ReadingListDidMoveEntry(const ReadingListModel* model, void ReadingListDidMoveEntry(const ReadingListModel* model,
const GURL& url) override; const GURL& url) override;
void ReadingListDidApplyChanges(ReadingListModel* model) override;
void ReadingListModelBeganBatchUpdates(
const ReadingListModel* model) override;
void ReadingListModelCompletedBatchUpdates(
const ReadingListModel* model) override;
// ReadingListManager implementation. // ReadingListManager implementation.
void AddObserver(Observer* observer) override; void AddObserver(Observer* observer) override;
...@@ -65,7 +60,6 @@ class ReadingListManagerImpl : public ReadingListManager, ...@@ -65,7 +60,6 @@ class ReadingListManagerImpl : public ReadingListManager,
void RemoveBookmark(const GURL& url); void RemoveBookmark(const GURL& url);
const bookmarks::BookmarkNode* AddOrUpdateBookmark( const bookmarks::BookmarkNode* AddOrUpdateBookmark(
const ReadingListEntry* entry); const ReadingListEntry* entry);
void NotifyReadingListChanged();
// Contains reading list data, outlives this class. // Contains reading list data, outlives this class.
ReadingListModel* reading_list_model_; ReadingListModel* reading_list_model_;
...@@ -79,9 +73,6 @@ class ReadingListManagerImpl : public ReadingListManager, ...@@ -79,9 +73,6 @@ class ReadingListManagerImpl : public ReadingListManager,
// Whether the |reading_list_model_| is loaded. // Whether the |reading_list_model_| is loaded.
bool loaded_; bool loaded_;
// Whether |reading_list_model_| is in batch update mode.
bool performing_batch_update_;
base::ObserverList<Observer> observers_; base::ObserverList<Observer> observers_;
}; };
......
...@@ -38,7 +38,6 @@ class MockObserver : public ReadingListManager::Observer { ...@@ -38,7 +38,6 @@ class MockObserver : public ReadingListManager::Observer {
// ReadingListManager::Observer implementation. // ReadingListManager::Observer implementation.
MOCK_METHOD(void, ReadingListLoaded, (), (override)); MOCK_METHOD(void, ReadingListLoaded, (), (override));
MOCK_METHOD(void, ReadingListChanged, (), (override));
}; };
class ReadingListManagerImplTest : public testing::Test { class ReadingListManagerImplTest : public testing::Test {
...@@ -65,21 +64,6 @@ class ReadingListManagerImplTest : public testing::Test { ...@@ -65,21 +64,6 @@ class ReadingListManagerImplTest : public testing::Test {
base::SimpleTestClock* clock() { return &clock_; } base::SimpleTestClock* clock() { return &clock_; }
MockObserver* observer() { return &observer_; } MockObserver* observer() { return &observer_; }
const BookmarkNode* Add(const GURL& url, const std::string& title) {
EXPECT_CALL(*observer(), ReadingListChanged());
return manager()->Add(url, title);
}
void Delete(const GURL& url) {
EXPECT_CALL(*observer(), ReadingListChanged());
manager()->Delete(url);
}
void SetReadStatus(const GURL& url, bool read) {
EXPECT_CALL(*observer(), ReadingListChanged());
manager()->SetReadStatus(url, read);
}
private: private:
base::SimpleTestClock clock_; base::SimpleTestClock clock_;
std::unique_ptr<ReadingListModelImpl> reading_list_model_; std::unique_ptr<ReadingListModelImpl> reading_list_model_;
...@@ -114,7 +98,7 @@ TEST_F(ReadingListManagerImplTest, Load) { ...@@ -114,7 +98,7 @@ TEST_F(ReadingListManagerImplTest, Load) {
TEST_F(ReadingListManagerImplTest, AddGetDelete) { TEST_F(ReadingListManagerImplTest, AddGetDelete) {
// Adds a node. // Adds a node.
GURL url(kURL); GURL url(kURL);
Add(url, kTitle); manager()->Add(url, kTitle);
EXPECT_EQ(1u, manager()->size()); EXPECT_EQ(1u, manager()->size());
EXPECT_EQ(1u, manager()->unread_size()); EXPECT_EQ(1u, manager()->unread_size());
EXPECT_EQ(1u, manager()->GetRoot()->children().size()) EXPECT_EQ(1u, manager()->GetRoot()->children().size())
...@@ -134,7 +118,7 @@ TEST_F(ReadingListManagerImplTest, AddGetDelete) { ...@@ -134,7 +118,7 @@ TEST_F(ReadingListManagerImplTest, AddGetDelete) {
EXPECT_EQ(nullptr, manager()->Get(GURL("invalid spec"))); EXPECT_EQ(nullptr, manager()->Get(GURL("invalid spec")));
// Deletes the node. // Deletes the node.
Delete(url); manager()->Delete(url);
EXPECT_EQ(0u, manager()->size()); EXPECT_EQ(0u, manager()->size());
EXPECT_EQ(0u, manager()->unread_size()); EXPECT_EQ(0u, manager()->unread_size());
EXPECT_TRUE(manager()->GetRoot()->children().empty()); EXPECT_TRUE(manager()->GetRoot()->children().empty());
...@@ -143,7 +127,7 @@ TEST_F(ReadingListManagerImplTest, AddGetDelete) { ...@@ -143,7 +127,7 @@ TEST_F(ReadingListManagerImplTest, AddGetDelete) {
// Verifies GetNodeByID() and IsReadingListBookmark() works correctly. // Verifies GetNodeByID() and IsReadingListBookmark() works correctly.
TEST_F(ReadingListManagerImplTest, GetNodeByIDIsReadingListBookmark) { TEST_F(ReadingListManagerImplTest, GetNodeByIDIsReadingListBookmark) {
GURL url(kURL); GURL url(kURL);
const auto* node = Add(url, kTitle); const auto* node = manager()->Add(url, kTitle);
// Find the root. // Find the root.
EXPECT_EQ(manager()->GetRoot(), EXPECT_EQ(manager()->GetRoot(),
...@@ -170,8 +154,8 @@ TEST_F(ReadingListManagerImplTest, GetNodeByIDIsReadingListBookmark) { ...@@ -170,8 +154,8 @@ TEST_F(ReadingListManagerImplTest, GetNodeByIDIsReadingListBookmark) {
TEST_F(ReadingListManagerImplTest, AddTwice) { TEST_F(ReadingListManagerImplTest, AddTwice) {
// Adds a node. // Adds a node.
GURL url(kURL); GURL url(kURL);
const auto* node = Add(url, kTitle); const auto* node = manager()->Add(url, kTitle);
const auto* new_node = Add(url, kTitle1); const auto* new_node = manager()->Add(url, kTitle1);
EXPECT_EQ(node, new_node) << "Add same URL shouldn't invalidate pointers."; EXPECT_EQ(node, new_node) << "Add same URL shouldn't invalidate pointers.";
EXPECT_EQ(kTitle1, base::UTF16ToUTF8(node->GetTitle())); EXPECT_EQ(kTitle1, base::UTF16ToUTF8(node->GetTitle()));
} }
...@@ -179,15 +163,14 @@ TEST_F(ReadingListManagerImplTest, AddTwice) { ...@@ -179,15 +163,14 @@ TEST_F(ReadingListManagerImplTest, AddTwice) {
// Verifes SetReadStatus()/GetReadStatus() API. // Verifes SetReadStatus()/GetReadStatus() API.
TEST_F(ReadingListManagerImplTest, ReadStatus) { TEST_F(ReadingListManagerImplTest, ReadStatus) {
GURL url(kURL); GURL url(kURL);
// No op when no reading list entries.
manager()->SetReadStatus(url, true); manager()->SetReadStatus(url, true);
EXPECT_EQ(0u, manager()->size()); EXPECT_EQ(0u, manager()->size());
// Add a node and mark as read. // Add a node.
Add(url, kTitle); manager()->Add(url, kTitle);
SetReadStatus(url, true); manager()->SetReadStatus(url, true);
// Mark as read.
const BookmarkNode* node = manager()->Get(url); const BookmarkNode* node = manager()->Get(url);
ASSERT_TRUE(node); ASSERT_TRUE(node);
EXPECT_EQ(url, node->url()); EXPECT_EQ(url, node->url());
...@@ -198,7 +181,7 @@ TEST_F(ReadingListManagerImplTest, ReadStatus) { ...@@ -198,7 +181,7 @@ TEST_F(ReadingListManagerImplTest, ReadStatus) {
EXPECT_TRUE(manager()->GetReadStatus(node)); EXPECT_TRUE(manager()->GetReadStatus(node));
// Mark as unread. // Mark as unread.
SetReadStatus(url, false); manager()->SetReadStatus(url, false);
node = manager()->Get(url); node = manager()->Get(url);
node->GetMetaInfo(kReadStatusKey, &read_status); node->GetMetaInfo(kReadStatusKey, &read_status);
EXPECT_EQ(kReadStatusUnread, read_status); EXPECT_EQ(kReadStatusUnread, read_status);
...@@ -218,7 +201,6 @@ TEST_F(ReadingListManagerImplTest, ReadStatus) { ...@@ -218,7 +201,6 @@ TEST_F(ReadingListManagerImplTest, ReadStatus) {
// reading list entry from |reading_list_model_|. // reading list entry from |reading_list_model_|.
TEST_F(ReadingListManagerImplTest, ReadingListDidAddEntry) { TEST_F(ReadingListManagerImplTest, ReadingListDidAddEntry) {
GURL url(kURL); GURL url(kURL);
EXPECT_CALL(*observer(), ReadingListChanged()).RetiresOnSaturation();
reading_list_model()->AddEntry(url, kTitle, reading_list::ADDED_VIA_SYNC); reading_list_model()->AddEntry(url, kTitle, reading_list::ADDED_VIA_SYNC);
const auto* node = manager()->Get(url); const auto* node = manager()->Get(url);
...@@ -233,13 +215,13 @@ TEST_F(ReadingListManagerImplTest, ReadingListWillRemoveEntry) { ...@@ -233,13 +215,13 @@ TEST_F(ReadingListManagerImplTest, ReadingListWillRemoveEntry) {
GURL url(kURL); GURL url(kURL);
// Adds a node. // Adds a node.
const auto* node = Add(url, kTitle); manager()->Add(url, kTitle);
const auto* node = manager()->Get(url);
EXPECT_TRUE(node); EXPECT_TRUE(node);
EXPECT_EQ(url, node->url()); EXPECT_EQ(url, node->url());
EXPECT_EQ(1u, manager()->size()); EXPECT_EQ(1u, manager()->size());
// Removes it from |reading_list_model_|. // Removes it from |reading_list_model_|.
EXPECT_CALL(*observer(), ReadingListChanged()).RetiresOnSaturation();
reading_list_model()->RemoveEntryByURL(url); reading_list_model()->RemoveEntryByURL(url);
node = manager()->Get(url); node = manager()->Get(url);
EXPECT_FALSE(node); EXPECT_FALSE(node);
...@@ -252,11 +234,12 @@ TEST_F(ReadingListManagerImplTest, ReadingListWillMoveEntry) { ...@@ -252,11 +234,12 @@ TEST_F(ReadingListManagerImplTest, ReadingListWillMoveEntry) {
GURL url(kURL); GURL url(kURL);
// Adds a node. // Adds a node.
const auto* node = Add(url, kTitle); manager()->Add(url, kTitle);
const auto* node = manager()->Get(url);
EXPECT_TRUE(node); EXPECT_TRUE(node);
EXPECT_FALSE(manager()->GetReadStatus(node)); EXPECT_FALSE(manager()->GetReadStatus(node));
SetReadStatus(url, true); reading_list_model()->SetReadStatus(url, true);
EXPECT_TRUE(manager()->GetReadStatus(node)); EXPECT_TRUE(manager()->GetReadStatus(node));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment