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

Unified Diff: chrome/browser/browsing_data_remover.cc

Issue 5579002: Add a preference to clear plugin data on browser shutdown. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: mooh Created 10 years 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/browsing_data_remover.cc
diff --git a/chrome/browser/browsing_data_remover.cc b/chrome/browser/browsing_data_remover.cc
index a4d10fd86326c259fab9f56860908f8aa63ffdf8..783c5f2e3581d92c649fe64286463a4ac91103f1 100644
--- a/chrome/browser/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data_remover.cc
@@ -14,6 +14,7 @@
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/history/history.h"
#include "chrome/browser/in_process_webkit/webkit_context.h"
+#include "chrome/browser/plugin_data_remover.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/metrics/user_metrics.h"
#include "chrome/browser/net/chrome_url_request_context.h"
@@ -87,7 +88,8 @@ BrowsingDataRemover::BrowsingDataRemover(Profile* profile,
waiting_for_clear_databases_(false),
waiting_for_clear_history_(false),
waiting_for_clear_cache_(false),
- waiting_for_clear_appcache_(false) {
+ waiting_for_clear_appcache_(false),
+ waiting_for_clear_lso_data_(false) {
DCHECK(profile);
}
@@ -252,6 +254,17 @@ void BrowsingDataRemover::Remove(int remove_mask) {
NewRunnableMethod(this, &BrowsingDataRemover::ClearCacheOnIOThread));
}
+ if (remove_mask & REMOVE_LSO_DATA) {
+ UserMetrics::RecordAction(UserMetricsAction("ClearBrowsingData_LSOData"));
+
+ waiting_for_clear_lso_data_ = true;
+ if (!plugin_data_remover_.get())
+ plugin_data_remover_.reset(new PluginDataRemover());
+ plugin_data_remover_->StartRemoving(
+ delete_begin_,
+ NewRunnableMethod(this, &BrowsingDataRemover::OnClearedPluginData));
+ }
+
NotifyAndDeleteIfDone();
}
@@ -496,3 +509,8 @@ ChromeAppCacheService* BrowsingDataRemover::GetAppCacheService() {
return request_context ? request_context->appcache_service()
: NULL;
}
+
+void BrowsingDataRemover::OnClearedPluginData() {
+ waiting_for_clear_lso_data_ = false;
+ NotifyAndDeleteIfDone();
+}

Powered by Google App Engine
This is Rietveld 408576698