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))); |
} |