Index: chrome/browser/browsing_data/cache_test_util.cc |
diff --git a/chrome/browser/browsing_data/cache_test_util.cc b/chrome/browser/browsing_data/cache_test_util.cc |
deleted file mode 100644 |
index a4cf3df1e58561225adb83e6d3546085d2bf54fe..0000000000000000000000000000000000000000 |
--- a/chrome/browser/browsing_data/cache_test_util.cc |
+++ /dev/null |
@@ -1,147 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/memory/ptr_util.h" |
-#include "base/synchronization/waitable_event.h" |
-#include "chrome/browser/browsing_data/cache_test_util.h" |
-#include "net/disk_cache/disk_cache.h" |
-#include "net/http/http_cache.h" |
-#include "net/url_request/url_request_context.h" |
-#include "net/url_request/url_request_context_getter.h" |
- |
-using content::BrowserThread; |
- |
-CacheTestUtil::CacheTestUtil(content::StoragePartition* partition) |
- : partition_(partition), remaining_tasks_(0) { |
- done_callback_ = |
- base::Bind(&CacheTestUtil::DoneCallback, base::Unretained(this)); |
- // UI and IO thread synchronization. |
- waitable_event_ = base::MakeUnique<base::WaitableEvent>( |
- base::WaitableEvent::ResetPolicy::AUTOMATIC, |
- base::WaitableEvent::InitialState::NOT_SIGNALED); |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&CacheTestUtil::SetUpOnIOThread, base::Unretained(this))); |
- WaitForTasksOnIOThread(); |
-} |
- |
-CacheTestUtil::~CacheTestUtil() { |
- // The cache iterator must be deleted on the thread where it was created, |
- // which is the IO thread. |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&CacheTestUtil::TearDownOnIOThread, base::Unretained(this))); |
- WaitForTasksOnIOThread(); |
-} |
- |
-void CacheTestUtil::CreateCacheEntries(const std::set<std::string>& keys) { |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&CacheTestUtil::CreateCacheEntriesOnIOThread, |
- base::Unretained(this), base::ConstRef(keys))); |
- WaitForTasksOnIOThread(); |
-} |
- |
-void CacheTestUtil::SetUpOnIOThread() { |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- net::URLRequestContextGetter* context = partition_->GetURLRequestContext(); |
- |
- net::HttpCache* cache = |
- context->GetURLRequestContext()->http_transaction_factory()->GetCache(); |
- |
- SetNumberOfWaitedTasks(1); |
- WaitForCompletion(cache->GetBackend(&backend_, done_callback_)); |
-} |
- |
-void CacheTestUtil::TearDownOnIOThread() { |
- iterator_.reset(); |
- for (disk_cache::Entry* entry : entries_) { |
- entry->Close(); |
- } |
- entries_.clear(); |
- DoneCallback(net::OK); |
-} |
- |
-void CacheTestUtil::CreateCacheEntriesOnIOThread( |
- const std::set<std::string>& keys) { |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- |
- int pos = entries_.size(); |
- entries_.resize(entries_.size() + keys.size()); |
- SetNumberOfWaitedTasks(keys.size()); |
- |
- for (const std::string& key : keys) { |
- WaitForCompletion( |
- backend_->CreateEntry(key, &entries_[pos++], done_callback_)); |
- } |
-} |
- |
-// Waiting for tasks to be done on IO thread. -------------------------------- |
- |
-void CacheTestUtil::WaitForTasksOnIOThread() { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- waitable_event_->Wait(); |
-} |
- |
-void CacheTestUtil::SetNumberOfWaitedTasks(int count) { |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- remaining_tasks_ = count; |
-} |
- |
-void CacheTestUtil::WaitForCompletion(int value) { |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- if (value >= 0) { |
- // We got the result immediately. |
- DoneCallback(value); |
- } else if (value == net::ERR_IO_PENDING) { |
- // We need to wait for the callback. |
- } else { |
- // An error has occurred. |
- NOTREACHED(); |
- } |
-} |
- |
-void CacheTestUtil::DoneCallback(int value) { |
- DCHECK_GE(value, 0); // Negative values represent an error. |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- if (--remaining_tasks_ > 0) |
- return; |
- |
- waitable_event_->Signal(); |
-} |
- |
-// Check cache content. |
-std::vector<std::string> CacheTestUtil::GetEntryKeys() { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
- base::Bind(&CacheTestUtil::GetEntryKeysOnIOThread, |
- base::Unretained(this))); |
- WaitForTasksOnIOThread(); |
- return keys_; |
-} |
- |
-void CacheTestUtil::GetEntryKeysOnIOThread() { |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- keys_.clear(); |
- current_entry_ = nullptr; |
- iterator_ = backend_->CreateIterator(); |
- GetNextKey(net::OK); |
-} |
- |
-void CacheTestUtil::GetNextKey(int error) { |
- while (error != net::ERR_IO_PENDING) { |
- if (error == net::ERR_FAILED) { |
- DoneCallback(net::OK); |
- return; |
- } |
- |
- if (current_entry_) { |
- keys_.push_back(current_entry_->GetKey()); |
- } |
- |
- error = iterator_->OpenNextEntry( |
- ¤t_entry_, |
- base::Bind(&CacheTestUtil::GetNextKey, base::Unretained(this))); |
- } |
-} |