| Index: chrome/browser/browser.cc
|
| diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
|
| index ccfe66511870da13fffc52e103d6e7890edf2e7d..43a232c144328242bd6454bce16875c954cc98c0 100644
|
| --- a/chrome/browser/browser.cc
|
| +++ b/chrome/browser/browser.cc
|
| @@ -24,6 +24,7 @@
|
| #include "chrome/browser/download/download_manager.h"
|
| #include "chrome/browser/download/download_shelf.h"
|
| #include "chrome/browser/download/download_started_animation.h"
|
| +#include "chrome/browser/extensions/crashed_extension_infobar.h"
|
| #include "chrome/browser/extensions/extension_disabled_infobar_delegate.h"
|
| #include "chrome/browser/find_bar.h"
|
| #include "chrome/browser/find_bar_controller.h"
|
| @@ -195,6 +196,8 @@ Browser::Browser(Type type, Profile* profile)
|
| NotificationService::AllSources());
|
| registrar_.Add(this, NotificationType::EXTENSION_UNLOADED,
|
| NotificationService::AllSources());
|
| + registrar_.Add(this, NotificationType::EXTENSION_PROCESS_CRASHED,
|
| + NotificationService::AllSources());
|
| registrar_.Add(this, NotificationType::BROWSER_THEME_CHANGED,
|
| NotificationService::AllSources());
|
|
|
| @@ -2095,6 +2098,18 @@ void Browser::Observe(NotificationType type,
|
| break;
|
| }
|
|
|
| + case NotificationType::EXTENSION_PROCESS_CRASHED: {
|
| + TabContents* tab_contents = GetSelectedTabContents();
|
| + if (!tab_contents)
|
| + break;
|
| + ExtensionsService* extensions_service =
|
| + Source<ExtensionsService>(source).ptr();
|
| + ExtensionHost* extension_host = Details<ExtensionHost>(details).ptr();
|
| + tab_contents->AddInfoBar(new CrashedExtensionInfoBarDelegate(
|
| + tab_contents, extensions_service, extension_host->extension()));
|
| + break;
|
| + }
|
| +
|
| case NotificationType::BROWSER_THEME_CHANGED:
|
| window()->UserChangedTheme();
|
| break;
|
|
|