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

Unified Diff: chrome/browser/browsing_data/browsing_data_remover.cc

Issue 1329083002: Clear webapp storage when site data is cleared (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add initial tests and fix compile Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browsing_data/browsing_data_remover.cc
diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc
index 12f3277708054a61f69dc3a4e5c6aa0a12d2e2d4..8479c3e4bf9290d77ad742cc24f7915a2dd33b80 100644
--- a/chrome/browser/browsing_data/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data/browsing_data_remover.cc
@@ -71,6 +71,7 @@
#include "url/origin.h"
#if defined(OS_ANDROID)
+#include "chrome/browser/android/webapps/webapp_registry.h"
#include "chrome/browser/precache/precache_manager_factory.h"
#include "components/precache/content/precache_manager.h"
#endif
@@ -760,6 +761,18 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask,
}
}
+#if defined(OS_ANDROID)
+ if (remove_mask & REMOVE_WEBAPP_DATA) {
+ waiting_for_clear_webapp_data_ = true;
+ BrowserThread::PostTask(
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&WebappRegistry::UnregisterWebappsOnIOThread,
+ base::Bind(&BrowsingDataRemover::OnClearedWebappData,
+ base::Unretained(this))));
+ }
+#endif
+
// Record the combined deletion of cookies and cache.
CookieOrCacheDeletionChoice choice = NEITHER_COOKIES_NOR_CACHE;
if (remove_mask & REMOVE_COOKIES &&
@@ -840,6 +853,7 @@ bool BrowsingDataRemover::AllDone() {
!waiting_for_clear_pnacl_cache_ &&
#if defined(OS_ANDROID)
!waiting_for_clear_precache_history_ &&
+ !waiting_for_clear_webapp_data_ &&
#endif
#if defined(ENABLE_WEBRTC)
!waiting_for_clear_webrtc_logs_ &&
@@ -1132,6 +1146,12 @@ void BrowsingDataRemover::OnClearedPrecacheHistory() {
waiting_for_clear_precache_history_ = false;
NotifyAndDeleteIfDone();
}
+
+void BrowsingDataRemover::OnClearedWebappData() {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ waiting_for_clear_webapp_data_ = false;
+ NotifyAndDeleteIfDone();
+}
#endif
void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() {

Powered by Google App Engine
This is Rietveld 408576698