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

Unified Diff: chrome/browser/ui/extensions/extension_installed_bubble.cc

Issue 2793443003: Removed NOTIFICATION_BROWSER_CLOSING notification (Closed)
Patch Set: Removed unused headers from unload controllers Created 3 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/ui/extensions/extension_installed_bubble.cc
diff --git a/chrome/browser/ui/extensions/extension_installed_bubble.cc b/chrome/browser/ui/extensions/extension_installed_bubble.cc
index 7c281addec644fbefc59cdff44e291e00d665445..db32b6a81d13b9d5c0c17ce8f967c7799152b1a4 100644
--- a/chrome/browser/ui/extensions/extension_installed_bubble.cc
+++ b/chrome/browser/ui/extensions/extension_installed_bubble.cc
@@ -19,6 +19,8 @@
#include "chrome/browser/extensions/api/commands/command_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_list.h"
+#include "chrome/browser/ui/browser_list_observer.h"
#include "chrome/browser/ui/sync/sync_promo_ui.h"
#include "chrome/common/extensions/api/extension_action/action_info.h"
#include "chrome/common/extensions/api/omnibox/omnibox_handler.h"
@@ -43,7 +45,7 @@ const int kAnimationWaitRetries = 10;
// Class responsible for showing the bubble after it's installed. Owns itself.
class ExtensionInstalledBubbleObserver
- : public content::NotificationObserver,
+ : public chrome::BrowserListObserver,
public extensions::ExtensionRegistryObserver {
public:
explicit ExtensionInstalledBubbleObserver(
@@ -56,9 +58,7 @@ class ExtensionInstalledBubbleObserver
// wait on showing the Bubble until the EXTENSION_LOADED gets fired.
extension_registry_observer_.Add(
extensions::ExtensionRegistry::Get(bubble_->browser()->profile()));
-
- registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSING,
- content::Source<Browser>(bubble_->browser()));
+ BrowserList::AddObserver(this);
}
void Run() { OnExtensionLoaded(nullptr, bubble_->extension()); }
@@ -66,15 +66,13 @@ class ExtensionInstalledBubbleObserver
private:
~ExtensionInstalledBubbleObserver() override {}
- // content::NotificationObserver:
- void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) override {
- DCHECK_EQ(type, chrome::NOTIFICATION_BROWSER_CLOSING)
- << "Received unexpected notification";
- // Browser is closing before the bubble was shown.
- // TODO(hcarmona): Look into logging this with the BubbleManager.
- delete this;
+ // chrome::BrowserListObserver:
+ void OnBrowserCloseStarted(Browser* browser) override {
+ if (bubble_->browser() == browser) {
+ // Browser is closing before the bubble was shown.
+ // TODO(hcarmona): Look into logging this with the BubbleManager.
+ delete this;
+ }
}
// extensions::ExtensionRegistryObserver:
@@ -139,8 +137,6 @@ class ExtensionInstalledBubbleObserver
extensions::ExtensionRegistryObserver>
extension_registry_observer_;
- content::NotificationRegistrar registrar_;
-
// The number of times to retry showing the bubble if the bubble_->browser()
// action toolbar is animating.
int animation_wait_retries_;

Powered by Google App Engine
This is Rietveld 408576698