Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1083)

Unified Diff: chrome/browser/extensions/activity_log/activity_log.cc

Issue 298023009: Remove InstallTracker's extension load, unload observer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: OnShutdown again Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 9b8d5836212dd4dee5aff690c9906330c93683f8..83935ca88ddc84becb141f594be666a68cfb3882 100644
--- a/chrome/browser/extensions/activity_log/activity_log.cc
+++ b/chrome/browser/extensions/activity_log/activity_log.cc
@@ -19,8 +19,6 @@
#include "chrome/browser/extensions/activity_log/fullstream_ui_policy.h"
#include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h"
#include "chrome/browser/extensions/extension_tab_util.h"
-#include "chrome/browser/extensions/install_tracker.h"
-#include "chrome/browser/extensions/install_tracker_factory.h"
#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/browser/prerender/prerender_manager.h"
#include "chrome/browser/prerender/prerender_manager_factory.h"
@@ -32,6 +30,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/extension_registry.h"
+#include "extensions/browser/extension_registry_factory.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/extension_system_provider.h"
#include "extensions/browser/extensions_browser_client.h"
@@ -361,7 +360,7 @@ ActivityLog::ActivityLog(content::BrowserContext* context)
db_enabled_(false),
testing_mode_(false),
has_threads_(true),
- tracker_(NULL),
+ extension_registry_observer_(this),
watchdog_apps_active_(0) {
// This controls whether logging statements are printed & which policy is set.
testing_mode_ = CommandLine::ForCurrentProcess()->HasSwitch(
@@ -393,7 +392,7 @@ ActivityLog::ActivityLog(content::BrowserContext* context)
ExtensionSystem::Get(profile_)->ready().Post(
FROM_HERE,
- base::Bind(&ActivityLog::InitInstallTracker, base::Unretained(this)));
+ base::Bind(&ActivityLog::StartObserving, base::Unretained(this)));
// None of this should run on Android since the AL is behind ENABLE_EXTENSION
// checks. However, UmaPolicy can't even compile on Android because it uses
@@ -438,12 +437,6 @@ void ActivityLog::SetDatabasePolicy(
database_policy_type_ = policy_type;
}
-// SHUT DOWN. ------------------------------------------------------------------
-
-void ActivityLog::Shutdown() {
- if (tracker_) tracker_->RemoveObserver(this);
-}
-
ActivityLog::~ActivityLog() {
if (uma_policy_)
uma_policy_->Close();
@@ -453,9 +446,8 @@ ActivityLog::~ActivityLog() {
// MAINTAIN STATUS. ------------------------------------------------------------
-void ActivityLog::InitInstallTracker() {
- tracker_ = InstallTrackerFactory::GetForProfile(profile_);
- tracker_->AddObserver(this);
+void ActivityLog::StartObserving() {
+ extension_registry_observer_.Add(ExtensionRegistry::Get(profile_));
}
void ActivityLog::ChooseDatabasePolicy() {
@@ -481,7 +473,8 @@ void ActivityLog::SetWatchdogAppActiveForTesting(bool active) {
watchdog_apps_active_ = active ? 1 : 0;
}
-void ActivityLog::OnExtensionLoaded(const Extension* extension) {
+void ActivityLog::OnExtensionLoaded(content::BrowserContext* browser_context,
+ const Extension* extension) {
if (!ActivityLogAPI::IsExtensionWhitelisted(extension->id())) return;
if (has_threads_)
db_enabled_ = true;
@@ -492,7 +485,9 @@ void ActivityLog::OnExtensionLoaded(const Extension* extension) {
ChooseDatabasePolicy();
}
-void ActivityLog::OnExtensionUnloaded(const Extension* extension) {
+void ActivityLog::OnExtensionUnloaded(content::BrowserContext* browser_context,
+ const Extension* extension,
+ UnloadedExtensionInfo::Reason reason) {
if (!ActivityLogAPI::IsExtensionWhitelisted(extension->id())) return;
watchdog_apps_active_--;
profile_->GetPrefs()->SetInteger(prefs::kWatchdogExtensionActive,
@@ -505,7 +500,9 @@ void ActivityLog::OnExtensionUnloaded(const Extension* extension) {
}
// OnExtensionUnloaded will also be called right before this.
-void ActivityLog::OnExtensionUninstalled(const Extension* extension) {
+void ActivityLog::OnExtensionUninstalled(
+ content::BrowserContext* browser_context,
+ const Extension* extension) {
if (ActivityLogAPI::IsExtensionWhitelisted(extension->id()) &&
!CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableExtensionActivityLogging) &&
@@ -697,7 +694,7 @@ void ActivityLog::DeleteDatabase() {
template <>
void BrowserContextKeyedAPIFactory<ActivityLog>::DeclareFactoryDependencies() {
DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
- DependsOn(InstallTrackerFactory::GetInstance());
+ DependsOn(ExtensionRegistryFactory::GetInstance());
}
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698