Index: components/offline_pages/offline_page_model.cc |
diff --git a/components/offline_pages/offline_page_model.cc b/components/offline_pages/offline_page_model.cc |
index 14530042f5f892a163c81d0294aa9559f27111c5..906df2e19fb67637a7f217d0611ae47a43eac9e4 100644 |
--- a/components/offline_pages/offline_page_model.cc |
+++ b/components/offline_pages/offline_page_model.cc |
@@ -472,6 +472,16 @@ void OfflinePageModel::BookmarkNodeRemoved( |
MarkPageForDeletion(node->id(), base::Bind(&EmptyDeleteCallback)); |
} |
+void OfflinePageModel::BookmarkNodeChanged( |
+ bookmarks::BookmarkModel* model, |
+ const bookmarks::BookmarkNode* node) { |
+ // BookmarkNodeChanged could be triggered if title or URL gets changed. If |
+ // the latter, we need to invalidate the offline copy. |
+ DCHECK(offline_pages_.count(node->id()) > 0); |
+ if (offline_pages_[node->id()].url != node->url()) |
+ DeletePageByBookmarkId(node->id(), DeletePageCallback()); |
+} |
+ |
void OfflinePageModel::OnEnsureArchivesDirCreatedDone() { |
store_->Load(base::Bind(&OfflinePageModel::OnLoadDone, |
weak_ptr_factory_.GetWeakPtr())); |