diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-07-17 13:57:45 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-07-19 13:44:40 +0000 |
commit | 6ec7b8da05d21a3878bd21c691b41e675d74bb1c (patch) | |
tree | b87f250bc19413750b9bb9cdbf2da20ef5014820 /chromium/content/browser/cache_storage | |
parent | ec02ee4181c49b61fce1c8fb99292dbb8139cc90 (diff) | |
download | qtwebengine-chromium-6ec7b8da05d21a3878bd21c691b41e675d74bb1c.tar.gz |
BASELINE: Update Chromium to 60.0.3112.70
Change-Id: I9911c2280a014d4632f254857876a395d4baed2d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/content/browser/cache_storage')
8 files changed, 30 insertions, 18 deletions
diff --git a/chromium/content/browser/cache_storage/cache_storage.cc b/chromium/content/browser/cache_storage/cache_storage.cc index 430e3c2ab3c..de76b56bf8d 100644 --- a/chromium/content/browser/cache_storage/cache_storage.cc +++ b/chromium/content/browser/cache_storage/cache_storage.cc @@ -19,6 +19,7 @@ #include "base/memory/ref_counted.h" #include "base/metrics/histogram_macros.h" #include "base/numerics/safe_conversions.h" +#include "base/sequenced_task_runner.h" #include "base/sha1.h" #include "base/single_thread_task_runner.h" #include "base/stl_util.h" diff --git a/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc b/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc index a375f8c140c..10c0fa672d8 100644 --- a/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc +++ b/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc @@ -12,6 +12,7 @@ #include "net/url_request/url_request_context_getter.h" #include "storage/browser/blob/blob_data_handle.h" #include "storage/browser/blob/blob_url_request_job_factory.h" +#include "storage/common/storage_histograms.h" namespace content { @@ -137,7 +138,8 @@ void CacheStorageBlobToDiskCache::DidWriteDataToEntry(int expected_bytes, RunCallbackAndRemoveObserver(false); return; } - + if (rv > 0) + storage::RecordBytesWritten("DiskCache.CacheStorage", rv); cache_entry_offset_ += rv; ReadFromBlob(); } diff --git a/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc b/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc index c75ca99e100..1b7c6a8f0f3 100644 --- a/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc +++ b/chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc @@ -11,6 +11,7 @@ #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/run_loop.h" +#include "base/single_thread_task_runner.h" #include "base/test/null_task_runner.h" #include "base/threading/thread_task_runner_handle.h" #include "content/browser/blob_storage/chrome_blob_storage_context.h" diff --git a/chromium/content/browser/cache_storage/cache_storage_cache.cc b/chromium/content/browser/cache_storage/cache_storage_cache.cc index 4bb7598563e..a120339b5d9 100644 --- a/chromium/content/browser/cache_storage/cache_storage_cache.cc +++ b/chromium/content/browser/cache_storage/cache_storage_cache.cc @@ -38,6 +38,7 @@ #include "storage/browser/blob/blob_storage_context.h" #include "storage/browser/blob/blob_url_request_job_factory.h" #include "storage/browser/quota/quota_manager_proxy.h" +#include "storage/common/storage_histograms.h" #include "third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerResponseType.h" namespace content { @@ -47,6 +48,8 @@ namespace { const size_t kMaxQueryCacheResultBytes = 1024 * 1024 * 10; // 10MB query cache limit +const char kRecordBytesLabel[] = "DiskCache.CacheStorage"; + // This class ensures that the cache and the entry have a lifetime as long as // the blob that is created to contain them. class CacheStorageCacheDataHandle @@ -185,6 +188,9 @@ void ReadMetadataDidReadMetadata(disk_cache::Entry* entry, return; } + if (rv > 0) + storage::RecordBytesRead(kRecordBytesLabel, rv); + std::unique_ptr<proto::CacheMetadata> metadata(new proto::CacheMetadata()); if (!metadata->ParseFromArray(buffer->data(), buffer->size())) { @@ -240,8 +246,7 @@ std::unique_ptr<ServiceWorkerResponse> CreateResponse( std::move(url_list), metadata.response().status_code(), metadata.response().status_text(), ProtoResponseTypeToWebResponseType(metadata.response().response_type()), - std::move(headers), "", 0, GURL(), - blink::kWebServiceWorkerResponseErrorUnknown, + std::move(headers), "", 0, blink::kWebServiceWorkerResponseErrorUnknown, base::Time::FromInternalValue(metadata.response().response_time()), true /* is_in_cache_storage */, cache_name, base::MakeUnique<ServiceWorkerHeaderList>( @@ -1003,6 +1008,9 @@ void CacheStorageCache::WriteSideDataDidWrite(const ErrorCallback& callback, return; } + if (rv > 0) + storage::RecordBytesWritten(kRecordBytesLabel, rv); + UpdateCacheSize(base::Bind(callback, CACHE_STORAGE_OK)); } @@ -1017,9 +1025,6 @@ void CacheStorageCache::Put(const CacheStorageBatchOperation& operation, operation.request.headers, operation.request.referrer, operation.request.is_reload)); - // We don't support streaming for cache. - DCHECK(operation.response.stream_url.is_empty()); - std::unique_ptr<ServiceWorkerResponse> response = base::MakeUnique<ServiceWorkerResponse>(operation.response); std::unique_ptr<storage::BlobDataHandle> blob_data_handle; @@ -1177,6 +1182,9 @@ void CacheStorageCache::PutDidWriteHeaders( return; } + if (rv > 0) + storage::RecordBytesWritten(kRecordBytesLabel, rv); + // The metadata is written, now for the response content. The data is streamed // from the blob into the cache entry. diff --git a/chromium/content/browser/cache_storage/cache_storage_cache_unittest.cc b/chromium/content/browser/cache_storage/cache_storage_cache_unittest.cc index cf7d2e1f851..3f0227b43bc 100644 --- a/chromium/content/browser/cache_storage/cache_storage_cache_unittest.cc +++ b/chromium/content/browser/cache_storage/cache_storage_cache_unittest.cc @@ -22,7 +22,6 @@ #include "base/threading/thread_task_runner_handle.h" #include "content/browser/blob_storage/chrome_blob_storage_context.h" #include "content/browser/cache_storage/cache_storage_cache_handle.h" -#include "content/browser/quota/mock_quota_manager_proxy.h" #include "content/common/cache_storage/cache_storage_types.h" #include "content/common/service_worker/service_worker_types.h" #include "content/public/browser/browser_thread.h" @@ -40,6 +39,7 @@ #include "storage/browser/blob/blob_storage_context.h" #include "storage/browser/blob/blob_url_request_job_factory.h" #include "storage/browser/quota/quota_manager_proxy.h" +#include "storage/browser/test/mock_quota_manager_proxy.h" #include "storage/browser/test/mock_special_storage_policy.h" #include "testing/gtest/include/gtest/gtest.h" @@ -445,9 +445,8 @@ class CacheStorageCacheTest : public testing::Test { return ServiceWorkerResponse( base::MakeUnique<std::vector<GURL>>(1, GURL(url)), 200, "OK", blink::kWebServiceWorkerResponseTypeDefault, std::move(headers), - blob_uuid, blob_size, GURL() /* stream_url */, - blink::kWebServiceWorkerResponseErrorUnknown, base::Time::Now(), - false /* is_in_cache_storage */, + blob_uuid, blob_size, blink::kWebServiceWorkerResponseErrorUnknown, + base::Time::Now(), false /* is_in_cache_storage */, std::string() /* cache_storage_cache_name */, std::move(cors_exposed_header_names)); } @@ -1520,7 +1519,7 @@ TEST_F(CacheStorageCacheTest, CaselessServiceWorkerResponseHeaders) { ServiceWorkerResponse response( base::MakeUnique<std::vector<GURL>>(), 200, "OK", blink::kWebServiceWorkerResponseTypeDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "", 0, GURL(), + base::MakeUnique<ServiceWorkerHeaderMap>(), "", 0, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* is_in_cache_storage */, std::string() /* cache_storage_cache_name */, diff --git a/chromium/content/browser/cache_storage/cache_storage_context_impl.cc b/chromium/content/browser/cache_storage/cache_storage_context_impl.cc index 349d323dbef..46e8d77a30b 100644 --- a/chromium/content/browser/cache_storage/cache_storage_context_impl.cc +++ b/chromium/content/browser/cache_storage/cache_storage_context_impl.cc @@ -6,7 +6,8 @@ #include "base/bind.h" #include "base/files/file_path.h" -#include "base/threading/sequenced_worker_pool.h" +#include "base/sequenced_task_runner.h" +#include "base/task_scheduler/post_task.h" #include "content/browser/blob_storage/chrome_blob_storage_context.h" #include "content/browser/cache_storage/cache_storage_manager.h" #include "content/public/browser/browser_context.h" @@ -32,11 +33,10 @@ void CacheStorageContextImpl::Init( DCHECK_CURRENTLY_ON(BrowserThread::UI); is_incognito_ = user_data_directory.empty(); - base::SequencedWorkerPool* pool = BrowserThread::GetBlockingPool(); scoped_refptr<base::SequencedTaskRunner> cache_task_runner = - pool->GetSequencedTaskRunnerWithShutdownBehavior( - base::SequencedWorkerPool::GetSequenceToken(), - base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); + base::CreateSequencedTaskRunnerWithTraits( + {base::MayBlock(), base::TaskPriority::BACKGROUND, + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); // This thread-hopping antipattern is needed here for some unit tests, where // browser threads are collapsed the quota manager is initialized before the diff --git a/chromium/content/browser/cache_storage/cache_storage_manager.cc b/chromium/content/browser/cache_storage/cache_storage_manager.cc index 362b8e923aa..47a0212acaa 100644 --- a/chromium/content/browser/cache_storage/cache_storage_manager.cc +++ b/chromium/content/browser/cache_storage/cache_storage_manager.cc @@ -16,6 +16,7 @@ #include "base/files/file_util.h" #include "base/id_map.h" #include "base/memory/ptr_util.h" +#include "base/sequenced_task_runner.h" #include "base/sha1.h" #include "base/stl_util.h" #include "base/strings/string_number_conversions.h" diff --git a/chromium/content/browser/cache_storage/cache_storage_manager_unittest.cc b/chromium/content/browser/cache_storage/cache_storage_manager_unittest.cc index 97c5918a10a..825fada5673 100644 --- a/chromium/content/browser/cache_storage/cache_storage_manager_unittest.cc +++ b/chromium/content/browser/cache_storage/cache_storage_manager_unittest.cc @@ -29,7 +29,6 @@ #include "content/browser/cache_storage/cache_storage_cache_handle.h" #include "content/browser/cache_storage/cache_storage_index.h" #include "content/browser/cache_storage/cache_storage_quota_client.h" -#include "content/browser/quota/mock_quota_manager_proxy.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/cache_storage_usage_info.h" #include "content/public/browser/storage_partition.h" @@ -43,6 +42,7 @@ #include "storage/browser/blob/blob_storage_context.h" #include "storage/browser/blob/blob_url_request_job_factory.h" #include "storage/browser/quota/quota_manager_proxy.h" +#include "storage/browser/test/mock_quota_manager_proxy.h" #include "storage/browser/test/mock_special_storage_policy.h" #include "testing/gtest/include/gtest/gtest.h" @@ -380,7 +380,7 @@ class CacheStorageManagerTest : public testing::Test { std::move(url_list), status_code, "OK", blink::kWebServiceWorkerResponseTypeDefault, base::MakeUnique<ServiceWorkerHeaderMap>(response_headers), - blob_handle->uuid(), request.url.spec().size(), GURL(), + blob_handle->uuid(), request.url.spec().size(), blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* is_in_cache_storage */, std::string() /* cache_storage_cache_name */, |