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

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

Issue 2556363003: Refactor cache counting into a separate helper class (Closed)
Patch Set: cleanup Created 4 years 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
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 <algorithm> 5 #include <algorithm>
6 #include <memory> 6 #include <memory>
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 int pos = 0; 138 int pos = 0;
139 for (const std::string& key : keys) { 139 for (const std::string& key : keys) {
140 WaitForCompletion(backend_->CreateEntry( 140 WaitForCompletion(backend_->CreateEntry(
141 key, &entries_[pos++], done_callback_)); 141 key, &entries_[pos++], done_callback_));
142 } 142 }
143 } 143 }
144 144
145 void DeleteEntries( 145 void DeleteEntries(
146 const base::Callback<bool(const disk_cache::Entry*)>& condition) { 146 const base::Callback<bool(const disk_cache::Entry*)>& condition) {
147 DCHECK_CURRENTLY_ON(BrowserThread::IO); 147 DCHECK_CURRENTLY_ON(BrowserThread::IO);
148 ConditionalCacheDeletionHelper* helper = new ConditionalCacheDeletionHelper( 148 auto* helper = new ConditionalCacheDeletionHelper(backend_, condition);
149 backend_,
150 condition);
151 149
152 WaitForCompletion(helper->DeleteAndDestroySelfWhenFinished(done_callback_)); 150 WaitForCompletion(helper->DeleteAndDestroySelfWhenFinished(done_callback_));
153 } 151 }
154 152
155 void GetRemainingKeys() { 153 void GetRemainingKeys() {
156 DCHECK_CURRENTLY_ON(BrowserThread::IO); 154 DCHECK_CURRENTLY_ON(BrowserThread::IO);
157 current_entry_ = nullptr; 155 current_entry_ = nullptr;
158 iterator_ = backend_->CreateIterator(); 156 iterator_ = backend_->CreateIterator();
159 GetNextKey(net::OK); 157 GetNextKey(net::OK);
160 } 158 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 std::unique_ptr<base::WaitableEvent> waitable_event_; 196 std::unique_ptr<base::WaitableEvent> waitable_event_;
199 int remaining_tasks_; 197 int remaining_tasks_;
200 198
201 std::vector<std::string> remaining_keys_; 199 std::vector<std::string> remaining_keys_;
202 }; 200 };
203 201
204 // Tests that ConditionalCacheDeletionHelper only deletes those cache entries 202 // Tests that ConditionalCacheDeletionHelper only deletes those cache entries
205 // that match the condition. 203 // that match the condition.
206 IN_PROC_BROWSER_TEST_F(ConditionalCacheDeletionHelperBrowserTest, Condition) { 204 IN_PROC_BROWSER_TEST_F(ConditionalCacheDeletionHelperBrowserTest, Condition) {
207 // Create 5 entries. 205 // Create 5 entries.
208 std::set<std::string> keys; 206 std::set<std::string> keys = {"123", "47", "56", "81", "42"};
209 keys.insert("123");
210 keys.insert("47");
211 keys.insert("56");
212 keys.insert("81");
213 keys.insert("42");
214 207
215 BrowserThread::PostTask( 208 BrowserThread::PostTask(
216 BrowserThread::IO, FROM_HERE, 209 BrowserThread::IO, FROM_HERE,
217 base::Bind(&ConditionalCacheDeletionHelperBrowserTest::CreateCacheEntries, 210 base::Bind(&ConditionalCacheDeletionHelperBrowserTest::CreateCacheEntries,
218 base::Unretained(this), 211 base::Unretained(this),
219 base::ConstRef(keys))); 212 base::ConstRef(keys)));
220 WaitForTasksOnIOThread(); 213 WaitForTasksOnIOThread();
221 214
222 // Delete the entries whose keys are even numbers. 215 // Delete the entries whose keys are even numbers.
223 BrowserThread::PostTask( 216 BrowserThread::PostTask(
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 BrowserThread::IO, FROM_HERE, 302 BrowserThread::IO, FROM_HERE,
310 base::Bind(&ConditionalCacheDeletionHelperBrowserTest::GetRemainingKeys, 303 base::Bind(&ConditionalCacheDeletionHelperBrowserTest::GetRemainingKeys,
311 base::Unretained(this))); 304 base::Unretained(this)));
312 WaitForTasksOnIOThread(); 305 WaitForTasksOnIOThread();
313 306
314 keys.insert(newer_keys.begin(), newer_keys.end()); 307 keys.insert(newer_keys.begin(), newer_keys.end());
315 keys.erase("https://example.com/foo/bar/icon2.png"); 308 keys.erase("https://example.com/foo/bar/icon2.png");
316 keys.erase("https://example.com/foo/bar/icon3.png"); 309 keys.erase("https://example.com/foo/bar/icon3.png");
317 CompareRemainingKeys(keys); 310 CompareRemainingKeys(keys);
318 } 311 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698