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

Unified Diff: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h

Issue 2827523003: Move BrowsingDataRemover to content/ (Closed)
Patch Set: Rebase over codereview.chromium.org/2815913005 Created 3 years, 8 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/chrome_browsing_data_remover_delegate.h
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h
index ef048e89e39b2eeb83ca76e47cd5fbb2b6e72fc3..26d4ea06f0e365103cddda76be09f45c847e9815 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h
@@ -12,12 +12,13 @@
#include "base/memory/weak_ptr.h"
#include "base/synchronization/waitable_event_watcher.h"
#include "base/task/cancelable_task_tracker.h"
-#include "chrome/browser/browsing_data/browsing_data_remover.h"
-#include "chrome/browser/browsing_data/browsing_data_remover_delegate.h"
#include "chrome/common/features.h"
#include "components/browsing_data/core/browsing_data_utils.h"
+#include "components/keyed_service/core/keyed_service.h"
#include "components/offline_pages/core/offline_page_model.h"
#include "components/search_engines/template_url_service.h"
+#include "content/public/browser/browsing_data_remover.h"
+#include "content/public/browser/browsing_data_remover_delegate.h"
#include "extensions/features/features.h"
#include "media/media_features.h"
#include "ppapi/features/features.h"
@@ -41,19 +42,23 @@ class PluginDataRemover;
// A delegate used by BrowsingDataRemover to delete data specific to Chrome
// as the embedder.
-class ChromeBrowsingDataRemoverDelegate : public BrowsingDataRemoverDelegate
+class ChromeBrowsingDataRemoverDelegate
+ : public content::BrowsingDataRemoverDelegate,
+ public KeyedService
#if BUILDFLAG(ENABLE_PLUGINS)
- , public PepperFlashSettingsManager::Client
+ ,
+ public PepperFlashSettingsManager::Client
#endif
{
public:
- // This is an extension of BrowsingDataRemover::RemoveDataMask which includes
- // all datatypes therefrom and adds additional Chrome-specific ones.
+ // This is an extension of content::BrowsingDataRemover::RemoveDataMask which
+ // includes all datatypes therefrom and adds additional Chrome-specific ones.
// TODO(crbug.com/668114): Extend this to uint64_t to ensure that we won't
// run out of space anytime soon.
enum DataType {
// Embedder can start adding datatypes after the last platform datatype.
- DATA_TYPE_EMBEDDER_BEGIN = BrowsingDataRemover::DATA_TYPE_CONTENT_END << 1,
+ DATA_TYPE_EMBEDDER_BEGIN =
+ content::BrowsingDataRemover::DATA_TYPE_CONTENT_END << 1,
// Chrome-specific datatypes.
DATA_TYPE_HISTORY = DATA_TYPE_EMBEDDER_BEGIN,
@@ -72,57 +77,60 @@ class ChromeBrowsingDataRemoverDelegate : public BrowsingDataRemoverDelegate
// "Site data" includes storage backend accessible to websites and some
// additional metadata kept by the browser (e.g. site usage data).
- DATA_TYPE_SITE_DATA = BrowsingDataRemover::DATA_TYPE_APP_CACHE |
- BrowsingDataRemover::DATA_TYPE_COOKIES |
- BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS |
- BrowsingDataRemover::DATA_TYPE_INDEXED_DB |
- BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE |
- BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS |
- BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE |
- BrowsingDataRemover::DATA_TYPE_WEB_SQL |
- BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS |
- DATA_TYPE_PLUGIN_DATA |
+ DATA_TYPE_SITE_DATA =
+ content::BrowsingDataRemover::DATA_TYPE_APP_CACHE |
+ content::BrowsingDataRemover::DATA_TYPE_COOKIES |
+ content::BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS |
+ content::BrowsingDataRemover::DATA_TYPE_INDEXED_DB |
+ content::BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE |
+ content::BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS |
+ content::BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE |
+ content::BrowsingDataRemover::DATA_TYPE_WEB_SQL |
+ content::BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS |
+ DATA_TYPE_PLUGIN_DATA |
#if defined(OS_ANDROID)
- DATA_TYPE_WEB_APP_DATA |
+ DATA_TYPE_WEB_APP_DATA |
#endif
- DATA_TYPE_SITE_USAGE_DATA |
- DATA_TYPE_DURABLE_PERMISSION |
- DATA_TYPE_EXTERNAL_PROTOCOL_DATA,
+ DATA_TYPE_SITE_USAGE_DATA |
+ DATA_TYPE_DURABLE_PERMISSION |
+ DATA_TYPE_EXTERNAL_PROTOCOL_DATA,
// Datatypes protected by Important Sites.
IMPORTANT_SITES_DATA_TYPES =
- DATA_TYPE_SITE_DATA | BrowsingDataRemover::DATA_TYPE_CACHE,
+ DATA_TYPE_SITE_DATA | content::BrowsingDataRemover::DATA_TYPE_CACHE,
// Datatypes that can be deleted partially per URL / origin / domain,
// whichever makes sense.
FILTERABLE_DATA_TYPES = DATA_TYPE_SITE_DATA |
- BrowsingDataRemover::DATA_TYPE_CACHE |
- BrowsingDataRemover::DATA_TYPE_DOWNLOADS,
+ content::BrowsingDataRemover::DATA_TYPE_CACHE |
+ content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS,
// Includes all the available remove options. Meant to be used by clients
// that wish to wipe as much data as possible from a Profile, to make it
// look like a new Profile.
ALL_DATA_TYPES = DATA_TYPE_SITE_DATA |
- BrowsingDataRemover::DATA_TYPE_CACHE |
- BrowsingDataRemover::DATA_TYPE_DOWNLOADS |
+ content::BrowsingDataRemover::DATA_TYPE_CACHE |
+ content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS |
DATA_TYPE_FORM_DATA |
DATA_TYPE_HISTORY |
DATA_TYPE_PASSWORDS |
- BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES,
+ content::BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES,
// Includes all available remove options. Meant to be used when the Profile
// is scheduled to be deleted, and all possible data should be wiped from
// disk as soon as possible.
- WIPE_PROFILE = ALL_DATA_TYPES | BrowsingDataRemover::DATA_TYPE_NO_CHECKS,
+ WIPE_PROFILE =
+ ALL_DATA_TYPES | content::BrowsingDataRemover::DATA_TYPE_NO_CHECKS,
};
- // This is an extension of BrowsingDataRemover::OriginType which includes all
- // origin types therefrom and adds additional Chrome-specific ones.
+ // This is an extension of content::BrowsingDataRemover::OriginType which
+ // includes all origin types therefrom and adds additional Chrome-specific
+ // ones.
enum OriginType {
// Embedder can start adding origin types after the last
// platform origin type.
- ORIGIN_TYPE_EMBEDDER_BEGIN = BrowsingDataRemover::ORIGIN_TYPE_CONTENT_END
- << 1,
+ ORIGIN_TYPE_EMBEDDER_BEGIN =
+ content::BrowsingDataRemover::ORIGIN_TYPE_CONTENT_END << 1,
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Packaged apps and extensions (chrome-extension://*).
@@ -130,11 +138,12 @@ class ChromeBrowsingDataRemoverDelegate : public BrowsingDataRemoverDelegate
#endif
// All origin types.
- ALL_ORIGIN_TYPES = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB |
+ ALL_ORIGIN_TYPES =
+ content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB |
#if BUILDFLAG(ENABLE_EXTENSIONS)
- ORIGIN_TYPE_EXTENSION |
+ ORIGIN_TYPE_EXTENSION |
#endif
- BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB,
+ content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB,
};
// Important sites protect a small set of sites from the deletion of certain
@@ -172,9 +181,13 @@ class ChromeBrowsingDataRemoverDelegate : public BrowsingDataRemoverDelegate
ChromeBrowsingDataRemoverDelegate(content::BrowserContext* browser_context);
~ChromeBrowsingDataRemoverDelegate() override;
+ // KeyedService:
+ void Shutdown() override;
+
// BrowsingDataRemoverDelegate:
- BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher GetOriginTypeMatcher()
- const override;
+ content::BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher
+ GetOriginTypeMatcher() const override;
+ bool MayRemoveDownloadHistory() const override;
void RemoveEmbedderData(
const base::Time& delete_begin,
const base::Time& delete_end,

Powered by Google App Engine
This is Rietveld 408576698