Commit 6fd52f59 authored by Ben Kelly's avatar Ben Kelly Committed by Commit Bot

CacheStorage: Add feature to run off the IO thread.

This CL also adds the cache-storage-sequence virtual test suite for
cache_storage and service worker wpt tests.

Bug: 960012
Change-Id: I959a7ba5dd7a3336744301a158a5bd06bf5d158b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1670487Reviewed-by: default avatarDaniel Murphy <dmurph@chromium.org>
Commit-Queue: Ben Kelly <wanderview@chromium.org>
Cr-Commit-Position: refs/heads/master@{#676230}
parent a5e94f72
......@@ -5,6 +5,7 @@
#include "content/browser/cache_storage/cache_storage_context_impl.h"
#include "base/bind.h"
#include "base/feature_list.h"
#include "base/files/file_path.h"
#include "base/sequenced_task_runner.h"
#include "base/task/post_task.h"
......@@ -24,10 +25,23 @@
namespace content {
namespace {
const base::Feature kCacheStorageSequenceFeature{
"CacheStorageSequence", base::FEATURE_DISABLED_BY_DEFAULT};
scoped_refptr<base::SequencedTaskRunner> CreateSchedulerTaskRunner() {
if (!base::FeatureList::IsEnabled(kCacheStorageSequenceFeature))
return base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO});
return base::CreateSequencedTaskRunnerWithTraits(
{base::TaskPriority::USER_VISIBLE});
}
} // namespace
CacheStorageContextImpl::CacheStorageContextImpl(
BrowserContext* browser_context)
: task_runner_(
base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO})),
: task_runner_(CreateSchedulerTaskRunner()),
observers_(base::MakeRefCounted<ObserverList>()) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
}
......
......@@ -2145,6 +2145,9 @@ virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/fetch-event
virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html [ WontFix ]
virtual/not-omt-sw-fetch/external/wpt/xhr/send-authentication-existing-session-manual.htm [ WontFix ]
virtual/not-omt-sw-fetch/external/wpt/xhr/send-authentication-prompt-2-manual.htm [ WontFix ]
virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html [ WontFix ]
virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html [ WontFix ]
virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html [ WontFix ]
virtual/speech-with-unified-autoplay/external/wpt/speech-api/SpeechRecognition-abort-manual.https.html [ WontFix ]
virtual/speech-with-unified-autoplay/external/wpt/speech-api/SpeechRecognition-onerror-manual.https.html [ WontFix ]
virtual/speech-with-unified-autoplay/external/wpt/speech-api/SpeechRecognition-onresult-manual.https.html [ WontFix ]
......
......@@ -3066,6 +3066,7 @@ crbug.com/832071 external/wpt/service-workers/service-worker/worker-client-id.ht
crbug.com/832071 virtual/blink-cors/external/wpt/service-workers/service-worker/worker-client-id.https.html [ Failure ]
crbug.com/832071 virtual/navigation-mojo-response/external/wpt/service-workers/service-worker/worker-client-id.https.html [ Failure ]
crbug.com/832071 virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/worker-client-id.https.html [ Failure ]
crbug.com/832071 virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/worker-client-id.https.html [ Failure ]
# failures in external/wpt/css/css-animations/ and web-animations/ from Mozilla tests
crbug.com/849859 external/wpt/css/css-animations/CSSAnimation-pausing.tentative.html [ Failure ]
......@@ -3474,6 +3475,7 @@ crbug.com/626703 external/wpt/service-workers/service-worker/ready.https.html [
crbug.com/626703 virtual/blink-cors/external/wpt/service-workers/service-worker/ready.https.html [ Timeout ]
crbug.com/626703 virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/ready.https.html [ Timeout ]
crbug.com/626703 virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/ready.https.html [ Timeout ]
crbug.com/626703 virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/ready.https.html [ Timeout ]
crbug.com/626703 [ Linux ] external/wpt/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-002.tentative.html [ Failure ]
crbug.com/626703 [ Mac ] external/wpt/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-002.tentative.html [ Failure ]
crbug.com/626703 [ Win ] external/wpt/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-002.tentative.html [ Failure ]
......@@ -4307,6 +4309,7 @@ crbug.com/648295 external/wpt/service-workers/service-worker/update-bytecheck.ht
crbug.com/648295 virtual/blink-cors/external/wpt/service-workers/service-worker/update-bytecheck.https.html [ Timeout ]
crbug.com/648295 virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/update-bytecheck.https.html [ Timeout ]
crbug.com/648295 virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/update-bytecheck.https.html [ Timeout ]
crbug.com/648295 virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/update-bytecheck.https.html [ Timeout ]
crbug.com/626703 external/wpt/svg/linking/reftests/href-filter-element.html [ Failure ]
crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html [ Failure ]
crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html [ Failure ]
......@@ -4715,12 +4718,14 @@ crbug.com/691944 external/wpt/service-workers/service-worker/update-after-oneday
crbug.com/691944 virtual/blink-cors/external/wpt/service-workers/service-worker/update-after-oneday.https.html [ Skip ]
crbug.com/691944 virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/update-after-oneday.https.html [ Skip ]
crbug.com/691944 virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/update-after-oneday.https.html [ Skip ]
crbug.com/691944 virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/update-after-oneday.https.html [ Skip ]
# These tests (erroneously) see a platform-specific User-Agent header
crbug.com/595993 external/wpt/service-workers/service-worker/fetch-header-visibility.https.html [ Failure ]
crbug.com/595993 virtual/blink-cors/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html [ Failure ]
crbug.com/595993 virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html [ Failure ]
crbug.com/595993 virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html [ Failure ]
crbug.com/595993 virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html [ Failure ]
crbug.com/619427 [ Mac ] fast/overflow/overflow-height-float-not-removed-crash3.html [ Pass Failure ]
......@@ -5862,6 +5867,7 @@ crbug.com/933880 external/wpt/service-workers/service-worker/request-end-to-end.
crbug.com/933880 virtual/blink-cors/external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Failure ]
crbug.com/933880 virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Failure ]
crbug.com/933880 virtual/not-omt-sw-fetch/external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Failure ]
crbug.com/933880 virtual/cache-storage-sequence/external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Failure ]
crbug.com/933880 http/tests/inspector-protocol/network/interception-take-stream.js [ Failure ]
crbug.com/933880 http/tests/inspector-protocol/network/xhr-interception-auth-fail.js [ Failure ]
# This passes in content_shell but not in chrome with network service disabled,
......
......@@ -1136,5 +1136,10 @@
"prefix": "at-property",
"base": "external/wpt/css/css-properties-values-api",
"args": ["--enable-blink-features=CSSVariables2AtProperty"]
},
{
"prefix": "cache-storage-sequence",
"base": "external/wpt/service-workers",
"args": ["--enable-features=CacheStorageSequence"]
}
]
This suite runs the ServiceWorker and CacheStorage tests with the
CacheStorageSequence feature enabled. This makes CacheStorage operate off
the IO thread in the browser process.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment