diff options
author | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-05 19:07:01 +0000 |
---|---|---|
committer | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-05 19:07:01 +0000 |
commit | 32dda3615ecec2a9f0ce3318658588b4103d997d (patch) | |
tree | 0705a3eeb8f48c52329a1dcc5804aee59d80966a /chrome/browser/extensions/extension_bookmarks_module.h | |
parent | c2f5dd7f69af7a59321e5acd1aa39fea5b2b2bfd (diff) | |
download | chromium_src-32dda3615ecec2a9f0ce3318658588b4103d997d.zip chromium_src-32dda3615ecec2a9f0ce3318658588b4103d997d.tar.gz chromium_src-32dda3615ecec2a9f0ce3318658588b4103d997d.tar.bz2 |
Make AsyncExtensionFunction possible.
Change the bookmarks API to be async functions, so that they can delay their
response until the bookmark system is loaded.
BUG=12353
TEST=none
Review URL: http://codereview.chromium.org/114079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17751 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_bookmarks_module.h')
-rw-r--r-- | chrome/browser/extensions/extension_bookmarks_module.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_bookmarks_module.h b/chrome/browser/extensions/extension_bookmarks_module.h index a2b6a084..5a22f58 100644 --- a/chrome/browser/extensions/extension_bookmarks_module.h +++ b/chrome/browser/extensions/extension_bookmarks_module.h @@ -12,6 +12,7 @@ #include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/extensions/extension_function.h" #include "chrome/browser/extensions/extension_tabs_module.h" +#include "chrome/common/notification_registrar.h" // Observes BookmarkModel and then routes the notifications as events to // the extension system. @@ -68,8 +69,16 @@ class ExtensionBookmarkEventRouter : public BookmarkModelObserver { DISALLOW_COPY_AND_ASSIGN(ExtensionBookmarkEventRouter); }; -class BookmarksFunction : public SyncExtensionFunction { +class BookmarksFunction : public AsyncExtensionFunction, + public NotificationObserver { virtual void Run(); + virtual bool RunImpl() = 0; + + private: + virtual void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details); + NotificationRegistrar registrar_; }; class GetBookmarksFunction : public BookmarksFunction { |