Index: chrome/browser/ui/views/toolbar_view.cc |
diff --git a/chrome/browser/ui/views/toolbar_view.cc b/chrome/browser/ui/views/toolbar_view.cc |
index f59d27c6eaf4f6044506874b45e09eb271034554..93b4d184f43d271640de57cb891f271017bd0bc4 100644 |
--- a/chrome/browser/ui/views/toolbar_view.cc |
+++ b/chrome/browser/ui/views/toolbar_view.cc |
@@ -60,6 +60,7 @@ |
#if defined(OS_WIN) |
#include "chrome/browser/enumerate_modules_model_win.h" |
#include "chrome/browser/ui/views/critical_notification_bubble_view.h" |
+#include "chrome/browser/ui/views/outdated_upgrade_bubble_view.h" |
#if !defined(USE_AURA) |
#include "chrome/browser/ui/views/app_menu_button_win.h" |
#endif |
@@ -191,6 +192,8 @@ ToolbarView::ToolbarView(Browser* browser) |
#if defined(OS_WIN) |
registrar_.Add(this, chrome::NOTIFICATION_CRITICAL_UPGRADE_INSTALLED, |
content::NotificationService::AllSources()); |
+ registrar_.Add(this, chrome::NOTIFICATION_OUTDATED_INSTALL, |
+ content::NotificationService::AllSources()); |
#endif |
registrar_.Add(this, |
chrome::NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE, |
@@ -552,6 +555,9 @@ void ToolbarView::Observe(int type, |
case chrome::NOTIFICATION_CRITICAL_UPGRADE_INSTALLED: |
ShowCriticalNotification(); |
break; |
+ case chrome::NOTIFICATION_OUTDATED_INSTALL: |
+ ShowOutdatedInstallNotification(); |
+ break; |
#endif |
default: |
NOTREACHED(); |
@@ -886,10 +892,20 @@ void ToolbarView::LoadImages() { |
void ToolbarView::ShowCriticalNotification() { |
#if defined(OS_WIN) |
- CriticalNotificationBubbleView* bubble_delegate = |
- new CriticalNotificationBubbleView(app_menu_); |
- views::BubbleDelegateView::CreateBubble(bubble_delegate); |
- bubble_delegate->StartFade(true); |
+ // The upgrade bubble shows up on start up, so should always be there before |
+ // we try to show the CriticalNotificationBubbleView, and never after. |
+ if (!OutdatedUpgradeBubbleView::IsShowing()) { |
+ CriticalNotificationBubbleView* bubble_delegate = |
+ new CriticalNotificationBubbleView(app_menu_); |
+ views::BubbleDelegateView::CreateBubble(bubble_delegate); |
+ bubble_delegate->StartFade(true); |
+ } |
+#endif |
+} |
+ |
+void ToolbarView::ShowOutdatedInstallNotification() { |
+#if defined(OS_WIN) |
+ OutdatedUpgradeBubbleView::ShowBubble(app_menu_, browser_); |
#endif |
} |