| 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 af414bde030672a3438e2160e4a51fbf3855d741..8a32d971b2f603c31107d4ad51d5b0081a617f13 100644
|
| --- a/chrome/browser/ui/views/toolbar_view.cc
|
| +++ b/chrome/browser/ui/views/toolbar_view.cc
|
| @@ -60,7 +60,9 @@
|
| #include "ui/views/window/non_client_view.h"
|
|
|
| #if defined(OS_WIN)
|
| +#include "base/win/windows_version.h"
|
| #include "chrome/browser/enumerate_modules_model_win.h"
|
| +#include "chrome/browser/ui/views/conflicting_module_view_win.h"
|
| #include "chrome/browser/ui/views/critical_notification_bubble_view.h"
|
| #if !defined(USE_AURA)
|
| #include "chrome/browser/ui/views/app_menu_button_win.h"
|
| @@ -175,6 +177,10 @@ ToolbarView::ToolbarView(Browser* browser)
|
| #if defined(OS_WIN)
|
| registrar_.Add(this, chrome::NOTIFICATION_CRITICAL_UPGRADE_INSTALLED,
|
| content::NotificationService::AllSources());
|
| + if (base::win::GetVersion() == base::win::VERSION_XP) {
|
| + registrar_.Add(this, chrome::NOTIFICATION_MODULE_LIST_ENUMERATED,
|
| + content::NotificationService::AllSources());
|
| + }
|
| #endif
|
| registrar_.Add(this,
|
| chrome::NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
|
| @@ -461,6 +467,7 @@ void ToolbarView::Observe(int type,
|
| case chrome::NOTIFICATION_UPGRADE_RECOMMENDED:
|
| case chrome::NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE:
|
| case chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED:
|
| + case chrome::NOTIFICATION_MODULE_LIST_ENUMERATED:
|
| UpdateAppMenuState();
|
| break;
|
| case chrome::NOTIFICATION_OUTDATED_INSTALL:
|
| @@ -703,6 +710,7 @@ bool ToolbarView::ShouldShowUpgradeRecommended() {
|
| bool ToolbarView::ShouldShowIncompatibilityWarning() {
|
| #if defined(OS_WIN)
|
| EnumerateModulesModel* loaded_modules = EnumerateModulesModel::GetInstance();
|
| + loaded_modules->MaybePostScanningTask();
|
| return loaded_modules->ShouldShowConflictWarning();
|
| #else
|
| return false;
|
| @@ -788,8 +796,12 @@ void ToolbarView::UpdateWrenchButtonSeverity() {
|
| }
|
|
|
| if (ShouldShowIncompatibilityWarning()) {
|
| - if (!was_showing)
|
| + if (!was_showing) {
|
| content::RecordAction(UserMetricsAction("ConflictBadge"));
|
| +#if defined(OS_WIN)
|
| + ConflictingModuleView::MaybeShow(browser_, app_menu_);
|
| +#endif
|
| + }
|
| app_menu_->SetSeverity(WrenchIconPainter::SEVERITY_MEDIUM, true);
|
| incompatibility_badge_showing = true;
|
| return;
|
|
|