Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Side by Side Diff: chrome/browser/browsing_data/browsing_data_cookie_helper.cc

Issue 459233002: Browsing Data Deletion: Style fixes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-apply comment tweaks Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h" 5 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h"
6 6
7 #include "utility" 7 #include "utility"
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 12 matching lines...) Expand all
23 using content::BrowserThread; 23 using content::BrowserThread;
24 24
25 namespace { 25 namespace {
26 const char kGlobalCookieListURL[] = "chrome://cookielist"; 26 const char kGlobalCookieListURL[] = "chrome://cookielist";
27 } 27 }
28 28
29 BrowsingDataCookieHelper::BrowsingDataCookieHelper( 29 BrowsingDataCookieHelper::BrowsingDataCookieHelper(
30 net::URLRequestContextGetter* request_context_getter) 30 net::URLRequestContextGetter* request_context_getter)
31 : is_fetching_(false), 31 : is_fetching_(false),
32 request_context_getter_(request_context_getter) { 32 request_context_getter_(request_context_getter) {
33 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 33 DCHECK_CURRENTLY_ON(BrowserThread::UI);
34 } 34 }
35 35
36 BrowsingDataCookieHelper::~BrowsingDataCookieHelper() { 36 BrowsingDataCookieHelper::~BrowsingDataCookieHelper() {
37 } 37 }
38 38
39 void BrowsingDataCookieHelper::StartFetching( 39 void BrowsingDataCookieHelper::StartFetching(
40 const base::Callback<void(const net::CookieList& cookies)>& callback) { 40 const base::Callback<void(const net::CookieList& cookies)>& callback) {
41 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 41 DCHECK_CURRENTLY_ON(BrowserThread::UI);
42 DCHECK(!is_fetching_); 42 DCHECK(!is_fetching_);
43 DCHECK(!callback.is_null()); 43 DCHECK(!callback.is_null());
44 DCHECK(completion_callback_.is_null()); 44 DCHECK(completion_callback_.is_null());
45 is_fetching_ = true; 45 is_fetching_ = true;
46 completion_callback_ = callback; 46 completion_callback_ = callback;
47 BrowserThread::PostTask( 47 BrowserThread::PostTask(
48 BrowserThread::IO, FROM_HERE, 48 BrowserThread::IO, FROM_HERE,
49 base::Bind(&BrowsingDataCookieHelper::FetchCookiesOnIOThread, this)); 49 base::Bind(&BrowsingDataCookieHelper::FetchCookiesOnIOThread, this));
50 } 50 }
51 51
52 void BrowsingDataCookieHelper::DeleteCookie( 52 void BrowsingDataCookieHelper::DeleteCookie(
53 const net::CanonicalCookie& cookie) { 53 const net::CanonicalCookie& cookie) {
54 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 54 DCHECK_CURRENTLY_ON(BrowserThread::UI);
55 BrowserThread::PostTask( 55 BrowserThread::PostTask(
56 BrowserThread::IO, FROM_HERE, 56 BrowserThread::IO, FROM_HERE,
57 base::Bind(&BrowsingDataCookieHelper::DeleteCookieOnIOThread, 57 base::Bind(&BrowsingDataCookieHelper::DeleteCookieOnIOThread,
58 this, cookie)); 58 this, cookie));
59 } 59 }
60 60
61 void BrowsingDataCookieHelper::FetchCookiesOnIOThread() { 61 void BrowsingDataCookieHelper::FetchCookiesOnIOThread() {
62 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 62 DCHECK_CURRENTLY_ON(BrowserThread::IO);
63 scoped_refptr<net::CookieMonster> cookie_monster = 63 scoped_refptr<net::CookieMonster> cookie_monster =
64 request_context_getter_->GetURLRequestContext()-> 64 request_context_getter_->GetURLRequestContext()->
65 cookie_store()->GetCookieMonster(); 65 cookie_store()->GetCookieMonster();
66 if (cookie_monster.get()) { 66 if (cookie_monster.get()) {
67 cookie_monster->GetAllCookiesAsync( 67 cookie_monster->GetAllCookiesAsync(
68 base::Bind(&BrowsingDataCookieHelper::OnFetchComplete, this)); 68 base::Bind(&BrowsingDataCookieHelper::OnFetchComplete, this));
69 } else { 69 } else {
70 OnFetchComplete(net::CookieList()); 70 OnFetchComplete(net::CookieList());
71 } 71 }
72 } 72 }
73 73
74 void BrowsingDataCookieHelper::OnFetchComplete(const net::CookieList& cookies) { 74 void BrowsingDataCookieHelper::OnFetchComplete(const net::CookieList& cookies) {
75 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 75 DCHECK_CURRENTLY_ON(BrowserThread::IO);
76 BrowserThread::PostTask( 76 BrowserThread::PostTask(
77 BrowserThread::UI, FROM_HERE, 77 BrowserThread::UI, FROM_HERE,
78 base::Bind(&BrowsingDataCookieHelper::NotifyInUIThread, this, cookies)); 78 base::Bind(&BrowsingDataCookieHelper::NotifyInUIThread, this, cookies));
79 } 79 }
80 80
81 void BrowsingDataCookieHelper::NotifyInUIThread( 81 void BrowsingDataCookieHelper::NotifyInUIThread(
82 const net::CookieList& cookies) { 82 const net::CookieList& cookies) {
83 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 83 DCHECK_CURRENTLY_ON(BrowserThread::UI);
84 DCHECK(is_fetching_); 84 DCHECK(is_fetching_);
85 is_fetching_ = false; 85 is_fetching_ = false;
86 completion_callback_.Run(cookies); 86 completion_callback_.Run(cookies);
87 completion_callback_.Reset(); 87 completion_callback_.Reset();
88 } 88 }
89 89
90 void BrowsingDataCookieHelper::DeleteCookieOnIOThread( 90 void BrowsingDataCookieHelper::DeleteCookieOnIOThread(
91 const net::CanonicalCookie& cookie) { 91 const net::CanonicalCookie& cookie) {
92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 92 DCHECK_CURRENTLY_ON(BrowserThread::IO);
93 scoped_refptr<net::CookieMonster> cookie_monster = 93 scoped_refptr<net::CookieMonster> cookie_monster =
94 request_context_getter_->GetURLRequestContext()-> 94 request_context_getter_->GetURLRequestContext()->
95 cookie_store()->GetCookieMonster(); 95 cookie_store()->GetCookieMonster();
96 if (cookie_monster.get()) { 96 if (cookie_monster.get()) {
97 cookie_monster->DeleteCanonicalCookieAsync( 97 cookie_monster->DeleteCanonicalCookieAsync(
98 cookie, net::CookieMonster::DeleteCookieCallback()); 98 cookie, net::CookieMonster::DeleteCookieCallback());
99 } 99 }
100 } 100 }
101 101
102 CannedBrowsingDataCookieHelper::CannedBrowsingDataCookieHelper( 102 CannedBrowsingDataCookieHelper::CannedBrowsingDataCookieHelper(
103 net::URLRequestContextGetter* request_context_getter) 103 net::URLRequestContextGetter* request_context_getter)
104 : BrowsingDataCookieHelper(request_context_getter) { 104 : BrowsingDataCookieHelper(request_context_getter) {
105 } 105 }
106 106
107 CannedBrowsingDataCookieHelper::~CannedBrowsingDataCookieHelper() { 107 CannedBrowsingDataCookieHelper::~CannedBrowsingDataCookieHelper() {
108 Reset(); 108 Reset();
109 } 109 }
110 110
111 CannedBrowsingDataCookieHelper* CannedBrowsingDataCookieHelper::Clone() { 111 CannedBrowsingDataCookieHelper* CannedBrowsingDataCookieHelper::Clone() {
112 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 112 DCHECK_CURRENTLY_ON(BrowserThread::UI);
113 CannedBrowsingDataCookieHelper* clone = 113 CannedBrowsingDataCookieHelper* clone =
114 new CannedBrowsingDataCookieHelper(request_context_getter()); 114 new CannedBrowsingDataCookieHelper(request_context_getter());
115 115
116 for (OriginCookieListMap::iterator it = origin_cookie_list_map_.begin(); 116 for (OriginCookieListMap::iterator it = origin_cookie_list_map_.begin();
117 it != origin_cookie_list_map_.end(); 117 it != origin_cookie_list_map_.end();
118 ++it) { 118 ++it) {
119 net::CookieList* cookies = clone->GetCookiesFor(it->first); 119 net::CookieList* cookies = clone->GetCookiesFor(it->first);
120 cookies->insert(cookies->begin(), it->second->begin(), it->second->end()); 120 cookies->insert(cookies->begin(), it->second->begin(), it->second->end());
121 } 121 }
122 return clone; 122 return clone;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 it != origin_cookie_list_map_.end(); 168 it != origin_cookie_list_map_.end();
169 ++it) { 169 ++it) {
170 count += it->second->size(); 170 count += it->second->size();
171 } 171 }
172 return count; 172 return count;
173 } 173 }
174 174
175 175
176 void CannedBrowsingDataCookieHelper::StartFetching( 176 void CannedBrowsingDataCookieHelper::StartFetching(
177 const net::CookieMonster::GetCookieListCallback& callback) { 177 const net::CookieMonster::GetCookieListCallback& callback) {
178 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 178 DCHECK_CURRENTLY_ON(BrowserThread::UI);
179 net::CookieList cookie_list; 179 net::CookieList cookie_list;
180 for (OriginCookieListMap::iterator it = origin_cookie_list_map_.begin(); 180 for (OriginCookieListMap::iterator it = origin_cookie_list_map_.begin();
181 it != origin_cookie_list_map_.end(); 181 it != origin_cookie_list_map_.end();
182 ++it) { 182 ++it) {
183 cookie_list.insert(cookie_list.begin(), 183 cookie_list.insert(cookie_list.begin(),
184 it->second->begin(), 184 it->second->begin(),
185 it->second->end()); 185 it->second->end());
186 } 186 }
187 callback.Run(cookie_list); 187 callback.Run(cookie_list);
188 } 188 }
189 189
190 void CannedBrowsingDataCookieHelper::DeleteCookie( 190 void CannedBrowsingDataCookieHelper::DeleteCookie(
191 const net::CanonicalCookie& cookie) { 191 const net::CanonicalCookie& cookie) {
192 for (OriginCookieListMap::iterator it = origin_cookie_list_map_.begin(); 192 for (OriginCookieListMap::iterator it = origin_cookie_list_map_.begin();
193 it != origin_cookie_list_map_.end(); 193 it != origin_cookie_list_map_.end();
194 ++it) { 194 ++it) {
195 DeleteMatchingCookie(cookie, it->second); 195 DeleteMatchingCookie(cookie, it->second);
196 } 196 }
197 BrowsingDataCookieHelper::DeleteCookie(cookie); 197 BrowsingDataCookieHelper::DeleteCookie(cookie);
198 } 198 }
199 199
200 bool CannedBrowsingDataCookieHelper::DeleteMatchingCookie( 200 bool CannedBrowsingDataCookieHelper::DeleteMatchingCookie(
201 const net::CanonicalCookie& add_cookie, 201 const net::CanonicalCookie& add_cookie,
202 net::CookieList* cookie_list) { 202 net::CookieList* cookie_list) {
203 typedef net::CookieList::iterator cookie_iterator; 203 typedef net::CookieList::iterator cookie_iterator;
204 for (cookie_iterator cookie = cookie_list->begin(); 204 for (cookie_iterator cookie = cookie_list->begin();
205 cookie != cookie_list->end(); ++cookie) { 205 cookie != cookie_list->end(); ++cookie) {
206 if (cookie->Name() == add_cookie.Name() && 206 if (cookie->Name() == add_cookie.Name() &&
207 cookie->Domain() == add_cookie.Domain()&& 207 cookie->Domain() == add_cookie.Domain() &&
208 cookie->Path() == add_cookie.Path()) { 208 cookie->Path() == add_cookie.Path()) {
209 cookie_list->erase(cookie); 209 cookie_list->erase(cookie);
210 return true; 210 return true;
211 } 211 }
212 } 212 }
213 return false; 213 return false;
214 } 214 }
215 215
216 net::CookieList* CannedBrowsingDataCookieHelper::GetCookiesFor( 216 net::CookieList* CannedBrowsingDataCookieHelper::GetCookiesFor(
217 const GURL& first_party_origin) { 217 const GURL& first_party_origin) {
(...skipping 24 matching lines...) Expand all
242 // collecting cookies per origin in redirect chains. 242 // collecting cookies per origin in redirect chains.
243 // TODO(markusheintz): A) Change the GetCookiesCount method to prevent 243 // TODO(markusheintz): A) Change the GetCookiesCount method to prevent
244 // counting cookies multiple times if they are stored in multiple cookie 244 // counting cookies multiple times if they are stored in multiple cookie
245 // lists. B) Replace the GetCookieFor method call below with: 245 // lists. B) Replace the GetCookieFor method call below with:
246 // "GetCookiesFor(frame_url.GetOrigin());" 246 // "GetCookiesFor(frame_url.GetOrigin());"
247 net::CookieList* cookie_list = 247 net::CookieList* cookie_list =
248 GetCookiesFor(GURL(kGlobalCookieListURL)); 248 GetCookiesFor(GURL(kGlobalCookieListURL));
249 DeleteMatchingCookie(cookie, cookie_list); 249 DeleteMatchingCookie(cookie, cookie_list);
250 cookie_list->push_back(cookie); 250 cookie_list->push_back(cookie);
251 } 251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698