Commit 6bbe791f authored by Han Leon's avatar Han Leon Committed by Commit Bot

[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 <leon.han@intel.com>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579273}
parent e2ac1b64
......@@ -55,7 +55,6 @@ include_rules = [
"+third_party/blink/public/platform/modules/device_orientation/WebDeviceMotionData.h",
"+third_party/blink/public/platform/modules/device_orientation/WebDeviceOrientationData.h",
"+third_party/blink/public/platform/modules/fetch/fetch_api_request.mojom.h",
"+third_party/blink/public/platform/modules/fetch/fetch_api_response.mojom.h",
"+third_party/blink/public/platform/modules/indexeddb/web_idb_types.h",
"+third_party/blink/public/platform/modules/mediasession/media_session.mojom.h",
"+third_party/blink/public/platform/modules/mediastream/media_devices.mojom.h",
......
......@@ -7,7 +7,7 @@
#include "mojo/public/cpp/base/time_mojom_traits.h"
#include "mojo/public/cpp/test_support/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/platform/modules/fetch/fetch_api_response.mojom.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_response.mojom.h"
#include "url/mojom/url_gurl_mojom_traits.h"
#include "net/base/load_flags.h"
......
......@@ -704,7 +704,6 @@ mojom("mojo_bindings") {
"platform/modules/cache_storage/cache_storage.mojom",
"platform/modules/credentialmanager/credential_manager.mojom",
"platform/modules/fetch/fetch_api_request.mojom",
"platform/modules/fetch/fetch_api_response.mojom",
"platform/modules/geolocation/geolocation_service.mojom",
"platform/modules/hyphenation/hyphenation.mojom",
"platform/modules/insecure_input/insecure_input_service.mojom",
......
......@@ -22,6 +22,7 @@ mojom("mojom_platform") {
"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",
......
file://third_party/blink/renderer/core/fetch/OWNERS
per-file *.mojom=set noparent
per-file *.mojom=file://ipc/SECURITY_OWNERS
# TEAM: blink-network-dev@chromium.org
# COMPONENT: Blink>Network>FetchAPI
Public mojom files that are referenced both from browser-side and renderer-side
for [Fetch API](https://fetch.spec.whatwg.org/#fetch-api).
......@@ -4,8 +4,8 @@
module blink.mojom;
import "third_party/blink/public/mojom/fetch/fetch_api_response.mojom";
import "third_party/blink/public/platform/modules/fetch/fetch_api_request.mojom";
import "third_party/blink/public/platform/modules/fetch/fetch_api_response.mojom";
import "mojo/public/mojom/base/string16.mojom";
// This enum is used in histograms, so do not change the ordering and always
......
......@@ -10,8 +10,8 @@
#include "base/macros.h"
#include "base/memory/scoped_refptr.h"
#include "services/network/public/mojom/fetch_api.mojom-blink.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_response.mojom-blink.h"
#include "third_party/blink/public/platform/modules/fetch/fetch_api_request.mojom-blink.h"
#include "third_party/blink/public/platform/modules/fetch/fetch_api_response.mojom-blink.h"
#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_request.h"
#include "third_party/blink/public/platform/web_cors.h"
#include "third_party/blink/renderer/core/core_export.h"
......
......@@ -5,7 +5,7 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_RESPONSE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_RESPONSE_H_
#include "third_party/blink/public/platform/modules/fetch/fetch_api_response.mojom-blink.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_response.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/dictionary.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/core/core_export.h"
......
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