Index: chrome/browser/ui/hung_plugin_tab_helper.h |
diff --git a/chrome/browser/ui/hung_plugin_tab_helper.h b/chrome/browser/ui/hung_plugin_tab_helper.h |
index 6cf1a395a86f55ca1a1b4ab39cad98ea133ceec7..4c4864484ffb80d2c632a662f0c96b0923ae3d28 100644 |
--- a/chrome/browser/ui/hung_plugin_tab_helper.h |
+++ b/chrome/browser/ui/hung_plugin_tab_helper.h |
@@ -11,8 +11,7 @@ |
#include "base/strings/string16.h" |
#include "base/time/time.h" |
#include "base/timer/timer.h" |
-#include "content/public/browser/notification_observer.h" |
-#include "content/public/browser/notification_registrar.h" |
+#include "components/infobars/core/infobar_manager.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "content/public/browser/web_contents_user_data.h" |
@@ -37,8 +36,8 @@ class InfoBarDelegate; |
// - Hide the infobar if the plugin starts responding again. |
// - Keep track of all of this for any number of plugins. |
class HungPluginTabHelper |
- : public content::WebContentsObserver, |
- public content::NotificationObserver, |
+ : public infobars::InfoBarManager::Observer, |
+ public content::WebContentsObserver, |
public content::WebContentsUserData<HungPluginTabHelper> { |
public: |
virtual ~HungPluginTabHelper(); |
@@ -50,11 +49,6 @@ class HungPluginTabHelper |
const base::FilePath& plugin_path, |
bool is_hung) OVERRIDE; |
- // content::NotificationObserver: |
- virtual void Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) OVERRIDE; |
- |
// Called by an infobar when the user selects to kill the plugin. |
void KillPlugin(int child_id); |
@@ -77,11 +71,17 @@ class HungPluginTabHelper |
// be called even if the bar is not opened, in which case it will do nothing. |
void CloseBar(PluginState* state); |
- content::NotificationRegistrar registrar_; |
+ // infobars::InfoBarManager::Observer: |
+ virtual void OnInfoBarRemoved(infobars::InfoBar* infobar, |
+ bool animate) OVERRIDE; |
// All currently hung plugins. |
PluginStateMap hung_plugins_; |
+ // The number of hung plugin infobars open. We use this to determine when we |
+ // should remove ourselves as an observer of InfoBarManager notifications. |
Peter Kasting
2014/06/03 18:41:45
Nit: ourself
tfarina
2014/06/07 05:27:46
Done.
|
+ int number_of_infobars_; |
+ |
DISALLOW_COPY_AND_ASSIGN(HungPluginTabHelper); |
}; |