diff options
author | yoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-28 17:36:10 +0000 |
---|---|---|
committer | yoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-28 17:36:10 +0000 |
commit | f825df2b1438559506e0a8511ad371daac41d2d1 (patch) | |
tree | 36a7964f87d0b6ab6c6ee64344c165112948d410 /chrome/browser/extensions/extension_bookmarks_module.h | |
parent | be843e26b00f611d3bcf3b2652b8eccf95310346 (diff) | |
download | chromium_src-f825df2b1438559506e0a8511ad371daac41d2d1.zip chromium_src-f825df2b1438559506e0a8511ad371daac41d2d1.tar.gz chromium_src-f825df2b1438559506e0a8511ad371daac41d2d1.tar.bz2 |
Revert "Revert "Change extension event routers to not be singletons and to be more profile-aware.""
This time, we handle incognito profiles correctly (see comment in 57186).
This reverts commit 4b62f4fb0fe15eee4e573f7182552a7bd2125262.
BUG=57186, 87145
TEST=existing tests
Review URL: http://codereview.chromium.org/7230035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90789 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 | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/chrome/browser/extensions/extension_bookmarks_module.h b/chrome/browser/extensions/extension_bookmarks_module.h index 48be1b7..079656e 100644 --- a/chrome/browser/extensions/extension_bookmarks_module.h +++ b/chrome/browser/extensions/extension_bookmarks_module.h @@ -12,7 +12,6 @@ #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" -#include "base/memory/singleton.h" #include "chrome/browser/bookmarks/bookmark_model_observer.h" #include "chrome/browser/extensions/extension_function.h" #include "chrome/browser/ui/shell_dialogs.h" @@ -25,16 +24,14 @@ class FilePath; // the extension system. class ExtensionBookmarkEventRouter : public BookmarkModelObserver { public: - static ExtensionBookmarkEventRouter* GetInstance(); + explicit ExtensionBookmarkEventRouter(BookmarkModel* model); virtual ~ExtensionBookmarkEventRouter(); - // Call this for each model to observe. Safe to call multiple times per - // model. - void Observe(BookmarkModel* model); + void Init(); // BookmarkModelObserver: virtual void Loaded(BookmarkModel* model) OVERRIDE; - virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE {} + virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE; virtual void BookmarkNodeMoved(BookmarkModel* model, const BookmarkNode* old_parent, int old_index, @@ -57,18 +54,12 @@ class ExtensionBookmarkEventRouter : public BookmarkModelObserver { virtual void BookmarkImportEnding(BookmarkModel* model) OVERRIDE; private: - ExtensionBookmarkEventRouter(); - friend struct DefaultSingletonTraits<ExtensionBookmarkEventRouter>; - // Helper to actually dispatch an event to extension listeners. void DispatchEvent(Profile* profile, const char* event_name, const std::string& json_args); - // These are stored so that Observe can be called multiple times safely. - // This way the caller doesn't have to know whether it's already observing - // a particular model or not. The pointers are not owned by this object. - std::set<BookmarkModel*> models_; + BookmarkModel* model_; DISALLOW_COPY_AND_ASSIGN(ExtensionBookmarkEventRouter); }; |