summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extensions_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extensions_service.cc')
-rw-r--r--chrome/browser/extensions/extensions_service.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc
index 7e66ee3..867fde5 100644
--- a/chrome/browser/extensions/extensions_service.cc
+++ b/chrome/browser/extensions/extensions_service.cc
@@ -24,6 +24,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"
@@ -261,6 +262,7 @@ void ExtensionsService::EnableExtension(const std::string& extension_id) {
extension->GetChromeURLOverrides());
NotifyExtensionLoaded(extension);
+ UpdateActiveExtensionsInCrashReporter();
}
void ExtensionsService::DisableExtension(const std::string& extension_id) {
@@ -285,6 +287,7 @@ void ExtensionsService::DisableExtension(const std::string& extension_id) {
extension->GetChromeURLOverrides());
NotifyExtensionUnloaded(extension);
+ UpdateActiveExtensionsInCrashReporter();
}
void ExtensionsService::LoadExtension(const FilePath& extension_path) {
@@ -503,6 +506,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,