Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(748)

Side by Side Diff: content/browser/service_worker/service_worker_url_request_job.cc

Issue 1965013002: Implement headers attributes in ForeignFetchResponse (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: using instead of typedef Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/service_worker/service_worker_url_request_job.h" 5 #include "content/browser/service_worker/service_worker_url_request_job.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <limits> 10 #include <limits>
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 } 733 }
734 734
735 // Set up a request for reading the stream. 735 // Set up a request for reading the stream.
736 if (response.stream_url.is_valid()) { 736 if (response.stream_url.is_valid()) {
737 DCHECK(response.blob_uuid.empty()); 737 DCHECK(response.blob_uuid.empty());
738 SetResponseBodyType(STREAM); 738 SetResponseBodyType(STREAM);
739 streaming_version_ = version; 739 streaming_version_ = version;
740 streaming_version_->AddStreamingURLRequestJob(this); 740 streaming_version_->AddStreamingURLRequestJob(this);
741 response_url_ = response.url; 741 response_url_ = response.url;
742 service_worker_response_type_ = response.response_type; 742 service_worker_response_type_ = response.response_type;
743 cors_exposed_header_names_ = response.cors_exposed_header_names;
743 response_time_ = response.response_time; 744 response_time_ = response.response_time;
744 CreateResponseHeader( 745 CreateResponseHeader(
745 response.status_code, response.status_text, response.headers); 746 response.status_code, response.status_text, response.headers);
746 load_timing_info_.receive_headers_end = base::TimeTicks::Now(); 747 load_timing_info_.receive_headers_end = base::TimeTicks::Now();
747 StreamContext* stream_context = 748 StreamContext* stream_context =
748 GetStreamContextForResourceContext(resource_context_); 749 GetStreamContextForResourceContext(resource_context_);
749 stream_ = 750 stream_ =
750 stream_context->registry()->GetStream(response.stream_url); 751 stream_context->registry()->GetStream(response.stream_url);
751 if (!stream_.get()) { 752 if (!stream_.get()) {
752 waiting_stream_url_ = response.stream_url; 753 waiting_stream_url_ = response.stream_url;
(...skipping 21 matching lines...) Expand all
774 blob_request_ = storage::BlobProtocolHandler::CreateBlobRequest( 775 blob_request_ = storage::BlobProtocolHandler::CreateBlobRequest(
775 std::move(blob_data_handle), request()->context(), this); 776 std::move(blob_data_handle), request()->context(), this);
776 blob_request_->Start(); 777 blob_request_->Start();
777 } 778 }
778 779
779 response_url_ = response.url; 780 response_url_ = response.url;
780 service_worker_response_type_ = response.response_type; 781 service_worker_response_type_ = response.response_type;
781 response_time_ = response.response_time; 782 response_time_ = response.response_time;
782 response_is_in_cache_storage_ = response.is_in_cache_storage; 783 response_is_in_cache_storage_ = response.is_in_cache_storage;
783 response_cache_storage_cache_name_ = response.cache_storage_cache_name; 784 response_cache_storage_cache_name_ = response.cache_storage_cache_name;
785 cors_exposed_header_names_ = response.cors_exposed_header_names;
784 CreateResponseHeader( 786 CreateResponseHeader(
785 response.status_code, response.status_text, response.headers); 787 response.status_code, response.status_text, response.headers);
786 load_timing_info_.receive_headers_end = base::TimeTicks::Now(); 788 load_timing_info_.receive_headers_end = base::TimeTicks::Now();
787 if (!blob_request_) { 789 if (!blob_request_) {
788 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_HEADERS_ONLY_RESPONSE); 790 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_HEADERS_ONLY_RESPONSE);
789 CommitResponseHeader(); 791 CommitResponseHeader();
790 } 792 }
791 } 793 }
792 794
793 void ServiceWorkerURLRequestJob::CreateResponseHeader( 795 void ServiceWorkerURLRequestJob::CreateResponseHeader(
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 if (response_type_ != FORWARD_TO_SERVICE_WORKER) { 910 if (response_type_ != FORWARD_TO_SERVICE_WORKER) {
909 ServiceWorkerResponseInfo::ForRequest(request_, true) 911 ServiceWorkerResponseInfo::ForRequest(request_, true)
910 ->OnStartCompleted( 912 ->OnStartCompleted(
911 false /* was_fetched_via_service_worker */, 913 false /* was_fetched_via_service_worker */,
912 false /* was_fallback_required */, 914 false /* was_fallback_required */,
913 GURL() /* original_url_via_service_worker */, 915 GURL() /* original_url_via_service_worker */,
914 blink::WebServiceWorkerResponseTypeDefault, 916 blink::WebServiceWorkerResponseTypeDefault,
915 base::TimeTicks() /* service_worker_start_time */, 917 base::TimeTicks() /* service_worker_start_time */,
916 base::TimeTicks() /* service_worker_ready_time */, 918 base::TimeTicks() /* service_worker_ready_time */,
917 false /* respons_is_in_cache_storage */, 919 false /* respons_is_in_cache_storage */,
918 std::string() /* response_cache_storage_cache_name */); 920 std::string() /* response_cache_storage_cache_name */,
921 ServiceWorkerHeaderList() /* cors_exposed_header_names */);
919 return; 922 return;
920 } 923 }
921 ServiceWorkerResponseInfo::ForRequest(request_, true) 924 ServiceWorkerResponseInfo::ForRequest(request_, true)
922 ->OnStartCompleted(true /* was_fetched_via_service_worker */, 925 ->OnStartCompleted(
923 fall_back_required_, response_url_, 926 true /* was_fetched_via_service_worker */, fall_back_required_,
924 service_worker_response_type_, worker_start_time_, 927 response_url_, service_worker_response_type_, worker_start_time_,
925 worker_ready_time_, response_is_in_cache_storage_, 928 worker_ready_time_, response_is_in_cache_storage_,
926 response_cache_storage_cache_name_); 929 response_cache_storage_cache_name_, cors_exposed_header_names_);
927 } 930 }
928 931
929 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const { 932 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const {
930 return ServiceWorkerUtils::IsMainResourceType(resource_type_); 933 return ServiceWorkerUtils::IsMainResourceType(resource_type_);
931 } 934 }
932 935
933 bool ServiceWorkerURLRequestJob::HasRequestBody() { 936 bool ServiceWorkerURLRequestJob::HasRequestBody() {
934 // URLRequest::has_upload() must be checked since its upload data may have 937 // URLRequest::has_upload() must be checked since its upload data may have
935 // been cleared while handling a redirect. 938 // been cleared while handling a redirect.
936 return request_->has_upload() && body_.get() && blob_storage_context_; 939 return request_->has_upload() && body_.get() && blob_storage_context_;
(...skipping 27 matching lines...) Expand all
964 CreateFetchRequest(), active_worker, resource_type_, 967 CreateFetchRequest(), active_worker, resource_type_,
965 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent, 968 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent,
966 weak_factory_.GetWeakPtr()), 969 weak_factory_.GetWeakPtr()),
967 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, 970 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent,
968 weak_factory_.GetWeakPtr()))); 971 weak_factory_.GetWeakPtr())));
969 worker_start_time_ = base::TimeTicks::Now(); 972 worker_start_time_ = base::TimeTicks::Now();
970 fetch_dispatcher_->Run(); 973 fetch_dispatcher_->Run();
971 } 974 }
972 975
973 } // namespace content 976 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698