Index: chrome/browser/extensions/activity_log/activity_log.cc |
diff --git a/chrome/browser/extensions/activity_log/activity_log.cc b/chrome/browser/extensions/activity_log/activity_log.cc |
index 204ef3a31423d7c6e30da5846ee312a1178cfe2d..bf01a8e722f5ca6cb68805f16be058991a0de541 100644 |
--- a/chrome/browser/extensions/activity_log/activity_log.cc |
+++ b/chrome/browser/extensions/activity_log/activity_log.cc |
@@ -171,6 +171,11 @@ ActivityLogFactory::ActivityLogFactory() |
DependsOn(InstallTrackerFactory::GetInstance()); |
} |
+// static |
+ActivityLog* ActivityLog::GetInstance(Profile* profile) { |
+ return ActivityLogFactory::GetForProfile(profile); |
+} |
+ |
ActivityLogFactory::~ActivityLogFactory() { |
} |
@@ -315,18 +320,15 @@ void ActivityLog::OnExtensionUnloaded(const Extension* extension) { |
void ActivityLog::OnExtensionUninstalled(const Extension* extension) { |
// If the extension has been uninstalled but not disabled, we delete the |
// database. |
- if (extension->id() != kActivityLogExtensionId) return; |
- if (!CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableExtensionActivityLogging)) { |
- DeleteDatabase(); |
+ if (policy_ && extension->id() != kActivityLogExtensionId) |
+ policy_->RemoveExtensionData(extension->id()); |
+ if ((extension->id() == kActivityLogExtensionId) && |
+ (!CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableExtensionActivityLogging))) { |
+ DeleteDatabase(); |
} |
} |
-// static |
-ActivityLog* ActivityLog::GetInstance(Profile* profile) { |
- return ActivityLogFactory::GetForProfile(profile); |
-} |
- |
void ActivityLog::AddObserver(ActivityLog::Observer* observer) { |
observers_->AddObserver(observer); |
} |