Commit 0489ac9f authored by Richard Li's avatar Richard Li Committed by Commit Bot

[OnionSoup] remove content::ServiceWorkerResponse

This CL is the 5th 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

2nd step:
https://chromium-review.googlesource.com/c/chromium/src/+/1149706

3rd step:
https://chromium-review.googlesource.com/c/chromium/src/+/1155999

4th step:
https://chromium-review.googlesource.com/c/chromium/src/+/1164848

5th step: (this CL)
- Remove content::ServiceWorkerResponse

Bug=789854

Change-Id: I527f76f79f8614acafd7e414f4c1044d8a7be64e
Reviewed-on: https://chromium-review.googlesource.com/1180738Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584378}
parent d699affb
......@@ -156,63 +156,4 @@ ServiceWorkerFetchRequest::GetCacheModeFromLoadFlags(int load_flags) {
return blink::mojom::FetchCacheMode::kDefault;
}
ServiceWorkerResponse::ServiceWorkerResponse()
: status_code(0),
response_type(network::mojom::FetchResponseType::kOpaque),
blob_size(0),
error(blink::mojom::ServiceWorkerResponseError::kUnknown) {}
ServiceWorkerResponse::ServiceWorkerResponse(
std::unique_ptr<std::vector<GURL>> url_list,
int status_code,
const std::string& status_text,
network::mojom::FetchResponseType response_type,
std::unique_ptr<ServiceWorkerHeaderMap> headers,
const std::string& blob_uuid,
uint64_t blob_size,
scoped_refptr<storage::BlobHandle> blob,
blink::mojom::ServiceWorkerResponseError error,
base::Time response_time,
bool is_in_cache_storage,
const std::string& cache_storage_cache_name,
std::unique_ptr<ServiceWorkerHeaderList> cors_exposed_headers)
: status_code(status_code),
status_text(status_text),
response_type(response_type),
blob_uuid(blob_uuid),
blob_size(blob_size),
blob(std::move(blob)),
error(error),
response_time(response_time),
is_in_cache_storage(is_in_cache_storage),
cache_storage_cache_name(cache_storage_cache_name) {
this->url_list.swap(*url_list);
this->headers.swap(*headers);
this->cors_exposed_header_names.swap(*cors_exposed_headers);
}
ServiceWorkerResponse::ServiceWorkerResponse(
const ServiceWorkerResponse& other) = default;
ServiceWorkerResponse& ServiceWorkerResponse::operator=(
const ServiceWorkerResponse& other) = default;
ServiceWorkerResponse::~ServiceWorkerResponse() {}
size_t ServiceWorkerResponse::EstimatedStructSize() {
size_t size = sizeof(ServiceWorkerResponse);
for (const auto& url : url_list)
size += url.spec().size();
size += blob_uuid.size();
size += cache_storage_cache_name.size();
for (const auto& key_and_value : headers) {
size += key_and_value.first.size();
size += key_and_value.second.size();
}
for (const auto& header : cors_exposed_header_names)
size += header.size();
size += side_data_blob_uuid.size();
return size;
}
} // namespace content
......@@ -121,58 +121,6 @@ struct CONTENT_EXPORT ServiceWorkerFetchRequest {
bool is_history_navigation = false;
};
// Roughly corresponds to the Fetch API's Response type. This struct has only
// one user:
// - Background Fetch API: Uses this type to represent responses to background
// fetches.
// Note that the Fetch API does not use this type; it uses ResourceResponse
// instead.
// TODO(leonhsl): Remove this struct, instead, use
// blink::mojom::FetchAPIResponse everywhere.
struct CONTENT_EXPORT ServiceWorkerResponse {
ServiceWorkerResponse();
ServiceWorkerResponse(
std::unique_ptr<std::vector<GURL>> url_list,
int status_code,
const std::string& status_text,
network::mojom::FetchResponseType response_type,
std::unique_ptr<ServiceWorkerHeaderMap> headers,
const std::string& blob_uuid,
uint64_t blob_size,
scoped_refptr<storage::BlobHandle> blob,
blink::mojom::ServiceWorkerResponseError error,
base::Time response_time,
bool is_in_cache_storage,
const std::string& cache_storage_cache_name,
std::unique_ptr<ServiceWorkerHeaderList> cors_exposed_header_names);
ServiceWorkerResponse(const ServiceWorkerResponse& other);
ServiceWorkerResponse& operator=(const ServiceWorkerResponse& other);
~ServiceWorkerResponse();
size_t EstimatedStructSize();
// Be sure to update EstimatedStructSize() when adding members.
std::vector<GURL> url_list;
int status_code;
std::string status_text;
network::mojom::FetchResponseType response_type;
ServiceWorkerHeaderMap headers;
// |blob_uuid| and |blob_size| are set when the body is a blob.
std::string blob_uuid;
uint64_t blob_size;
scoped_refptr<storage::BlobHandle> blob;
blink::mojom::ServiceWorkerResponseError error;
base::Time response_time;
bool is_in_cache_storage = false;
std::string cache_storage_cache_name;
ServiceWorkerHeaderList cors_exposed_header_names;
// Side data is used to pass the metadata of the response (eg: V8 code cache).
std::string side_data_blob_uuid;
uint64_t side_data_blob_size = 0;
// |side_data_blob| is only used when features::kMojoBlobs is enabled.
scoped_refptr<storage::BlobHandle> side_data_blob;
};
class ChangedVersionAttributesMask {
public:
enum {
......
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