Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1663)

Unified Diff: chrome/browser/extensions/api/omnibox/omnibox_api.h

Issue 244473002: Remove NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED from c/b/e/api (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: feedback Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/omnibox/omnibox_api.h
diff --git a/chrome/browser/extensions/api/omnibox/omnibox_api.h b/chrome/browser/extensions/api/omnibox/omnibox_api.h
index 2949990c00d1f06d298ae297e96a55ad393ac81b..d008abdf54269843f9c34fa3fd91ad1cfa4d3e87 100644
--- a/chrome/browser/extensions/api/omnibox/omnibox_api.h
+++ b/chrome/browser/extensions/api/omnibox/omnibox_api.h
@@ -7,18 +7,17 @@
#include <set>
#include <string>
-#include <vector>
#include "base/memory/scoped_ptr.h"
+#include "base/scoped_observer.h"
#include "base/strings/string16.h"
#include "chrome/browser/autocomplete/autocomplete_match.h"
#include "chrome/browser/extensions/chrome_extension_function.h"
#include "chrome/browser/extensions/extension_icon_manager.h"
#include "chrome/browser/search_engines/template_url_service.h"
#include "chrome/common/extensions/api/omnibox.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
+#include "extensions/browser/extension_registry_observer.h"
#include "ui/base/window_open_disposition.h"
class Profile;
@@ -39,6 +38,7 @@ class Image;
}
namespace extensions {
+class ExtensionRegistry;
// Event router class for events related to the omnibox API.
class ExtensionOmniboxEventRouter {
@@ -84,7 +84,7 @@ class OmniboxSendSuggestionsFunction : public ChromeSyncExtensionFunction {
};
class OmniboxAPI : public BrowserContextKeyedAPI,
- public content::NotificationObserver {
+ public ExtensionRegistryObserver {
public:
explicit OmniboxAPI(content::BrowserContext* context);
virtual ~OmniboxAPI();
@@ -95,11 +95,6 @@ class OmniboxAPI : public BrowserContextKeyedAPI,
// Convenience method to get the OmniboxAPI for a profile.
static OmniboxAPI* Get(content::BrowserContext* context);
- // content::NotificationObserver implementation.
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
-
// KeyedService implementation.
virtual void Shutdown() OVERRIDE;
@@ -117,6 +112,14 @@ class OmniboxAPI : public BrowserContextKeyedAPI,
void OnTemplateURLsLoaded();
+ // ExtensionRegistryObserver implementation.
+ virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
+ const Extension* extension) OVERRIDE;
+ virtual void OnExtensionUnloaded(
+ content::BrowserContext* browser_context,
+ const Extension* extension,
+ UnloadedExtensionInfo::Reason reason) OVERRIDE;
+
// BrowserContextKeyedAPI implementation.
static const char* service_name() {
return "OmniboxAPI";
@@ -131,7 +134,9 @@ class OmniboxAPI : public BrowserContextKeyedAPI,
// have keywords registered.
PendingExtensions pending_extensions_;
- content::NotificationRegistrar registrar_;
+ // Listen to extension load, unloaded notifications.
+ ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver>
+ extension_registry_observer_;
// Keeps track of favicon-sized omnibox icons for extensions.
ExtensionIconManager omnibox_icon_manager_;
« no previous file with comments | « chrome/browser/extensions/api/downloads/downloads_api.cc ('k') | chrome/browser/extensions/api/omnibox/omnibox_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698