Index: chrome/browser/browsing_data/browsing_data_remover.h |
diff --git a/chrome/browser/browsing_data/browsing_data_remover.h b/chrome/browser/browsing_data/browsing_data_remover.h |
index 5564dcc10be7619ecc07f2f75f736b306a239562..f97825e91888e88c934fb9c738163d04580b39db 100644 |
--- a/chrome/browser/browsing_data/browsing_data_remover.h |
+++ b/chrome/browser/browsing_data/browsing_data_remover.h |
@@ -40,11 +40,13 @@ |
#include "chromeos/dbus/dbus_method_call_status.h" |
#endif |
+class BrowsingDataFilterBuilder; |
+class BrowsingDataFlashLSOHelper; |
class BrowsingDataRemoverFactory; |
class HostContentSettingsMap; |
class IOThread; |
-class BrowsingDataFilterBuilder; |
class Profile; |
+class WebappRegistry; |
namespace chrome_browser_net { |
class Predictor; |
@@ -60,10 +62,6 @@ namespace net { |
class URLRequestContextGetter; |
} |
-#if BUILDFLAG(ANDROID_JAVA_UI) |
-class WebappRegistry; |
-#endif |
- |
//////////////////////////////////////////////////////////////////////////////// |
// BrowsingDataRemover is responsible for removing data related to browsing: |
// visits in url database, downloads, cookies ... |
@@ -297,6 +295,11 @@ class BrowsingDataRemover : public KeyedService |
std::unique_ptr<WebappRegistry> webapp_registry); |
#endif |
+#if defined(ENABLE_PLUGINS) |
+ void OverrideFlashLSOHelperForTesting( |
+ scoped_refptr<BrowsingDataFlashLSOHelper> flash_lso_helper); |
+#endif |
+ |
// Parameters of the last call are exposed to be used by tests. Removal and |
// origin type masks equal to -1 mean that no removal has ever been executed. |
// TODO(msramek): If other consumers than tests are interested in this, |
@@ -381,6 +384,14 @@ class BrowsingDataRemover : public KeyedService |
// Called when plugin data has been cleared. Invokes NotifyIfDone. |
void OnWaitableEventSignaled(base::WaitableEvent* waitable_event); |
+ // Called when the list of |sites| storing Flash LSO cookies is fetched. |
+ void OnSitesWithFlashDataFetched( |
+ base::Callback<bool(const std::string&)> plugin_filter, |
+ const std::vector<std::string>& sites); |
+ |
+ // Indicates that LSO cookies for one website have been deleted. |
+ void OnFlashDataDeleted(); |
+ |
// PepperFlashSettingsManager::Client implementation. |
void OnDeauthorizeFlashContentLicensesCompleted(uint32_t request_id, |
bool success) override; |
@@ -505,6 +516,12 @@ class BrowsingDataRemover : public KeyedService |
// End time to delete to. |
base::Time delete_end_; |
+ // The removal mask for the current removal operation. |
+ int remove_mask_ = 0; |
+ |
+ // From which types of origins should we remove data? |
+ int origin_type_mask_ = 0; |
+ |
// True if Remove has been invoked. |
bool is_removing_; |
@@ -521,6 +538,9 @@ class BrowsingDataRemover : public KeyedService |
std::unique_ptr<content::PluginDataRemover> plugin_data_remover_; |
base::WaitableEventWatcher watcher_; |
+ // Used for per-site plugin data deletion. |
+ scoped_refptr<BrowsingDataFlashLSOHelper> flash_lso_helper_; |
+ |
// Used to deauthorize content licenses for Pepper Flash. |
std::unique_ptr<PepperFlashSettingsManager> pepper_flash_settings_manager_; |
#endif |
@@ -535,6 +555,9 @@ class BrowsingDataRemover : public KeyedService |
bool waiting_for_clear_flash_content_licenses_ = false; |
// Non-zero if waiting for cookies to be cleared. |
int waiting_for_clear_cookies_count_ = 0; |
+ // Counts the number of plugin data tasks. Should be the number of LSO cookies |
+ // to be deleted, or 1 while we're fetching LSO cookies or deleting in bulk. |
+ int waiting_for_clear_plugin_data_count_ = 0; |
bool waiting_for_clear_domain_reliability_monitor_ = false; |
bool waiting_for_clear_form_ = false; |
bool waiting_for_clear_history_ = false; |
@@ -546,7 +569,6 @@ class BrowsingDataRemover : public KeyedService |
bool waiting_for_clear_passwords_ = false; |
bool waiting_for_clear_passwords_stats_ = false; |
bool waiting_for_clear_platform_keys_ = false; |
- bool waiting_for_clear_plugin_data_ = false; |
bool waiting_for_clear_pnacl_cache_ = false; |
#if BUILDFLAG(ANDROID_JAVA_UI) |
bool waiting_for_clear_precache_history_ = false; |
@@ -560,12 +582,6 @@ class BrowsingDataRemover : public KeyedService |
#endif |
bool waiting_for_clear_auto_sign_in_ = false; |
- // The removal mask for the current removal operation. |
- int remove_mask_ = 0; |
- |
- // From which types of origins should we remove data? |
- int origin_type_mask_ = 0; |
- |
// Observers of the global state and individual tasks. |
base::ObserverList<Observer, true> observer_list_; |