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

Side by Side Diff: chrome/browser/extensions/activity_log/activity_log.cc

Issue 23983014: [Activity Log] when extension is uninstalled, delete data about it (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed bug in test Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/extensions/activity_log/activity_log_policy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/activity_log/activity_log.h" 5 #include "chrome/browser/extensions/activity_log/activity_log.h"
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 } 295 }
296 296
297 ActivityLogFactory::ActivityLogFactory() 297 ActivityLogFactory::ActivityLogFactory()
298 : BrowserContextKeyedServiceFactory( 298 : BrowserContextKeyedServiceFactory(
299 "ActivityLog", 299 "ActivityLog",
300 BrowserContextDependencyManager::GetInstance()) { 300 BrowserContextDependencyManager::GetInstance()) {
301 DependsOn(ExtensionSystemFactory::GetInstance()); 301 DependsOn(ExtensionSystemFactory::GetInstance());
302 DependsOn(InstallTrackerFactory::GetInstance()); 302 DependsOn(InstallTrackerFactory::GetInstance());
303 } 303 }
304 304
305 // static
306 ActivityLog* ActivityLog::GetInstance(Profile* profile) {
307 return ActivityLogFactory::GetForProfile(profile);
308 }
309
305 ActivityLogFactory::~ActivityLogFactory() { 310 ActivityLogFactory::~ActivityLogFactory() {
306 } 311 }
307 312
308 // ActivityLog 313 // ActivityLog
309 314
310 // SET THINGS UP. -------------------------------------------------------------- 315 // SET THINGS UP. --------------------------------------------------------------
311 316
312 // Use GetInstance instead of directly creating an ActivityLog. 317 // Use GetInstance instead of directly creating an ActivityLog.
313 ActivityLog::ActivityLog(Profile* profile) 318 ActivityLog::ActivityLog(Profile* profile)
314 : policy_(NULL), 319 : policy_(NULL),
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 db_enabled_ = false; 442 db_enabled_ = false;
438 } 443 }
439 if (watchdog_app_active_) { 444 if (watchdog_app_active_) {
440 watchdog_app_active_ = false; 445 watchdog_app_active_ = false;
441 profile_->GetPrefs()->SetBoolean(prefs::kWatchdogExtensionActive, 446 profile_->GetPrefs()->SetBoolean(prefs::kWatchdogExtensionActive,
442 false); 447 false);
443 } 448 }
444 } 449 }
445 450
446 void ActivityLog::OnExtensionUninstalled(const Extension* extension) { 451 void ActivityLog::OnExtensionUninstalled(const Extension* extension) {
452 if (!policy_)
453 return;
447 // If the extension has been uninstalled but not disabled, we delete the 454 // If the extension has been uninstalled but not disabled, we delete the
448 // database. 455 // database.
449 if (extension->id() != kActivityLogExtensionId) return; 456 if (extension->id() == kActivityLogExtensionId) {
450 if (!CommandLine::ForCurrentProcess()->HasSwitch( 457 if (!CommandLine::ForCurrentProcess()->HasSwitch(
451 switches::kEnableExtensionActivityLogging)) { 458 switches::kEnableExtensionActivityLogging)) {
452 DeleteDatabase(); 459 DeleteDatabase();
460 }
461 } else {
462 policy_->RemoveExtensionData(extension->id());
453 } 463 }
454 } 464 }
455 465
456 // static
457 ActivityLog* ActivityLog::GetInstance(Profile* profile) {
458 return ActivityLogFactory::GetForProfile(profile);
459 }
460
461 void ActivityLog::AddObserver(ActivityLog::Observer* observer) { 466 void ActivityLog::AddObserver(ActivityLog::Observer* observer) {
462 observers_->AddObserver(observer); 467 observers_->AddObserver(observer);
463 } 468 }
464 469
465 void ActivityLog::RemoveObserver(ActivityLog::Observer* observer) { 470 void ActivityLog::RemoveObserver(ActivityLog::Observer* observer) {
466 observers_->RemoveObserver(observer); 471 observers_->RemoveObserver(observer);
467 } 472 }
468 473
469 // static 474 // static
470 void ActivityLog::RegisterProfilePrefs( 475 void ActivityLog::RegisterProfilePrefs(
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 RemoveURLs(urls); 589 RemoveURLs(urls);
585 } 590 }
586 591
587 void ActivityLog::DeleteDatabase() { 592 void ActivityLog::DeleteDatabase() {
588 if (!policy_) 593 if (!policy_)
589 return; 594 return;
590 policy_->DeleteDatabase(); 595 policy_->DeleteDatabase();
591 } 596 }
592 597
593 } // namespace extensions 598 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/extensions/activity_log/activity_log_policy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698