OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/renderer/service_worker/service_worker_context_client.h" | 5 #include "content/renderer/service_worker/service_worker_context_client.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
678 GetRoutingID(), request_id, result, proxy_->hasFetchEventHandler(), | 678 GetRoutingID(), request_id, result, proxy_->hasFetchEventHandler(), |
679 base::Time::FromDoubleT(event_dispatch_time))); | 679 base::Time::FromDoubleT(event_dispatch_time))); |
680 } | 680 } |
681 | 681 |
682 void ServiceWorkerContextClient::respondToFetchEvent( | 682 void ServiceWorkerContextClient::respondToFetchEvent( |
683 int fetch_event_id, | 683 int fetch_event_id, |
684 double event_dispatch_time) { | 684 double event_dispatch_time) { |
685 Send(new ServiceWorkerHostMsg_FetchEventResponse( | 685 Send(new ServiceWorkerHostMsg_FetchEventResponse( |
686 GetRoutingID(), fetch_event_id, | 686 GetRoutingID(), fetch_event_id, |
687 SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, ServiceWorkerResponse(), | 687 SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, ServiceWorkerResponse(), |
688 base::Time::FromDoubleT(event_dispatch_time))); | 688 base::Time::FromDoubleT(event_dispatch_time), base::TimeTicks::Now())); |
689 } | 689 } |
690 | 690 |
691 void ServiceWorkerContextClient::respondToFetchEvent( | 691 void ServiceWorkerContextClient::respondToFetchEvent( |
692 int fetch_event_id, | 692 int fetch_event_id, |
693 const blink::WebServiceWorkerResponse& web_response, | 693 const blink::WebServiceWorkerResponse& web_response, |
694 double event_dispatch_time) { | 694 double event_dispatch_time) { |
695 Send(new ServiceWorkerHostMsg_FetchEventResponse( | 695 Send(new ServiceWorkerHostMsg_FetchEventResponse( |
696 GetRoutingID(), fetch_event_id, | 696 GetRoutingID(), fetch_event_id, |
697 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, | 697 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, |
698 GetServiceWorkerResponseFromWebResponse(web_response), | 698 GetServiceWorkerResponseFromWebResponse(web_response), |
699 base::Time::FromDoubleT(event_dispatch_time))); | 699 base::Time::FromDoubleT(event_dispatch_time), base::TimeTicks::Now())); |
700 } | 700 } |
701 | 701 |
702 void ServiceWorkerContextClient::didHandleFetchEvent( | 702 void ServiceWorkerContextClient::didHandleFetchEvent( |
703 int fetch_event_id, | 703 int fetch_event_id, |
704 blink::WebServiceWorkerEventResult result, | 704 blink::WebServiceWorkerEventResult result, |
705 double event_dispatch_time) { | 705 double event_dispatch_time) { |
706 const FetchCallback* callback = | 706 const FetchCallback* callback = |
707 context_->fetch_event_callbacks.Lookup(fetch_event_id); | 707 context_->fetch_event_callbacks.Lookup(fetch_event_id); |
708 DCHECK(callback); | 708 DCHECK(callback); |
709 callback->Run(EventResultToStatus(result), | 709 callback->Run(EventResultToStatus(result), |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
960 std::unique_ptr<NavigationPreloadRequest> preload_request = | 960 std::unique_ptr<NavigationPreloadRequest> preload_request = |
961 preload_handle | 961 preload_handle |
962 ? base::MakeUnique<NavigationPreloadRequest>( | 962 ? base::MakeUnique<NavigationPreloadRequest>( |
963 fetch_event_id, request.url, std::move(preload_handle)) | 963 fetch_event_id, request.url, std::move(preload_handle)) |
964 : nullptr; | 964 : nullptr; |
965 const bool navigation_preload_sent = !!preload_request; | 965 const bool navigation_preload_sent = !!preload_request; |
966 blink::WebServiceWorkerRequest webRequest; | 966 blink::WebServiceWorkerRequest webRequest; |
967 TRACE_EVENT0("ServiceWorker", | 967 TRACE_EVENT0("ServiceWorker", |
968 "ServiceWorkerContextClient::DispatchFetchEvent"); | 968 "ServiceWorkerContextClient::DispatchFetchEvent"); |
969 context_->fetch_event_callbacks.AddWithID( | 969 context_->fetch_event_callbacks.AddWithID( |
970 base::MakeUnique<FetchCallback>(callback), fetch_event_id); | 970 base::MakeUnique<FetchCallback>( |
| 971 base::Bind(callback, base::TimeTicks::Now())), |
| 972 fetch_event_id); |
971 if (preload_request) { | 973 if (preload_request) { |
972 context_->preload_requests.AddWithID(std::move(preload_request), | 974 context_->preload_requests.AddWithID(std::move(preload_request), |
973 fetch_event_id); | 975 fetch_event_id); |
974 } | 976 } |
975 | 977 |
976 webRequest.setURL(blink::WebURL(request.url)); | 978 webRequest.setURL(blink::WebURL(request.url)); |
977 webRequest.setMethod(blink::WebString::fromUTF8(request.method)); | 979 webRequest.setMethod(blink::WebString::fromUTF8(request.method)); |
978 for (ServiceWorkerHeaderMap::const_iterator it = request.headers.begin(); | 980 for (ServiceWorkerHeaderMap::const_iterator it = request.headers.begin(); |
979 it != request.headers.end(); | 981 it != request.headers.end(); |
980 ++it) { | 982 ++it) { |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1255 } | 1257 } |
1256 | 1258 |
1257 base::WeakPtr<ServiceWorkerContextClient> | 1259 base::WeakPtr<ServiceWorkerContextClient> |
1258 ServiceWorkerContextClient::GetWeakPtr() { | 1260 ServiceWorkerContextClient::GetWeakPtr() { |
1259 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 1261 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
1260 DCHECK(context_); | 1262 DCHECK(context_); |
1261 return context_->weak_factory.GetWeakPtr(); | 1263 return context_->weak_factory.GetWeakPtr(); |
1262 } | 1264 } |
1263 | 1265 |
1264 } // namespace content | 1266 } // namespace content |
OLD | NEW |