| Index: content/public/browser/storage_partition.h
|
| diff --git a/content/public/browser/storage_partition.h b/content/public/browser/storage_partition.h
|
| index b749378b1b8c1b28074678dd98862760e027f5e6..b797382ab9eaf2d5c87414e5053e1d6f4993138b 100644
|
| --- a/content/public/browser/storage_partition.h
|
| +++ b/content/public/browser/storage_partition.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/files/file_path.h"
|
| #include "base/time/time.h"
|
| #include "content/common/content_export.h"
|
| +#include "net/cookies/cookie_store.h"
|
|
|
| class GURL;
|
|
|
| @@ -127,13 +128,17 @@ class CONTENT_EXPORT StoragePartition {
|
| typedef base::Callback<bool(const GURL&, storage::SpecialStoragePolicy*)>
|
| OriginMatcherFunction;
|
|
|
| + // A callback type to check if a given cookie should be cleared.
|
| + using CookieMatcherFunction = net::CookieStore::CookiePredicate;
|
| +
|
| // Similar to ClearDataForOrigin().
|
| - // Deletes all data out fo the StoragePartition if |storage_origin| is
|
| - // nullptr.
|
| + // Deletes all data out for the StoragePartition if |storage_origin| is empty.
|
| // |origin_matcher| is present if special storage policy is to be handled,
|
| // otherwise the callback can be null (base::Callback::is_null() == true).
|
| // |callback| is called when data deletion is done or at least the deletion is
|
| // scheduled.
|
| + // storage_origin and origin_matcher_function are used for different
|
| + // subsystems. One does not imply the other.
|
| virtual void ClearData(uint32_t remove_mask,
|
| uint32_t quota_storage_remove_mask,
|
| const GURL& storage_origin,
|
| @@ -142,6 +147,26 @@ class CONTENT_EXPORT StoragePartition {
|
| const base::Time end,
|
| const base::Closure& callback) = 0;
|
|
|
| + // Similar to ClearData().
|
| + // Deletes all data out for the StoragePartition.
|
| + // * |origin_matcher| is present if special storage policy is to be handled,
|
| + // otherwise the callback should be null (base::Callback::is_null()==true).
|
| + // The origin matcher does not apply to cookies, instead use:
|
| + // * |cookies_matcher| is present if special cookie clearing is to be handled.
|
| + // If the callback is null all cookies withing the time range will be
|
| + // cleared.
|
| + // * |callback| is called when data deletion is done or at least the deletion
|
| + // is scheduled.
|
| + // Note: Make sure you know what you are doing before clearing cookies
|
| + // selectively. You don't want to break the web.
|
| + virtual void ClearData(uint32_t remove_mask,
|
| + uint32_t quota_storage_remove_mask,
|
| + const OriginMatcherFunction& origin_matcher,
|
| + const CookieMatcherFunction& cookie_matcher,
|
| + const base::Time begin,
|
| + const base::Time end,
|
| + const base::Closure& callback) = 0;
|
| +
|
| // Write any unwritten data to disk.
|
| // Note: this method does not sync the data - it only ensures that any
|
| // unwritten data has been written out to the filesystem.
|
|
|