Chromium Code Reviews| Index: components/browsing_data/content/storage_partition_http_cache_data_remover.cc |
| diff --git a/components/browsing_data/content/storage_partition_http_cache_data_remover.cc b/components/browsing_data/content/storage_partition_http_cache_data_remover.cc |
| index c0f20519de21284f8703bf2686283c1dea96bdb7..b4352a0525275eee08dbca142b01019fc390f78a 100644 |
| --- a/components/browsing_data/content/storage_partition_http_cache_data_remover.cc |
| +++ b/components/browsing_data/content/storage_partition_http_cache_data_remover.cc |
| @@ -34,10 +34,8 @@ StoragePartitionHttpCacheDataRemover::StoragePartitionHttpCacheDataRemover( |
| delete_end_(delete_end), |
| main_context_getter_(main_context_getter), |
| media_context_getter_(media_context_getter), |
| - next_cache_state_(STATE_NONE), |
| - cache_(nullptr), |
| - calculation_result_(0) { |
| -} |
| + next_cache_state_(CacheState::NONE), |
| + cache_(nullptr) {} |
| StoragePartitionHttpCacheDataRemover::~StoragePartitionHttpCacheDataRemover() { |
| } |
| @@ -81,76 +79,47 @@ void StoragePartitionHttpCacheDataRemover::Remove( |
| base::Unretained(this))); |
| } |
| -void StoragePartitionHttpCacheDataRemover::Count( |
| - const net::Int64CompletionCallback& result_callback) { |
| - DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| - DCHECK(!result_callback.is_null()); |
| - result_callback_ = result_callback; |
| - calculation_result_ = 0; |
| - |
| - BrowserThread::PostTask( |
| - BrowserThread::IO, FROM_HERE, |
| - base::Bind( |
| - &StoragePartitionHttpCacheDataRemover::CountHttpCacheOnIOThread, |
| - base::Unretained(this))); |
| -} |
| - |
| void StoragePartitionHttpCacheDataRemover::ClearHttpCacheOnIOThread() { |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| - next_cache_state_ = STATE_NONE; |
| - DCHECK_EQ(STATE_NONE, next_cache_state_); |
| + next_cache_state_ = CacheState::NONE; |
| + DCHECK_EQ(CacheState::NONE, next_cache_state_); |
| DCHECK(main_context_getter_.get()); |
| DCHECK(media_context_getter_.get()); |
| - next_cache_state_ = STATE_CREATE_MAIN; |
| + next_cache_state_ = CacheState::CREATE_MAIN; |
| DoClearCache(net::OK); |
| } |
| -void StoragePartitionHttpCacheDataRemover::CountHttpCacheOnIOThread() { |
| - DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| - next_cache_state_ = STATE_NONE; |
| - DCHECK_EQ(STATE_NONE, next_cache_state_); |
| - DCHECK(main_context_getter_.get()); |
| - DCHECK(media_context_getter_.get()); |
| - |
| - next_cache_state_ = STATE_CREATE_MAIN; |
| - DoCountCache(net::OK); |
| -} |
| - |
| void StoragePartitionHttpCacheDataRemover::ClearedHttpCache() { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| done_callback_.Run(); |
| base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this); |
| } |
| -void StoragePartitionHttpCacheDataRemover::CountedHttpCache() { |
| - DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| - result_callback_.Run(calculation_result_); |
| - base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this); |
| -} |
| - |
| -// The expected state sequence is STATE_NONE --> STATE_CREATE_MAIN --> |
| -// STATE_PROCESS_MAIN --> STATE_CREATE_MEDIA --> STATE_PROCESS_MEDIA --> |
| -// STATE_DONE, and any errors are ignored. |
| +// The expected state sequence is CacheState::NONE --> CacheState::CREATE_MAIN |
| +// --> |
|
msramek
2016/12/20 01:03:00
nit: Ditto.
dullweber
2016/12/21 10:29:20
Done.
|
| +// CacheState::PROCESS_MAIN --> CacheState::CREATE_MEDIA --> |
| +// CacheState::PROCESS_MEDIA --> |
| +// CacheState::DONE, and any errors are ignored. |
| void StoragePartitionHttpCacheDataRemover::DoClearCache(int rv) { |
| - DCHECK_NE(STATE_NONE, next_cache_state_); |
| + DCHECK_NE(CacheState::NONE, next_cache_state_); |
| - while (rv != net::ERR_IO_PENDING && next_cache_state_ != STATE_NONE) { |
| + while (rv != net::ERR_IO_PENDING && next_cache_state_ != CacheState::NONE) { |
| switch (next_cache_state_) { |
| - case STATE_CREATE_MAIN: |
| - case STATE_CREATE_MEDIA: { |
| + case CacheState::CREATE_MAIN: |
| + case CacheState::CREATE_MEDIA: { |
| // Get a pointer to the cache. |
| net::URLRequestContextGetter* getter = |
| - (next_cache_state_ == STATE_CREATE_MAIN) |
| + (next_cache_state_ == CacheState::CREATE_MAIN) |
| ? main_context_getter_.get() |
| : media_context_getter_.get(); |
| net::HttpCache* http_cache = getter->GetURLRequestContext() |
| ->http_transaction_factory() |
| ->GetCache(); |
| - next_cache_state_ = (next_cache_state_ == STATE_CREATE_MAIN) |
| - ? STATE_PROCESS_MAIN |
| - : STATE_PROCESS_MEDIA; |
| + next_cache_state_ = (next_cache_state_ == CacheState::CREATE_MAIN) |
| + ? CacheState::DELETE_MAIN |
| + : CacheState::DELETE_MEDIA; |
| // Clear QUIC server information from memory and the disk cache. |
| http_cache->GetSession() |
| @@ -172,11 +141,11 @@ void StoragePartitionHttpCacheDataRemover::DoClearCache(int rv) { |
| base::Unretained(this))); |
| break; |
| } |
| - case STATE_PROCESS_MAIN: |
| - case STATE_PROCESS_MEDIA: { |
| - next_cache_state_ = (next_cache_state_ == STATE_PROCESS_MAIN) |
| - ? STATE_CREATE_MEDIA |
| - : STATE_DONE; |
| + case CacheState::DELETE_MAIN: |
| + case CacheState::DELETE_MEDIA: { |
| + next_cache_state_ = (next_cache_state_ == CacheState::DELETE_MAIN) |
| + ? CacheState::CREATE_MEDIA |
| + : CacheState::DONE; |
| // |cache_| can be null if it cannot be initialized. |
| if (cache_) { |
| @@ -205,9 +174,9 @@ void StoragePartitionHttpCacheDataRemover::DoClearCache(int rv) { |
| } |
| break; |
| } |
| - case STATE_DONE: { |
| + case CacheState::DONE: { |
| cache_ = NULL; |
| - next_cache_state_ = STATE_NONE; |
| + next_cache_state_ = CacheState::NONE; |
| // Notify the UI thread that we are done. |
| BrowserThread::PostTask( |
| @@ -216,91 +185,8 @@ void StoragePartitionHttpCacheDataRemover::DoClearCache(int rv) { |
| base::Unretained(this))); |
| return; |
| } |
| - default: { |
| - NOTREACHED() << "bad state"; |
| - next_cache_state_ = STATE_NONE; // Stop looping. |
| - return; |
| - } |
| - } |
| - } |
| -} |
| - |
| -// The expected state sequence is STATE_NONE --> STATE_CREATE_MAIN --> |
| -// STATE_PROCESS_MAIN --> STATE_CREATE_MEDIA --> STATE_PROCESS_MEDIA --> |
| -// STATE_DONE. On error, we jump directly to STATE_DONE. |
| -void StoragePartitionHttpCacheDataRemover::DoCountCache(int rv) { |
| - DCHECK_NE(STATE_NONE, next_cache_state_); |
| - |
| - while (rv != net::ERR_IO_PENDING && next_cache_state_ != STATE_NONE) { |
| - // On error, finish and return the error code. A valid result value might |
| - // be of two types - either net::OK from the CREATE states, or the result |
| - // of calculation from the PROCESS states. Since net::OK == 0, it is valid |
| - // to simply add the value to the final calculation result. |
| - if (rv < 0) { |
| - calculation_result_ = rv; |
| - next_cache_state_ = STATE_DONE; |
| - } else { |
| - DCHECK_EQ(0, net::OK); |
| - calculation_result_ += rv; |
| - } |
| - |
| - switch (next_cache_state_) { |
| - case STATE_CREATE_MAIN: |
| - case STATE_CREATE_MEDIA: { |
| - // Get a pointer to the cache. |
| - net::URLRequestContextGetter* getter = |
| - (next_cache_state_ == STATE_CREATE_MAIN) |
| - ? main_context_getter_.get() |
| - : media_context_getter_.get(); |
| - net::HttpCache* http_cache = getter->GetURLRequestContext() |
| - ->http_transaction_factory() |
| - ->GetCache(); |
| - |
| - next_cache_state_ = (next_cache_state_ == STATE_CREATE_MAIN) |
| - ? STATE_PROCESS_MAIN |
| - : STATE_PROCESS_MEDIA; |
| - |
| - rv = http_cache->GetBackend( |
| - &cache_, |
| - base::Bind(&StoragePartitionHttpCacheDataRemover::DoCountCache, |
| - base::Unretained(this))); |
| - break; |
| - } |
| - case STATE_PROCESS_MAIN: |
| - case STATE_PROCESS_MEDIA: { |
| - next_cache_state_ = (next_cache_state_ == STATE_PROCESS_MAIN) |
| - ? STATE_CREATE_MEDIA |
| - : STATE_DONE; |
| - |
| - // |cache_| can be null if it cannot be initialized. |
| - if (cache_) { |
| - if (delete_begin_.is_null() && delete_end_.is_max()) { |
| - rv = cache_->CalculateSizeOfAllEntries( |
| - base::Bind( |
| - &StoragePartitionHttpCacheDataRemover::DoCountCache, |
| - base::Unretained(this))); |
| - } else { |
| - // TODO(msramek): Implement this when we need it. |
| - DoCountCache(net::ERR_NOT_IMPLEMENTED); |
| - } |
| - cache_ = NULL; |
| - } |
| - break; |
| - } |
| - case STATE_DONE: { |
| - cache_ = NULL; |
| - next_cache_state_ = STATE_NONE; |
| - |
| - // Notify the UI thread that we are done. |
| - BrowserThread::PostTask( |
| - BrowserThread::UI, FROM_HERE, |
| - base::Bind(&StoragePartitionHttpCacheDataRemover::CountedHttpCache, |
| - base::Unretained(this))); |
| - return; |
| - } |
| - default: { |
| + case CacheState::NONE: { |
| NOTREACHED() << "bad state"; |
| - next_cache_state_ = STATE_NONE; // Stop looping. |
| return; |
| } |
| } |