summaryrefslogtreecommitdiff
path: root/chromium/content/browser/cache_storage
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-17 13:57:45 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-19 13:44:40 +0000
commit6ec7b8da05d21a3878bd21c691b41e675d74bb1c (patch)
treeb87f250bc19413750b9bb9cdbf2da20ef5014820 /chromium/content/browser/cache_storage
parentec02ee4181c49b61fce1c8fb99292dbb8139cc90 (diff)
downloadqtwebengine-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')
-rw-r--r--chromium/content/browser/cache_storage/cache_storage.cc1
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc4
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc1
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_cache.cc18
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_cache_unittest.cc9
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_context_impl.cc10
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_manager.cc1
-rw-r--r--chromium/content/browser/cache_storage/cache_storage_manager_unittest.cc4
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 */,