CacheStorage: Create cross-sequence wrappers.

There are a number of external clients that currently assume they can
access cache_storage on the IO thread.  In order to move cache_storage
off the IO thread this CL introduces a set of cross-sequence wrappers.
External clients on the wrong sequence will access cache_storage using
these wrapper classes.

Initially these wrappers will be used by background_fetch,
code_cache_host_impl, and the quota client.

Bug: 960012
Change-Id: I3810e0b4384b6ce2d8d46054f72407e10f12dfd5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1637818
Commit-Queue: Ben Kelly <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Reviewed-by: Victor Costan <[email protected]>
Reviewed-by: Rayan Kanso <[email protected]>
Cr-Commit-Position: refs/heads/master@{#669354}
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index da8cd31..e19a600 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -619,6 +619,13 @@
     "cache_storage/cache_storage_scheduler_types.h",
     "cache_storage/cache_storage_trace_utils.cc",
     "cache_storage/cache_storage_trace_utils.h",
+    "cache_storage/cross_sequence/cross_sequence_cache_storage.cc",
+    "cache_storage/cross_sequence/cross_sequence_cache_storage.h",
+    "cache_storage/cross_sequence/cross_sequence_cache_storage_cache.cc",
+    "cache_storage/cross_sequence/cross_sequence_cache_storage_cache.h",
+    "cache_storage/cross_sequence/cross_sequence_cache_storage_manager.cc",
+    "cache_storage/cross_sequence/cross_sequence_cache_storage_manager.h",
+    "cache_storage/cross_sequence/cross_sequence_utils.h",
     "cache_storage/legacy/legacy_cache_storage.cc",
     "cache_storage/legacy/legacy_cache_storage.h",
     "cache_storage/legacy/legacy_cache_storage_cache.cc",