Index: chrome/browser/ui/browser.h |
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h |
index 342fbf43b45a0706061dc61f7168d6efa8125f54..a5e7224e353f331fbad7361d96d7a74b42fe91c5 100644 |
--- a/chrome/browser/ui/browser.h |
+++ b/chrome/browser/ui/browser.h |
@@ -17,6 +17,7 @@ |
#include "base/memory/weak_ptr.h" |
#include "base/prefs/pref_change_registrar.h" |
#include "base/prefs/pref_member.h" |
+#include "base/scoped_observer.h" |
#include "base/strings/string16.h" |
#include "chrome/browser/devtools/devtools_toggle_action.h" |
#include "chrome/browser/ui/bookmarks/bookmark_bar.h" |
@@ -39,6 +40,7 @@ |
#include "content/public/browser/web_contents_delegate.h" |
#include "content/public/common/page_transition_types.h" |
#include "content/public/common/page_zoom.h" |
+#include "extensions/browser/extension_registry_observer.h" |
#include "ui/base/ui_base_types.h" |
#include "ui/base/window_open_disposition.h" |
#include "ui/gfx/rect.h" |
@@ -77,6 +79,7 @@ class SessionStorageNamespace; |
namespace extensions { |
class Extension; |
+class ExtensionRegistry; |
class WindowController; |
} |
@@ -105,6 +108,7 @@ class Browser : public TabStripModelObserver, |
public ZoomObserver, |
public content::PageNavigator, |
public content::NotificationObserver, |
+ public extensions::ExtensionRegistryObserver, |
public ui::SelectFileDialog::Listener { |
public: |
// SessionService::WindowType mirrors these values. If you add to this |
@@ -703,6 +707,21 @@ class Browser : public TabStripModelObserver, |
int index, |
void* params) OVERRIDE; |
+ // extensions::ExtensionRegistryObserver: |
+ virtual void OnExtensionUninstalled( |
+ content::BrowserContext* browser_context, |
+ const extensions::Extension* extension, |
+ extensions::UninstallReason reason) OVERRIDE; |
+ |
+ virtual void OnExtensionUnloaded( |
+ content::BrowserContext* browser_context, |
+ const extensions::Extension* extension, |
+ extensions::UnloadedExtensionInfo::Reason reason) OVERRIDE; |
+ |
+ virtual void OnExtensionLoaded( |
+ content::BrowserContext* browser_context, |
+ const extensions::Extension* extension) OVERRIDE; |
+ |
// Overridden from content::NotificationObserver: |
virtual void Observe(int type, |
const content::NotificationSource& source, |
@@ -821,6 +840,11 @@ class Browser : public TabStripModelObserver, |
content::NotificationRegistrar registrar_; |
+ // An observer to listen when extension is uninstalled. |
+ ScopedObserver<extensions::ExtensionRegistry, |
+ extensions::ExtensionRegistryObserver> |
+ extension_registry_observer_; |
+ |
PrefChangeRegistrar profile_pref_registrar_; |
// This Browser's type. |