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

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

Issue 2659043002: Add UseCounter for ServiceWorkerNavigationPreload. (Closed)
Patch Set: patch for landing Created 3 years, 10 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 <map> 10 #include <map>
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 } 787 }
788 788
789 void ServiceWorkerURLRequestJob::NotifyStartError( 789 void ServiceWorkerURLRequestJob::NotifyStartError(
790 net::URLRequestStatus status) { 790 net::URLRequestStatus status) {
791 OnStartCompleted(); 791 OnStartCompleted();
792 URLRequestJob::NotifyStartError(status); 792 URLRequestJob::NotifyStartError(status);
793 } 793 }
794 794
795 void ServiceWorkerURLRequestJob::NotifyRestartRequired() { 795 void ServiceWorkerURLRequestJob::NotifyRestartRequired() {
796 ServiceWorkerResponseInfo::ForRequest(request_, true) 796 ServiceWorkerResponseInfo::ForRequest(request_, true)
797 ->OnPrepareToRestart(worker_start_time_, worker_ready_time_); 797 ->OnPrepareToRestart(worker_start_time_, worker_ready_time_,
798 did_navigation_preload_);
798 delegate_->OnPrepareToRestart(); 799 delegate_->OnPrepareToRestart();
799 URLRequestJob::NotifyRestartRequired(); 800 URLRequestJob::NotifyRestartRequired();
800 } 801 }
801 802
802 void ServiceWorkerURLRequestJob::OnStartCompleted() const { 803 void ServiceWorkerURLRequestJob::OnStartCompleted() const {
803 switch (response_type_) { 804 switch (response_type_) {
804 case NOT_DETERMINED: 805 case NOT_DETERMINED:
805 NOTREACHED(); 806 NOTREACHED();
806 return; 807 return;
807 case FAIL_DUE_TO_LOST_CONTROLLER: 808 case FAIL_DUE_TO_LOST_CONTROLLER:
808 case FALLBACK_TO_NETWORK: 809 case FALLBACK_TO_NETWORK:
809 // Indicate that the service worker did not respond to the request. 810 // Indicate that the service worker did not respond to the request.
810 ServiceWorkerResponseInfo::ForRequest(request_, true) 811 ServiceWorkerResponseInfo::ForRequest(request_, true)
811 ->OnStartCompleted( 812 ->OnStartCompleted(
812 false /* was_fetched_via_service_worker */, 813 false /* was_fetched_via_service_worker */,
813 false /* was_fetched_via_foreign_fetch */, 814 false /* was_fetched_via_foreign_fetch */,
814 false /* was_fallback_required */, 815 false /* was_fallback_required */,
815 std::vector<GURL>() /* url_list_via_service_worker */, 816 std::vector<GURL>() /* url_list_via_service_worker */,
816 blink::WebServiceWorkerResponseTypeDefault, 817 blink::WebServiceWorkerResponseTypeDefault,
817 base::TimeTicks() /* service_worker_start_time */, 818 base::TimeTicks() /* service_worker_start_time */,
818 base::TimeTicks() /* service_worker_ready_time */, 819 base::TimeTicks() /* service_worker_ready_time */,
819 false /* response_is_in_cache_storage */, 820 false /* response_is_in_cache_storage */,
820 std::string() /* response_cache_storage_cache_name */, 821 std::string() /* response_cache_storage_cache_name */,
821 ServiceWorkerHeaderList() /* cors_exposed_header_names */); 822 ServiceWorkerHeaderList() /* cors_exposed_header_names */,
823 did_navigation_preload_);
822 break; 824 break;
823 case FALLBACK_TO_RENDERER: 825 case FALLBACK_TO_RENDERER:
824 case FORWARD_TO_SERVICE_WORKER: 826 case FORWARD_TO_SERVICE_WORKER:
825 // Indicate that the service worker responded to the request, which is 827 // Indicate that the service worker responded to the request, which is
826 // considered true if "fallback to renderer" was required since the 828 // considered true if "fallback to renderer" was required since the
827 // renderer expects that. 829 // renderer expects that.
828 ServiceWorkerResponseInfo::ForRequest(request_, true) 830 ServiceWorkerResponseInfo::ForRequest(request_, true)
829 ->OnStartCompleted( 831 ->OnStartCompleted(
830 true /* was_fetched_via_service_worker */, 832 true /* was_fetched_via_service_worker */,
831 fetch_type_ == ServiceWorkerFetchType::FOREIGN_FETCH, 833 fetch_type_ == ServiceWorkerFetchType::FOREIGN_FETCH,
832 fall_back_required_, response_url_list_, 834 fall_back_required_, response_url_list_,
833 service_worker_response_type_, worker_start_time_, 835 service_worker_response_type_, worker_start_time_,
834 worker_ready_time_, response_is_in_cache_storage_, 836 worker_ready_time_, response_is_in_cache_storage_,
835 response_cache_storage_cache_name_, cors_exposed_header_names_); 837 response_cache_storage_cache_name_, cors_exposed_header_names_,
838 did_navigation_preload_);
836 break; 839 break;
837 } 840 }
838 } 841 }
839 842
840 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const { 843 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const {
841 return ServiceWorkerUtils::IsMainResourceType(resource_type_); 844 return ServiceWorkerUtils::IsMainResourceType(resource_type_);
842 } 845 }
843 846
844 bool ServiceWorkerURLRequestJob::HasRequestBody() { 847 bool ServiceWorkerURLRequestJob::HasRequestBody() {
845 // URLRequest::has_upload() must be checked since its upload data may have 848 // URLRequest::has_upload() must be checked since its upload data may have
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 DCHECK(!reported_navigation_preload_metrics_); 907 DCHECK(!reported_navigation_preload_metrics_);
905 reported_navigation_preload_metrics_ = true; 908 reported_navigation_preload_metrics_ = true;
906 909
907 ServiceWorkerMetrics::RecordNavigationPreloadResponse( 910 ServiceWorkerMetrics::RecordNavigationPreloadResponse(
908 worker_ready_time_ - worker_start_time_, 911 worker_ready_time_ - worker_start_time_,
909 navigation_preload_response_time_ - worker_start_time_, 912 navigation_preload_response_time_ - worker_start_time_,
910 initial_worker_status_, worker_start_situation_); 913 initial_worker_status_, worker_start_situation_);
911 } 914 }
912 915
913 } // namespace content 916 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_url_request_job.h ('k') | content/child/web_url_loader_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698