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

Side by Side Diff: chrome/browser/browsing_data/browsing_data_database_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_database_helper.h" 5 #include "chrome/browser/browsing_data/browsing_data_database_helper.h"
6 6
7 #include <vector>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/callback.h" 10 #include "base/callback.h"
9 #include "base/file_util.h" 11 #include "base/file_util.h"
10 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/browsing_data/browsing_data_helper.h" 13 #include "chrome/browser/browsing_data/browsing_data_helper.h"
12 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
13 #include "content/public/browser/browser_thread.h" 15 #include "content/public/browser/browser_thread.h"
14 #include "content/public/browser/storage_partition.h" 16 #include "content/public/browser/storage_partition.h"
15 #include "net/base/completion_callback.h" 17 #include "net/base/completion_callback.h"
16 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
(...skipping 22 matching lines...) Expand all
39 : is_fetching_(false), 41 : is_fetching_(false),
40 tracker_(BrowserContext:: 42 tracker_(BrowserContext::
41 GetDefaultStoragePartition(profile)->GetDatabaseTracker()) { 43 GetDefaultStoragePartition(profile)->GetDatabaseTracker()) {
42 } 44 }
43 45
44 BrowsingDataDatabaseHelper::~BrowsingDataDatabaseHelper() { 46 BrowsingDataDatabaseHelper::~BrowsingDataDatabaseHelper() {
45 } 47 }
46 48
47 void BrowsingDataDatabaseHelper::StartFetching( 49 void BrowsingDataDatabaseHelper::StartFetching(
48 const base::Callback<void(const std::list<DatabaseInfo>&)>& callback) { 50 const base::Callback<void(const std::list<DatabaseInfo>&)>& callback) {
49 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 51 DCHECK_CURRENTLY_ON(BrowserThread::UI);
50 DCHECK(!is_fetching_); 52 DCHECK(!is_fetching_);
51 DCHECK_EQ(false, callback.is_null()); 53 DCHECK(!callback.is_null());
52 54
53 is_fetching_ = true; 55 is_fetching_ = true;
54 database_info_.clear(); 56 database_info_.clear();
55 completion_callback_ = callback; 57 completion_callback_ = callback;
56 BrowserThread::PostTask( 58 BrowserThread::PostTask(
57 BrowserThread::FILE, FROM_HERE, 59 BrowserThread::FILE, FROM_HERE,
58 base::Bind(&BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread, 60 base::Bind(&BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread,
59 this)); 61 this));
60 } 62 }
61 63
62 void BrowsingDataDatabaseHelper::DeleteDatabase(const std::string& origin, 64 void BrowsingDataDatabaseHelper::DeleteDatabase(const std::string& origin,
63 const std::string& name) { 65 const std::string& name) {
64 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 66 DCHECK_CURRENTLY_ON(BrowserThread::UI);
65 BrowserThread::PostTask( 67 BrowserThread::PostTask(
66 BrowserThread::FILE, FROM_HERE, 68 BrowserThread::FILE, FROM_HERE,
67 base::Bind(&BrowsingDataDatabaseHelper::DeleteDatabaseOnFileThread, this, 69 base::Bind(&BrowsingDataDatabaseHelper::DeleteDatabaseOnFileThread, this,
68 origin, name)); 70 origin, name));
69 } 71 }
70 72
71 void BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread() { 73 void BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread() {
72 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 74 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
73 std::vector<webkit_database::OriginInfo> origins_info; 75 std::vector<webkit_database::OriginInfo> origins_info;
74 if (tracker_.get() && tracker_->GetAllOriginsInfo(&origins_info)) { 76 if (tracker_.get() && tracker_->GetAllOriginsInfo(&origins_info)) {
75 for (std::vector<webkit_database::OriginInfo>::const_iterator ori = 77 for (std::vector<webkit_database::OriginInfo>::const_iterator ori =
76 origins_info.begin(); ori != origins_info.end(); ++ori) { 78 origins_info.begin(); ori != origins_info.end(); ++ori) {
77 DatabaseIdentifier identifier = 79 DatabaseIdentifier identifier =
78 DatabaseIdentifier::Parse(ori->GetOriginIdentifier()); 80 DatabaseIdentifier::Parse(ori->GetOriginIdentifier());
79 if (!BrowsingDataHelper::HasWebScheme(identifier.ToOrigin())) { 81 if (!BrowsingDataHelper::HasWebScheme(identifier.ToOrigin())) {
80 // Non-websafe state is not considered browsing data. 82 // Non-websafe state is not considered browsing data.
81 continue; 83 continue;
82 } 84 }
(...skipping 15 matching lines...) Expand all
98 } 100 }
99 } 101 }
100 } 102 }
101 103
102 BrowserThread::PostTask( 104 BrowserThread::PostTask(
103 BrowserThread::UI, FROM_HERE, 105 BrowserThread::UI, FROM_HERE,
104 base::Bind(&BrowsingDataDatabaseHelper::NotifyInUIThread, this)); 106 base::Bind(&BrowsingDataDatabaseHelper::NotifyInUIThread, this));
105 } 107 }
106 108
107 void BrowsingDataDatabaseHelper::NotifyInUIThread() { 109 void BrowsingDataDatabaseHelper::NotifyInUIThread() {
108 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 110 DCHECK_CURRENTLY_ON(BrowserThread::UI);
109 DCHECK(is_fetching_); 111 DCHECK(is_fetching_);
110 completion_callback_.Run(database_info_); 112 completion_callback_.Run(database_info_);
111 completion_callback_.Reset(); 113 completion_callback_.Reset();
112 is_fetching_ = false; 114 is_fetching_ = false;
113 database_info_.clear(); 115 database_info_.clear();
114 } 116 }
115 117
116 void BrowsingDataDatabaseHelper::DeleteDatabaseOnFileThread( 118 void BrowsingDataDatabaseHelper::DeleteDatabaseOnFileThread(
117 const std::string& origin, 119 const std::string& origin,
118 const std::string& name) { 120 const std::string& name) {
119 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 121 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
120 if (!tracker_.get()) 122 if (!tracker_.get())
121 return; 123 return;
122 tracker_->DeleteDatabase(origin, base::UTF8ToUTF16(name), 124 tracker_->DeleteDatabase(origin, base::UTF8ToUTF16(name),
123 net::CompletionCallback()); 125 net::CompletionCallback());
124 } 126 }
125 127
126 CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo::PendingDatabaseInfo( 128 CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo::PendingDatabaseInfo(
127 const GURL& origin, 129 const GURL& origin,
128 const std::string& name, 130 const std::string& name,
129 const std::string& description) 131 const std::string& description)
(...skipping 11 matching lines...) Expand all
141 return origin < other.origin; 143 return origin < other.origin;
142 } 144 }
143 145
144 CannedBrowsingDataDatabaseHelper::CannedBrowsingDataDatabaseHelper( 146 CannedBrowsingDataDatabaseHelper::CannedBrowsingDataDatabaseHelper(
145 Profile* profile) 147 Profile* profile)
146 : BrowsingDataDatabaseHelper(profile), 148 : BrowsingDataDatabaseHelper(profile),
147 profile_(profile) { 149 profile_(profile) {
148 } 150 }
149 151
150 CannedBrowsingDataDatabaseHelper* CannedBrowsingDataDatabaseHelper::Clone() { 152 CannedBrowsingDataDatabaseHelper* CannedBrowsingDataDatabaseHelper::Clone() {
151 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 153 DCHECK_CURRENTLY_ON(BrowserThread::UI);
152 CannedBrowsingDataDatabaseHelper* clone = 154 CannedBrowsingDataDatabaseHelper* clone =
153 new CannedBrowsingDataDatabaseHelper(profile_); 155 new CannedBrowsingDataDatabaseHelper(profile_);
154 156
155 clone->pending_database_info_ = pending_database_info_; 157 clone->pending_database_info_ = pending_database_info_;
156 return clone; 158 return clone;
157 } 159 }
158 160
159 void CannedBrowsingDataDatabaseHelper::AddDatabase( 161 void CannedBrowsingDataDatabaseHelper::AddDatabase(
160 const GURL& origin, 162 const GURL& origin,
161 const std::string& name, 163 const std::string& name,
162 const std::string& description) { 164 const std::string& description) {
163 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 165 DCHECK_CURRENTLY_ON(BrowserThread::UI);
164 if (BrowsingDataHelper::HasWebScheme(origin)) { 166 if (BrowsingDataHelper::HasWebScheme(origin)) {
165 pending_database_info_.insert(PendingDatabaseInfo( 167 pending_database_info_.insert(PendingDatabaseInfo(
166 origin, name, description)); 168 origin, name, description));
167 } 169 }
168 } 170 }
169 171
170 void CannedBrowsingDataDatabaseHelper::Reset() { 172 void CannedBrowsingDataDatabaseHelper::Reset() {
171 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 173 DCHECK_CURRENTLY_ON(BrowserThread::UI);
172 pending_database_info_.clear(); 174 pending_database_info_.clear();
173 } 175 }
174 176
175 bool CannedBrowsingDataDatabaseHelper::empty() const { 177 bool CannedBrowsingDataDatabaseHelper::empty() const {
176 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 178 DCHECK_CURRENTLY_ON(BrowserThread::UI);
177 return pending_database_info_.empty(); 179 return pending_database_info_.empty();
178 } 180 }
179 181
180 size_t CannedBrowsingDataDatabaseHelper::GetDatabaseCount() const { 182 size_t CannedBrowsingDataDatabaseHelper::GetDatabaseCount() const {
181 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 183 DCHECK_CURRENTLY_ON(BrowserThread::UI);
182 return pending_database_info_.size(); 184 return pending_database_info_.size();
183 } 185 }
184 186
185 const std::set<CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo>& 187 const std::set<CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo>&
186 CannedBrowsingDataDatabaseHelper::GetPendingDatabaseInfo() { 188 CannedBrowsingDataDatabaseHelper::GetPendingDatabaseInfo() {
187 return pending_database_info_; 189 return pending_database_info_;
188 } 190 }
189 191
190 void CannedBrowsingDataDatabaseHelper::StartFetching( 192 void CannedBrowsingDataDatabaseHelper::StartFetching(
191 const base::Callback<void(const std::list<DatabaseInfo>&)>& callback) { 193 const base::Callback<void(const std::list<DatabaseInfo>&)>& callback) {
192 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 194 DCHECK_CURRENTLY_ON(BrowserThread::UI);
193 DCHECK(!callback.is_null()); 195 DCHECK(!callback.is_null());
194 196
195 std::list<DatabaseInfo> result; 197 std::list<DatabaseInfo> result;
196 for (std::set<PendingDatabaseInfo>::const_iterator 198 for (std::set<PendingDatabaseInfo>::const_iterator
197 info = pending_database_info_.begin(); 199 info = pending_database_info_.begin();
198 info != pending_database_info_.end(); ++info) { 200 info != pending_database_info_.end(); ++info) {
199 DatabaseIdentifier identifier = 201 DatabaseIdentifier identifier =
200 DatabaseIdentifier::CreateFromOrigin(info->origin); 202 DatabaseIdentifier::CreateFromOrigin(info->origin);
201 203
202 result.push_back(DatabaseInfo( 204 result.push_back(DatabaseInfo(
(...skipping 19 matching lines...) Expand all
222 ++it) { 224 ++it) {
223 if (it->origin == origin && it->name == name) { 225 if (it->origin == origin && it->name == name) {
224 pending_database_info_.erase(it); 226 pending_database_info_.erase(it);
225 break; 227 break;
226 } 228 }
227 } 229 }
228 BrowsingDataDatabaseHelper::DeleteDatabase(origin_identifier, name); 230 BrowsingDataDatabaseHelper::DeleteDatabase(origin_identifier, name);
229 } 231 }
230 232
231 CannedBrowsingDataDatabaseHelper::~CannedBrowsingDataDatabaseHelper() {} 233 CannedBrowsingDataDatabaseHelper::~CannedBrowsingDataDatabaseHelper() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698