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

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

Issue 2659043002: Add UseCounter for ServiceWorkerNavigationPreload. (Closed)
Patch Set: fix rebase 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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 } 793 }
794 794
795 void ServiceWorkerURLRequestJob::NotifyStartError( 795 void ServiceWorkerURLRequestJob::NotifyStartError(
796 net::URLRequestStatus status) { 796 net::URLRequestStatus status) {
797 OnStartCompleted(); 797 OnStartCompleted();
798 URLRequestJob::NotifyStartError(status); 798 URLRequestJob::NotifyStartError(status);
799 } 799 }
800 800
801 void ServiceWorkerURLRequestJob::NotifyRestartRequired() { 801 void ServiceWorkerURLRequestJob::NotifyRestartRequired() {
802 ServiceWorkerResponseInfo::ForRequest(request_, true) 802 ServiceWorkerResponseInfo::ForRequest(request_, true)
803 ->OnPrepareToRestart(worker_start_time_, worker_ready_time_); 803 ->OnPrepareToRestart(worker_start_time_, worker_ready_time_,
804 did_navigation_preload_);
804 delegate_->OnPrepareToRestart(); 805 delegate_->OnPrepareToRestart();
805 URLRequestJob::NotifyRestartRequired(); 806 URLRequestJob::NotifyRestartRequired();
806 } 807 }
807 808
808 void ServiceWorkerURLRequestJob::OnStartCompleted() const { 809 void ServiceWorkerURLRequestJob::OnStartCompleted() const {
809 switch (response_type_) { 810 switch (response_type_) {
810 case NOT_DETERMINED: 811 case NOT_DETERMINED:
811 NOTREACHED(); 812 NOTREACHED();
812 return; 813 return;
813 case FAIL_DUE_TO_LOST_CONTROLLER: 814 case FAIL_DUE_TO_LOST_CONTROLLER:
814 case FALLBACK_TO_NETWORK: 815 case FALLBACK_TO_NETWORK:
815 // Indicate that the service worker did not respond to the request. 816 // Indicate that the service worker did not respond to the request.
816 ServiceWorkerResponseInfo::ForRequest(request_, true) 817 ServiceWorkerResponseInfo::ForRequest(request_, true)
817 ->OnStartCompleted( 818 ->OnStartCompleted(
818 false /* was_fetched_via_service_worker */, 819 false /* was_fetched_via_service_worker */,
819 false /* was_fetched_via_foreign_fetch */, 820 false /* was_fetched_via_foreign_fetch */,
820 false /* was_fallback_required */, 821 false /* was_fallback_required */,
821 std::vector<GURL>() /* url_list_via_service_worker */, 822 std::vector<GURL>() /* url_list_via_service_worker */,
822 blink::WebServiceWorkerResponseTypeDefault, 823 blink::WebServiceWorkerResponseTypeDefault,
823 base::TimeTicks() /* service_worker_start_time */, 824 base::TimeTicks() /* service_worker_start_time */,
824 base::TimeTicks() /* service_worker_ready_time */, 825 base::TimeTicks() /* service_worker_ready_time */,
825 false /* response_is_in_cache_storage */, 826 false /* response_is_in_cache_storage */,
826 std::string() /* response_cache_storage_cache_name */, 827 std::string() /* response_cache_storage_cache_name */,
827 ServiceWorkerHeaderList() /* cors_exposed_header_names */); 828 ServiceWorkerHeaderList() /* cors_exposed_header_names */,
829 did_navigation_preload_);
828 break; 830 break;
829 case FALLBACK_TO_RENDERER: 831 case FALLBACK_TO_RENDERER:
830 case FORWARD_TO_SERVICE_WORKER: 832 case FORWARD_TO_SERVICE_WORKER:
831 // Indicate that the service worker responded to the request, which is 833 // Indicate that the service worker responded to the request, which is
832 // considered true if "fallback to renderer" was required since the 834 // considered true if "fallback to renderer" was required since the
833 // renderer expects that. 835 // renderer expects that.
834 ServiceWorkerResponseInfo::ForRequest(request_, true) 836 ServiceWorkerResponseInfo::ForRequest(request_, true)
835 ->OnStartCompleted( 837 ->OnStartCompleted(
836 true /* was_fetched_via_service_worker */, 838 true /* was_fetched_via_service_worker */,
837 fetch_type_ == ServiceWorkerFetchType::FOREIGN_FETCH, 839 fetch_type_ == ServiceWorkerFetchType::FOREIGN_FETCH,
838 fall_back_required_, response_url_list_, 840 fall_back_required_, response_url_list_,
839 service_worker_response_type_, worker_start_time_, 841 service_worker_response_type_, worker_start_time_,
840 worker_ready_time_, response_is_in_cache_storage_, 842 worker_ready_time_, response_is_in_cache_storage_,
841 response_cache_storage_cache_name_, cors_exposed_header_names_); 843 response_cache_storage_cache_name_, cors_exposed_header_names_,
844 did_navigation_preload_);
842 break; 845 break;
843 } 846 }
844 } 847 }
845 848
846 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const { 849 bool ServiceWorkerURLRequestJob::IsMainResourceLoad() const {
847 return ServiceWorkerUtils::IsMainResourceType(resource_type_); 850 return ServiceWorkerUtils::IsMainResourceType(resource_type_);
848 } 851 }
849 852
850 bool ServiceWorkerURLRequestJob::HasRequestBody() { 853 bool ServiceWorkerURLRequestJob::HasRequestBody() {
851 // URLRequest::has_upload() must be checked since its upload data may have 854 // URLRequest::has_upload() must be checked since its upload data may have
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 DCHECK(!reported_navigation_preload_metrics_); 913 DCHECK(!reported_navigation_preload_metrics_);
911 reported_navigation_preload_metrics_ = true; 914 reported_navigation_preload_metrics_ = true;
912 915
913 ServiceWorkerMetrics::RecordNavigationPreloadResponse( 916 ServiceWorkerMetrics::RecordNavigationPreloadResponse(
914 worker_ready_time_ - worker_start_time_, 917 worker_ready_time_ - worker_start_time_,
915 navigation_preload_response_time_ - worker_start_time_, 918 navigation_preload_response_time_ - worker_start_time_,
916 initial_worker_status_, worker_start_situation_); 919 initial_worker_status_, worker_start_situation_);
917 } 920 }
918 921
919 } // namespace content 922 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698