Chromium Code Reviews| 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..af28639ccac075083fee036411481bf14fd854b3 100644 |
| --- a/chrome/browser/browsing_data/browsing_data_remover.h |
| +++ b/chrome/browser/browsing_data/browsing_data_remover.h |
| @@ -32,12 +32,14 @@ |
| #include "storage/common/quota/quota_types.h" |
| #include "url/gurl.h" |
| +#if defined(OS_CHROMEOS) |
| +#include "chromeos/dbus/dbus_method_call_status.h" |
| +#endif |
| + |
| #if defined(ENABLE_PLUGINS) |
| #include "chrome/browser/pepper_flash_settings_manager.h" |
| -#endif |
| -#if defined(OS_CHROMEOS) |
| -#include "chromeos/dbus/dbus_method_call_status.h" |
| +class BrowsingDataFlashLSOHelper; |
|
Bernhard Bauer
2016/08/18 18:35:59
This looks kinda odd… You could probably forward-d
msramek
2016/08/19 11:16:46
Done. OK, then I'll just forward-declare it withou
|
| #endif |
| class BrowsingDataRemoverFactory; |
| @@ -297,6 +299,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 +388,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 +520,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 +542,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 +559,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 +573,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 +586,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_; |