| Index: ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.mm
|
| diff --git a/ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.mm b/ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.mm
|
| index c7f6990a856a259b2d463a6d47348313cc61e3df..856283f5779674537c89002e102f71a87eb46f0e 100644
|
| --- a/ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.mm
|
| +++ b/ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.mm
|
| @@ -38,6 +38,7 @@
|
| #include "ios/web/public/user_metrics.h"
|
| #include "ios/web/public/web_thread.h"
|
| #include "net/base/net_errors.h"
|
| +#include "net/cookies/canonical_cookie.h"
|
| #include "net/cookies/cookie_store.h"
|
| #include "net/http/transport_security_state.h"
|
| #include "net/ssl/channel_id_service.h"
|
| @@ -64,6 +65,11 @@ CallbackList* GetOnBrowsingDataRemovedCallbacks() {
|
| return g_on_browsing_data_removed_callbacks;
|
| }
|
|
|
| +bool DoesCookieMatchHost(const std::string& host,
|
| + const net::CanonicalCookie& cookie) {
|
| + return cookie.IsHostCookie() && cookie.IsDomainMatch(host);
|
| +}
|
| +
|
| } // namespace
|
|
|
| bool IOSChromeBrowsingDataRemover::is_removing_ = false;
|
| @@ -482,8 +488,9 @@ void IOSChromeBrowsingDataRemover::ClearCookiesOnIOThread(
|
| base::Bind(&IOSChromeBrowsingDataRemover::OnClearedCookies,
|
| base::Unretained(this)));
|
| } else {
|
| - cookie_store->DeleteAllCreatedBetweenForHostAsync(
|
| - delete_begin_, delete_end_, storage_url,
|
| + cookie_store->DeleteAllCreatedBetweenWithPredicateAsync(
|
| + delete_begin_, delete_end_,
|
| + base::Bind(&DoesCookieMatchHost, storage_url.host()),
|
| base::Bind(&IOSChromeBrowsingDataRemover::OnClearedCookies,
|
| base::Unretained(this)));
|
| }
|
|
|