summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_bookmarks_module.h
diff options
context:
space:
mode:
authoryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-28 17:36:10 +0000
committeryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-28 17:36:10 +0000
commitf825df2b1438559506e0a8511ad371daac41d2d1 (patch)
tree36a7964f87d0b6ab6c6ee64344c165112948d410 /chrome/browser/extensions/extension_bookmarks_module.h
parentbe843e26b00f611d3bcf3b2652b8eccf95310346 (diff)
downloadchromium_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.h17
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);
};