Index: content/renderer/service_worker/service_worker_context_client.cc |
diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc |
index 1a358ce0e371450bf58e702b643d61f7f1c2e31a..4143be63d830537deffd73c15a27ef91222e0695 100644 |
--- a/content/renderer/service_worker/service_worker_context_client.cc |
+++ b/content/renderer/service_worker/service_worker_context_client.cc |
@@ -266,8 +266,7 @@ class ServiceWorkerContextClient::NavigationPreloadRequest final |
url_loader_(std::move(preload_handle->url_loader)), |
binding_(this, std::move(preload_handle->url_loader_client_request)) {} |
- ~NavigationPreloadRequest() override { |
- } |
+ ~NavigationPreloadRequest() override {} |
void OnReceiveResponse( |
const ResourceResponseHead& response_head, |
@@ -286,7 +285,7 @@ class ServiceWorkerContextClient::NavigationPreloadRequest final |
const ResourceResponseHead& response_head) override { |
// This will delete itself. |
ReportErrorToClient( |
- "Service Worker navigation preload doesn't suport redirect."); |
+ "Service Worker navigation preload doesn't support redirects."); |
} |
void OnDataDownloaded(int64_t data_length, |
@@ -295,7 +294,7 @@ class ServiceWorkerContextClient::NavigationPreloadRequest final |
} |
void OnTransferSizeUpdated(int32_t transfer_size_diff) override { |
- NOTREACHED(); |
+ // TODO(horo): Send this transfer size update notification to DevTools. |
} |
void OnStartLoadingResponseBody( |
@@ -962,11 +961,16 @@ void ServiceWorkerContextClient::DispatchFetchEvent( |
const ServiceWorkerFetchRequest& request, |
mojom::FetchEventPreloadHandlePtr preload_handle, |
const DispatchFetchEventCallback& callback) { |
- std::unique_ptr<NavigationPreloadRequest> preload_request = |
- preload_handle |
- ? base::MakeUnique<NavigationPreloadRequest>( |
- fetch_event_id, request.url, std::move(preload_handle)) |
- : nullptr; |
+ std::unique_ptr<NavigationPreloadRequest> preload_request; |
+ if (preload_handle) { |
+ proxy_->onNavigationPreloadSent( |
+ fetch_event_id, request.url, |
+ preload_handle->sent_timestamp.ToInternalValue() / |
+ static_cast<double>(base::Time::kMicrosecondsPerSecond), |
+ preload_handle->sent_wall_time.ToDoubleT()); |
falken
2017/01/18 14:50:07
nit: I'd pass these as standard base/Time.h object
horo
2017/01/19 09:57:09
Done.
I added public/web/modules/serviceworker/DE
|
+ preload_request = base::MakeUnique<NavigationPreloadRequest>( |
+ fetch_event_id, request.url, std::move(preload_handle)); |
+ } |
const bool navigation_preload_sent = !!preload_request; |
blink::WebServiceWorkerRequest webRequest; |
TRACE_EVENT0("ServiceWorker", |
@@ -1256,6 +1260,7 @@ void ServiceWorkerContextClient::OnNavigationPreloadError( |
void ServiceWorkerContextClient::OnNavigationPreloadComplete( |
int fetch_event_id) { |
+ proxy_->onNavigationPreloadCompleted(fetch_event_id); |
context_->preload_requests.Remove(fetch_event_id); |
} |