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

Side by Side Diff: chrome/browser/browsing_data_database_helper.cc

Issue 7676002: When deleting storage through the cookies tree model, also update its cache (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_database_helper.h" 5 #include "chrome/browser/browsing_data_database_helper.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 BrowsingDataDatabaseHelper::BrowsingDataDatabaseHelper(Profile* profile) 49 BrowsingDataDatabaseHelper::BrowsingDataDatabaseHelper(Profile* profile)
50 : completion_callback_(NULL), 50 : completion_callback_(NULL),
51 is_fetching_(false), 51 is_fetching_(false),
52 tracker_(profile->GetDatabaseTracker()) { 52 tracker_(profile->GetDatabaseTracker()) {
53 } 53 }
54 54
55 BrowsingDataDatabaseHelper::~BrowsingDataDatabaseHelper() { 55 BrowsingDataDatabaseHelper::~BrowsingDataDatabaseHelper() {
56 } 56 }
57 57
58 void BrowsingDataDatabaseHelper::StartFetching( 58 void BrowsingDataDatabaseHelper::StartFetching(
59 Callback1<const std::vector<DatabaseInfo>& >::Type* callback) { 59 Callback1<const std::list<DatabaseInfo>& >::Type* callback) {
60 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 60 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
61 DCHECK(!is_fetching_); 61 DCHECK(!is_fetching_);
62 DCHECK(callback); 62 DCHECK(callback);
63 is_fetching_ = true; 63 is_fetching_ = true;
64 database_info_.clear(); 64 database_info_.clear();
65 completion_callback_.reset(callback); 65 completion_callback_.reset(callback);
66 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, NewRunnableMethod( 66 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, NewRunnableMethod(
67 this, &BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread)); 67 this, &BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread));
68 } 68 }
69 69
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 database_info_.clear(); 186 database_info_.clear();
187 pending_database_info_.clear(); 187 pending_database_info_.clear();
188 } 188 }
189 189
190 bool CannedBrowsingDataDatabaseHelper::empty() const { 190 bool CannedBrowsingDataDatabaseHelper::empty() const {
191 base::AutoLock auto_lock(lock_); 191 base::AutoLock auto_lock(lock_);
192 return database_info_.empty() && pending_database_info_.empty(); 192 return database_info_.empty() && pending_database_info_.empty();
193 } 193 }
194 194
195 void CannedBrowsingDataDatabaseHelper::StartFetching( 195 void CannedBrowsingDataDatabaseHelper::StartFetching(
196 Callback1<const std::vector<DatabaseInfo>& >::Type* callback) { 196 Callback1<const std::list<DatabaseInfo>& >::Type* callback) {
197 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 197 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
198 DCHECK(!is_fetching_); 198 DCHECK(!is_fetching_);
199 DCHECK(callback); 199 DCHECK(callback);
200 is_fetching_ = true; 200 is_fetching_ = true;
201 completion_callback_.reset(callback); 201 completion_callback_.reset(callback);
202 BrowserThread::PostTask(BrowserThread::WEBKIT, FROM_HERE, NewRunnableMethod( 202 BrowserThread::PostTask(BrowserThread::WEBKIT, FROM_HERE, NewRunnableMethod(
203 this, &CannedBrowsingDataDatabaseHelper::ConvertInfoInWebKitThread)); 203 this, &CannedBrowsingDataDatabaseHelper::ConvertInfoInWebKitThread));
204 } 204 }
205 205
206 CannedBrowsingDataDatabaseHelper::~CannedBrowsingDataDatabaseHelper() {} 206 CannedBrowsingDataDatabaseHelper::~CannedBrowsingDataDatabaseHelper() {}
207 207
208 void CannedBrowsingDataDatabaseHelper::ConvertInfoInWebKitThread() { 208 void CannedBrowsingDataDatabaseHelper::ConvertInfoInWebKitThread() {
209 base::AutoLock auto_lock(lock_); 209 base::AutoLock auto_lock(lock_);
210 for (std::vector<PendingDatabaseInfo>::const_iterator 210 for (std::list<PendingDatabaseInfo>::const_iterator
211 info = pending_database_info_.begin(); 211 info = pending_database_info_.begin();
212 info != pending_database_info_.end(); ++info) { 212 info != pending_database_info_.end(); ++info) {
213 WebSecurityOrigin web_security_origin = 213 WebSecurityOrigin web_security_origin =
214 WebSecurityOrigin::createFromString( 214 WebSecurityOrigin::createFromString(
215 UTF8ToUTF16(info->origin.spec())); 215 UTF8ToUTF16(info->origin.spec()));
216 std::string origin_identifier = 216 std::string origin_identifier =
217 web_security_origin.databaseIdentifier().utf8(); 217 web_security_origin.databaseIdentifier().utf8();
218 218
219 bool duplicate = false; 219 bool duplicate = false;
220 for (std::vector<DatabaseInfo>::iterator database = database_info_.begin(); 220 for (std::list<DatabaseInfo>::iterator database = database_info_.begin();
221 database != database_info_.end(); ++database) { 221 database != database_info_.end(); ++database) {
222 if (database->origin_identifier == origin_identifier && 222 if (database->origin_identifier == origin_identifier &&
223 database->database_name == info->name) { 223 database->database_name == info->name) {
224 duplicate = true; 224 duplicate = true;
225 break; 225 break;
226 } 226 }
227 } 227 }
228 if (duplicate) 228 if (duplicate)
229 continue; 229 continue;
230 230
231 database_info_.push_back(DatabaseInfo( 231 database_info_.push_back(DatabaseInfo(
232 web_security_origin.host().utf8(), 232 web_security_origin.host().utf8(),
233 info->name, 233 info->name,
234 origin_identifier, 234 origin_identifier,
235 info->description, 235 info->description,
236 web_security_origin.toString().utf8(), 236 web_security_origin.toString().utf8(),
237 0, 237 0,
238 base::Time())); 238 base::Time()));
239 } 239 }
240 pending_database_info_.clear(); 240 pending_database_info_.clear();
241 241
242 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, NewRunnableMethod( 242 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, NewRunnableMethod(
243 this, &CannedBrowsingDataDatabaseHelper::NotifyInUIThread)); 243 this, &CannedBrowsingDataDatabaseHelper::NotifyInUIThread));
244 } 244 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data_database_helper.h ('k') | chrome/browser/browsing_data_database_helper_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698