Commit 20768107 authored by Kenichi Ishibashi's avatar Kenichi Ishibashi Committed by Commit Bot

service worker: Remove CreateHttpResponseInfoAndCheckHeaders()

This function was only used from WriteResponseHead() to convert
URLResponseHead to HttpResponseInfo. Validation checks are already
done before WriteResponseHead() by CheckResponseHead(), so we don't
need to check twice. Remove duplicated checks and move conversion
into WriteResponseHead().

Bug: 1055677
Change-Id: I7b21d318899d370be91d153dff26ef46ef27a08a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2270295Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#783407}
parent 7cf0e7db
...@@ -63,30 +63,6 @@ bool CheckResponseHead( ...@@ -63,30 +63,6 @@ bool CheckResponseHead(
return true; return true;
} }
std::unique_ptr<net::HttpResponseInfo> CreateHttpResponseInfoAndCheckHeaders(
const network::mojom::URLResponseHead& response_head,
blink::ServiceWorkerStatusCode* out_service_worker_status,
network::URLLoaderCompletionStatus* out_completion_status,
std::string* out_error_message) {
if (!CheckResponseHead(response_head, out_service_worker_status,
out_completion_status, out_error_message)) {
return nullptr;
}
auto response_info = std::make_unique<net::HttpResponseInfo>();
response_info->headers = response_head.headers;
if (response_head.ssl_info.has_value())
response_info->ssl_info = *response_head.ssl_info;
response_info->was_fetched_via_spdy = response_head.was_fetched_via_spdy;
response_info->was_alpn_negotiated = response_head.was_alpn_negotiated;
response_info->alpn_negotiated_protocol =
response_head.alpn_negotiated_protocol;
response_info->connection_info = response_head.connection_info;
response_info->remote_endpoint = response_head.remote_endpoint;
response_info->response_time = response_head.response_time;
return response_info;
}
bool ShouldBypassCacheDueToUpdateViaCache( bool ShouldBypassCacheDueToUpdateViaCache(
bool is_main_script, bool is_main_script,
blink::mojom::ServiceWorkerUpdateViaCache cache_mode) { blink::mojom::ServiceWorkerUpdateViaCache cache_mode) {
......
...@@ -36,16 +36,6 @@ bool CheckResponseHead( ...@@ -36,16 +36,6 @@ bool CheckResponseHead(
network::URLLoaderCompletionStatus* out_completion_status, network::URLLoaderCompletionStatus* out_completion_status,
std::string* out_error_message); std::string* out_error_message);
// Creates net::HttpResponseInfo from |response_head|. Returns nullptr when the
// response is invalid.
// TODO(crbug.com/1060076): Remove this once HttpResponseInfo dependencies are
// gone.
std::unique_ptr<net::HttpResponseInfo> CreateHttpResponseInfoAndCheckHeaders(
const network::mojom::URLResponseHead& response_head,
blink::ServiceWorkerStatusCode* out_service_worker_status,
network::URLLoaderCompletionStatus* out_completion_status,
std::string* out_error_message);
bool ShouldBypassCacheDueToUpdateViaCache( bool ShouldBypassCacheDueToUpdateViaCache(
bool is_main_script, bool is_main_script,
blink::mojom::ServiceWorkerUpdateViaCache cache_mode); blink::mojom::ServiceWorkerUpdateViaCache cache_mode);
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
#include "content/browser/service_worker/service_worker_resource_ops.h" #include "content/browser/service_worker/service_worker_resource_ops.h"
#include "content/browser/service_worker/service_worker_loader_helpers.h"
#include "mojo/public/cpp/system/data_pipe.h" #include "mojo/public/cpp/system/data_pipe.h"
#include "services/network/public/cpp/net_adapters.h" #include "services/network/public/cpp/net_adapters.h"
#include "third_party/blink/public/common/blob/blob_utils.h" #include "third_party/blink/public/common/blob/blob_utils.h"
...@@ -236,18 +235,18 @@ ServiceWorkerResourceWriterImpl::~ServiceWorkerResourceWriterImpl() = default; ...@@ -236,18 +235,18 @@ ServiceWorkerResourceWriterImpl::~ServiceWorkerResourceWriterImpl() = default;
void ServiceWorkerResourceWriterImpl::WriteResponseHead( void ServiceWorkerResourceWriterImpl::WriteResponseHead(
network::mojom::URLResponseHeadPtr response_head, network::mojom::URLResponseHeadPtr response_head,
WriteResponseHeadCallback callback) { WriteResponseHeadCallback callback) {
blink::ServiceWorkerStatusCode service_worker_status; // Convert URLResponseHead to HttpResponseInfo.
network::URLLoaderCompletionStatus completion_status; auto response_info = std::make_unique<net::HttpResponseInfo>();
std::string error_message; response_info->headers = response_head->headers;
std::unique_ptr<net::HttpResponseInfo> response_info = if (response_head->ssl_info.has_value())
service_worker_loader_helpers::CreateHttpResponseInfoAndCheckHeaders( response_info->ssl_info = *response_head->ssl_info;
*response_head, &service_worker_status, &completion_status, response_info->was_fetched_via_spdy = response_head->was_fetched_via_spdy;
&error_message); response_info->was_alpn_negotiated = response_head->was_alpn_negotiated;
if (!response_info) { response_info->alpn_negotiated_protocol =
DCHECK_NE(net::OK, completion_status.error_code); response_head->alpn_negotiated_protocol;
std::move(callback).Run(completion_status.error_code); response_info->connection_info = response_head->connection_info;
return; response_info->remote_endpoint = response_head->remote_endpoint;
} response_info->response_time = response_head->response_time;
auto info_buffer = auto info_buffer =
base::MakeRefCounted<HttpResponseInfoIOBuffer>(std::move(response_info)); base::MakeRefCounted<HttpResponseInfoIOBuffer>(std::move(response_info));
......
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