bookmark_undo_delegate.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2015 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UNDO_DELEGATE_H_
  5. #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UNDO_DELEGATE_H_
  6. #include <memory>
  7. namespace bookmarks {
  8. class BookmarkModel;
  9. class BookmarkNode;
  10. class BookmarkUndoProvider;
  11. // Delegate to handle bookmark change events in order to support undo when
  12. // requested.
  13. class BookmarkUndoDelegate {
  14. public:
  15. virtual ~BookmarkUndoDelegate() {}
  16. // Sets the provider that will do the undo work.
  17. virtual void SetUndoProvider(BookmarkUndoProvider* provider) = 0;
  18. // Called when |node| was removed from |parent| at position |index|.
  19. virtual void OnBookmarkNodeRemoved(BookmarkModel* model,
  20. const BookmarkNode* parent,
  21. size_t index,
  22. std::unique_ptr<BookmarkNode> node) = 0;
  23. };
  24. } // namespace bookmarks
  25. #endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UNDO_DELEGATE_H_