diff options
author | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-12 18:27:53 +0000 |
---|---|---|
committer | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-12 18:27:53 +0000 |
commit | 6d8ffc9f70711222db4aaaca570be0574e88de42 (patch) | |
tree | eafb5c341c9119e5c438025caa27dfda4902b096 /chrome/browser/automation/automation_provider_observers.h | |
parent | a9710f39948f20b8eb3d9897a692a594374ee576 (diff) | |
download | chromium_src-6d8ffc9f70711222db4aaaca570be0574e88de42.zip chromium_src-6d8ffc9f70711222db4aaaca570be0574e88de42.tar.gz chromium_src-6d8ffc9f70711222db4aaaca570be0574e88de42.tar.bz2 |
Add pyauto hooks for bookmarks.
Get model, add/remove, add folder, reparent, change title/url.
BUG=34492
Review URL: http://codereview.chromium.org/792003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41450 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation/automation_provider_observers.h')
-rw-r--r-- | chrome/browser/automation/automation_provider_observers.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/chrome/browser/automation/automation_provider_observers.h b/chrome/browser/automation/automation_provider_observers.h index 79c824d..0d75e70 100644 --- a/chrome/browser/automation/automation_provider_observers.h +++ b/chrome/browser/automation/automation_provider_observers.h @@ -8,6 +8,7 @@ #include <map> #include <set> +#include "chrome/browser/bookmarks/bookmark_model_observer.h" #include "chrome/common/notification_observer.h" #include "chrome/common/notification_registrar.h" #include "chrome/common/notification_type.h" @@ -405,4 +406,50 @@ class LoginManagerObserver : public NotificationObserver { }; #endif +// Waits for the bookmark model to load. +class AutomationProviderBookmarkModelObserver : BookmarkModelObserver { + public: + AutomationProviderBookmarkModelObserver(AutomationProvider* provider, + IPC::Message* reply_message, + BookmarkModel* model); + virtual ~AutomationProviderBookmarkModelObserver(); + + virtual void Loaded(BookmarkModel* model) { + ReplyAndDelete(true); + } + virtual void BookmarkModelBeingDeleted(BookmarkModel* model) { + ReplyAndDelete(false); + } + virtual void BookmarkNodeMoved(BookmarkModel* model, + const BookmarkNode* old_parent, + int old_index, + const BookmarkNode* new_parent, + int new_index) {} + virtual void BookmarkNodeAdded(BookmarkModel* model, + const BookmarkNode* parent, + int index) {} + virtual void BookmarkNodeRemoved(BookmarkModel* model, + const BookmarkNode* parent, + int old_index, + const BookmarkNode* node) {} + virtual void BookmarkNodeChanged(BookmarkModel* model, + const BookmarkNode* node) {} + virtual void BookmarkNodeFavIconLoaded(BookmarkModel* model, + const BookmarkNode* node) {} + virtual void BookmarkNodeChildrenReordered(BookmarkModel* model, + const BookmarkNode* node) {} + + private: + // Reply to the automation message with the given success value, + // then delete myself (which removes myself from the bookmark model + // observer list). + void ReplyAndDelete(bool success); + + scoped_refptr<AutomationProvider> automation_provider_; + IPC::Message* reply_message_; + BookmarkModel* model_; + + DISALLOW_COPY_AND_ASSIGN(AutomationProviderBookmarkModelObserver); +}; + #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_ |