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

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

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