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

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

Issue 2516353002: Introduce url_list to the Response scheme of CacheStorage. (Closed)
Patch Set: Created 4 years 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 <map> 10 #include <map>
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 642
643 SetResponse(response); 643 SetResponse(response);
644 if (!blob_reader_) { 644 if (!blob_reader_) {
645 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_HEADERS_ONLY_RESPONSE); 645 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_HEADERS_ONLY_RESPONSE);
646 CommitResponseHeader(); 646 CommitResponseHeader();
647 } 647 }
648 } 648 }
649 649
650 void ServiceWorkerURLRequestJob::SetResponse( 650 void ServiceWorkerURLRequestJob::SetResponse(
651 const ServiceWorkerResponse& response) { 651 const ServiceWorkerResponse& response) {
652 response_url_ = response.url; 652 response_url_list_ = response.url_list;
653 service_worker_response_type_ = response.response_type; 653 service_worker_response_type_ = response.response_type;
654 cors_exposed_header_names_ = response.cors_exposed_header_names; 654 cors_exposed_header_names_ = response.cors_exposed_header_names;
655 response_time_ = response.response_time; 655 response_time_ = response.response_time;
656 CreateResponseHeader(response.status_code, response.status_text, 656 CreateResponseHeader(response.status_code, response.status_text,
657 response.headers); 657 response.headers);
658 load_timing_info_.receive_headers_end = base::TimeTicks::Now(); 658 load_timing_info_.receive_headers_end = base::TimeTicks::Now();
659 659
660 response_is_in_cache_storage_ = response.is_in_cache_storage; 660 response_is_in_cache_storage_ = response.is_in_cache_storage;
661 response_cache_storage_cache_name_ = response.cache_storage_cache_name; 661 response_cache_storage_cache_name_ = response.cache_storage_cache_name;
662 } 662 }
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 } 788 }
789 789
790 void ServiceWorkerURLRequestJob::OnStartCompleted() const { 790 void ServiceWorkerURLRequestJob::OnStartCompleted() const {
791 if (response_type_ != FORWARD_TO_SERVICE_WORKER && 791 if (response_type_ != FORWARD_TO_SERVICE_WORKER &&
792 response_type_ != FALLBACK_TO_RENDERER) { 792 response_type_ != FALLBACK_TO_RENDERER) {
793 ServiceWorkerResponseInfo::ForRequest(request_, true) 793 ServiceWorkerResponseInfo::ForRequest(request_, true)
794 ->OnStartCompleted( 794 ->OnStartCompleted(
795 false /* was_fetched_via_service_worker */, 795 false /* was_fetched_via_service_worker */,
796 false /* was_fetched_via_foreign_fetch */, 796 false /* was_fetched_via_foreign_fetch */,
797 false /* was_fallback_required */, 797 false /* was_fallback_required */,
798 GURL() /* original_url_via_service_worker */, 798 std::vector<GURL>() /* url_list_via_service_worker */,
799 blink::WebServiceWorkerResponseTypeDefault, 799 blink::WebServiceWorkerResponseTypeDefault,
800 base::TimeTicks() /* service_worker_start_time */, 800 base::TimeTicks() /* service_worker_start_time */,
801 base::TimeTicks() /* service_worker_ready_time */, 801 base::TimeTicks() /* service_worker_ready_time */,
802 false /* respons_is_in_cache_storage */, 802 false /* respons_is_in_cache_storage */,
803 std::string() /* response_cache_storage_cache_name */, 803 std::string() /* response_cache_storage_cache_name */,
804 ServiceWorkerHeaderList() /* cors_exposed_header_names */); 804 ServiceWorkerHeaderList() /* cors_exposed_header_names */);
805 return; 805 return;
806 } 806 }
807 ServiceWorkerResponseInfo::ForRequest(request_, true) 807 ServiceWorkerResponseInfo::ForRequest(request_, true)
808 ->OnStartCompleted( 808 ->OnStartCompleted(true /* was_fetched_via_service_worker */,
809 true /* was_fetched_via_service_worker */, 809 fetch_type_ == ServiceWorkerFetchType::FOREIGN_FETCH,
810 fetch_type_ == ServiceWorkerFetchType::FOREIGN_FETCH, 810 fall_back_required_, response_url_list_,
811 fall_back_required_, response_url_, service_worker_response_type_, 811 service_worker_response_type_, worker_start_time_,
812 worker_start_time_, worker_ready_time_, response_is_in_cache_storage_, 812 worker_ready_time_, response_is_in_cache_storage_,
813 response_cache_storage_cache_name_, cors_exposed_header_names_); 813 response_cache_storage_cache_name_,
814 cors_exposed_header_names_);
814 } 815 }
815 816
816 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const { 817 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const {
817 return ServiceWorkerUtils::IsMainResourceType(resource_type_); 818 return ServiceWorkerUtils::IsMainResourceType(resource_type_);
818 } 819 }
819 820
820 bool ServiceWorkerURLRequestJob::HasRequestBody() { 821 bool ServiceWorkerURLRequestJob::HasRequestBody() {
821 // URLRequest::has_upload() must be checked since its upload data may have 822 // URLRequest::has_upload() must be checked since its upload data may have
822 // been cleared while handling a redirect. 823 // been cleared while handling a redirect.
823 return request_->has_upload() && body_.get() && blob_storage_context_; 824 return request_->has_upload() && body_.get() && blob_storage_context_;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent, 857 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent,
857 weak_factory_.GetWeakPtr(), active_worker), 858 weak_factory_.GetWeakPtr(), active_worker),
858 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, 859 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent,
859 weak_factory_.GetWeakPtr()))); 860 weak_factory_.GetWeakPtr())));
860 worker_start_time_ = base::TimeTicks::Now(); 861 worker_start_time_ = base::TimeTicks::Now();
861 fetch_dispatcher_->MaybeStartNavigationPreload(request()); 862 fetch_dispatcher_->MaybeStartNavigationPreload(request());
862 fetch_dispatcher_->Run(); 863 fetch_dispatcher_->Run();
863 } 864 }
864 865
865 } // namespace content 866 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698