[OnionSoup] Move blink.mojom.FetchAPIResponse into blink/public/mojom/fetch/
This CL is the 2nd step of the plan below aiming to eliminate the native
struct content::ServiceWorkerResponse defined in
content/common/service_worker/service_worker_types.h.
1st step:
https://chromium-review.googlesource.com/c/chromium/src/+/1134731
- Remove the typemapping of blink.mojom.FetchAPIResponse.
The mojom struct blink.mojom.FetchAPIResponse describes a Response in
terms of the concept from the Fetch spec, currently it's defined under
blink/public/platform/modules/fetch/ and is used only by Cache Storage
API implementation (by both Browser and Renderer code), as this struct
meets the 2 conditions below, it should be fine to go into
blink/public/mojom/:
- it is expected to be used by both Browser and Renderer code.
- it is expected to be passed over Mojo between Browser and
Renderer (Blink).
But, currently for Chromium Mojo binding variant it is typemapped to
content::ServiceWorkerResponse being used in
content/browser/cache_storage/, this blocks it being moved to
blink/public/mojom/. So we need to remove this typemapping first, this
removal also helps reduce 1 user of content::ServiceWorkerResponse.
2nd step: (This CL)
Now we can just move blink.mojom.FetchAPIResponse into
blink/public/mojom/fetch/, which makes the next steps possible.
3rd step:
- Use blink.mojom.FetchAPIResponse to represent the response a service
worker provides to FetchEvent#respondWith. Specifically, use this
mojom struct to replace the existing [Native] mojom struct
content.mojom.ServiceWorkerResponse in
content/common/service_worker/service_worker_fetch_response_callback.mojom.
Thus we can reduce another 1 user of content::ServiceWorkerResponse.
More importantly, this makes it possible for us to move
service_worker_fetch_response_callback.mojom into
blink/public/mojom/service_worker/ in future.
4th step:
- Use blink.mojom.FetchAPIResponse to represent responses to background
fetches. Specifically, use this mojom struct to replace the existing
[Native] mojom struct content.mojom.ServiceWorkerResponse defined in
content/common/service_worker/service_worker.mojom.
Thus we can reduce the last 1 user of content::ServiceWorkerResponse.
5th step:
- Remove content::ServiceWorkerResponse and do any left cleanup.
BUG=789854
Change-Id: I9afad29a89887369c211cb46bce5bc98df16064f
Reviewed-on: https://chromium-review.googlesource.com/1149706
Commit-Queue: Han Leon <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Reviewed-by: Makoto Shimazu <[email protected]>
Reviewed-by: Yutaka Hirano <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Cr-Commit-Position: refs/heads/master@{#579273}
diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn
index 312a34a..f121b4d 100644
--- a/third_party/blink/public/mojom/BUILD.gn
+++ b/third_party/blink/public/mojom/BUILD.gn
@@ -22,6 +22,7 @@
"dom_storage/storage_area.mojom",
"dom_storage/storage_partition_service.mojom",
"feature_policy/feature_policy.mojom",
+ "fetch/fetch_api_response.mojom",
"file/file_utilities.mojom",
"frame/find_in_page.mojom",
"leak_detector/leak_detector.mojom",