Index: chrome/browser/extensions/extensions_service.cc |
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc |
index 09f964c9be53ed52df0ea7913cc4b52b550a7578..2ad639a8ca592e120ae6ce2fed2c0ad2f0e76e0d 100644 |
--- a/chrome/browser/extensions/extensions_service.cc |
+++ b/chrome/browser/extensions/extensions_service.cc |
@@ -26,6 +26,7 @@ |
#include "chrome/browser/extensions/external_pref_extension_provider.h" |
#include "chrome/browser/profile.h" |
#include "chrome/browser/net/chrome_url_request_context.h" |
+#include "chrome/common/child_process_logging.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/extensions/extension.h" |
#include "chrome/common/extensions/extension_constants.h" |
@@ -257,6 +258,7 @@ void ExtensionsService::EnableExtension(const std::string& extension_id) { |
extension->GetChromeURLOverrides()); |
NotifyExtensionLoaded(extension); |
+ UpdateActiveExtensionsInCrashReporter(); |
} |
void ExtensionsService::DisableExtension(const std::string& extension_id) { |
@@ -281,6 +283,7 @@ void ExtensionsService::DisableExtension(const std::string& extension_id) { |
extension->GetChromeURLOverrides()); |
NotifyExtensionUnloaded(extension); |
+ UpdateActiveExtensionsInCrashReporter(); |
} |
void ExtensionsService::LoadExtension(const FilePath& extension_path) { |
@@ -499,6 +502,7 @@ void ExtensionsService::UnloadExtension(const std::string& extension_id) { |
extensions_.erase(iter); |
NotifyExtensionUnloaded(extension.get()); |
+ UpdateActiveExtensionsInCrashReporter(); |
} |
void ExtensionsService::UnloadAllExtensions() { |
@@ -622,6 +626,18 @@ void ExtensionsService::OnExtensionLoaded(Extension* extension, |
break; |
} |
} |
+ |
+ UpdateActiveExtensionsInCrashReporter(); |
+} |
+ |
+void ExtensionsService::UpdateActiveExtensionsInCrashReporter() { |
+ std::vector<std::string> extension_ids; |
+ for (size_t i = 0; i < extensions_.size(); ++i) { |
+ if (!extensions_[i]->IsTheme()) |
+ extension_ids.push_back(extensions_[i]->id()); |
+ } |
+ |
+ child_process_logging::SetActiveExtensions(extension_ids); |
} |
void ExtensionsService::OnExtensionInstalled(Extension* extension, |