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

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

Powered by Google App Engine
This is Rietveld 408576698