Chromium Code Reviews| Index: net/cookies/cookie_monster.cc |
| diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc |
| index 2272d7b08ab49ca58e9ce4024cd2ebb369efdc07..e34e07fd62b34358f085093056473f054b3aa975 100644 |
| --- a/net/cookies/cookie_monster.cc |
| +++ b/net/cookies/cookie_monster.cc |
| @@ -66,6 +66,7 @@ |
| #include "net/cookies/canonical_cookie.h" |
| #include "net/cookies/cookie_util.h" |
| #include "net/cookies/parsed_cookie.h" |
| +#include "net/ssl/channel_id_service.h" |
| #include "url/origin.h" |
| using base::Time; |
| @@ -347,11 +348,27 @@ CookieMonster::CookieMonster(PersistentCookieStore* store, |
| : CookieMonster( |
| store, |
| delegate, |
| + nullptr, |
| + base::TimeDelta::FromSeconds(kDefaultAccessUpdateThresholdSeconds)) {} |
| + |
| +CookieMonster::CookieMonster(PersistentCookieStore* store, |
| + CookieMonsterDelegate* delegate, |
| + ChannelIDService* channel_id_service) |
| + : CookieMonster( |
| + store, |
| + delegate, |
| + nullptr, |
| base::TimeDelta::FromSeconds(kDefaultAccessUpdateThresholdSeconds)) {} |
| CookieMonster::CookieMonster(PersistentCookieStore* store, |
| CookieMonsterDelegate* delegate, |
| base::TimeDelta last_access_threshold) |
| + : CookieMonster(store, delegate, nullptr, last_access_threshold) {} |
| + |
| +CookieMonster::CookieMonster(PersistentCookieStore* store, |
| + CookieMonsterDelegate* delegate, |
| + ChannelIDService* channel_id_service, |
| + base::TimeDelta last_access_threshold) |
| : initialized_(false), |
| started_fetching_all_cookies_(false), |
| finished_fetching_all_cookies_(false), |
| @@ -360,6 +377,7 @@ CookieMonster::CookieMonster(PersistentCookieStore* store, |
| store_(store), |
| last_access_threshold_(last_access_threshold), |
| delegate_(delegate), |
| + channel_id_service_(channel_id_service), |
| last_statistic_record_time_(base::Time::Now()), |
| persist_session_cookies_(false), |
| weak_ptr_factory_(this) { |
| @@ -862,10 +880,14 @@ void CookieMonster::SetCookieWithDetailsAsync( |
| void CookieMonster::FlushStore(const base::Closure& callback) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - if (initialized_ && store_.get()) |
| + if (initialized_ && store_.get()) { |
| + if (channel_id_service_) { |
| + channel_id_service_->GetChannelIDStore()->Flush(); |
|
mattm
2017/05/12 00:02:47
What thread is this getting run on? It's unclear b
nharper
2017/05/12 02:47:23
I changed this to do a PostTask on the background_
|
| + } |
| store_->Flush(callback); |
| - else if (!callback.is_null()) |
| + } else if (!callback.is_null()) { |
| base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback); |
| + } |
| } |
| void CookieMonster::SetForceKeepSessionState() { |