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

Side by Side Diff: content/renderer/service_worker/service_worker_context_client.cc

Issue 2620463002: Show service worker navigation preload requests in DevTools Network tab (Closed)
Patch Set: rebase and include time.h in ServiceWorkerGlobalScopeProxy.* Created 3 years, 11 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 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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 const bool report_security_info = false; 279 const bool report_security_info = false;
280 WebURLLoaderImpl::PopulateURLResponse(url_, response_head, response_.get(), 280 WebURLLoaderImpl::PopulateURLResponse(url_, response_head, response_.get(),
281 report_security_info); 281 report_security_info);
282 MaybeReportResponseToClient(); 282 MaybeReportResponseToClient();
283 } 283 }
284 284
285 void OnReceiveRedirect(const net::RedirectInfo& redirect_info, 285 void OnReceiveRedirect(const net::RedirectInfo& redirect_info,
286 const ResourceResponseHead& response_head) override { 286 const ResourceResponseHead& response_head) override {
287 // This will delete |this|. 287 // This will delete |this|.
288 ReportErrorToClient( 288 ReportErrorToClient(
289 "Service Worker navigation preload doesn't suport redirect."); 289 "Service Worker navigation preload doesn't support redirects.");
290 } 290 }
291 291
292 void OnDataDownloaded(int64_t data_length, 292 void OnDataDownloaded(int64_t data_length,
293 int64_t encoded_data_length) override { 293 int64_t encoded_data_length) override {
294 NOTREACHED(); 294 NOTREACHED();
295 } 295 }
296 296
297 void OnReceiveCachedMetadata(const std::vector<uint8_t>& data) override {} 297 void OnReceiveCachedMetadata(const std::vector<uint8_t>& data) override {}
298 298
299 void OnTransferSizeUpdated(int32_t transfer_size_diff) override { 299 void OnTransferSizeUpdated(int32_t transfer_size_diff) override {
300 NOTREACHED(); 300 // TODO(horo): Send this transfer size update notification to DevTools.
301 } 301 }
302 302
303 void OnStartLoadingResponseBody( 303 void OnStartLoadingResponseBody(
304 mojo::ScopedDataPipeConsumerHandle body) override { 304 mojo::ScopedDataPipeConsumerHandle body) override {
305 DCHECK(!body_.is_valid()); 305 DCHECK(!body_.is_valid());
306 body_ = std::move(body); 306 body_ = std::move(body);
307 MaybeReportResponseToClient(); 307 MaybeReportResponseToClient();
308 } 308 }
309 309
310 void OnComplete(const ResourceRequestCompletionStatus& status) override { 310 void OnComplete(const ResourceRequestCompletionStatus& status) override {
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 TRACE_EVENT0("ServiceWorker", 945 TRACE_EVENT0("ServiceWorker",
946 "ServiceWorkerContextClient::OnInstallEvent"); 946 "ServiceWorkerContextClient::OnInstallEvent");
947 proxy_->dispatchInstallEvent(request_id); 947 proxy_->dispatchInstallEvent(request_id);
948 } 948 }
949 949
950 void ServiceWorkerContextClient::DispatchFetchEvent( 950 void ServiceWorkerContextClient::DispatchFetchEvent(
951 int fetch_event_id, 951 int fetch_event_id,
952 const ServiceWorkerFetchRequest& request, 952 const ServiceWorkerFetchRequest& request,
953 mojom::FetchEventPreloadHandlePtr preload_handle, 953 mojom::FetchEventPreloadHandlePtr preload_handle,
954 const DispatchFetchEventCallback& callback) { 954 const DispatchFetchEventCallback& callback) {
955 std::unique_ptr<NavigationPreloadRequest> preload_request = 955 std::unique_ptr<NavigationPreloadRequest> preload_request;
956 preload_handle 956 if (preload_handle) {
957 ? base::MakeUnique<NavigationPreloadRequest>( 957 proxy_->onNavigationPreloadSent(fetch_event_id, request.url,
958 fetch_event_id, request.url, std::move(preload_handle)) 958 preload_handle->sent_timestamp,
959 : nullptr; 959 preload_handle->sent_wall_time);
960 preload_request = base::MakeUnique<NavigationPreloadRequest>(
961 fetch_event_id, request.url, std::move(preload_handle));
962 }
960 const bool navigation_preload_sent = !!preload_request; 963 const bool navigation_preload_sent = !!preload_request;
961 blink::WebServiceWorkerRequest webRequest; 964 blink::WebServiceWorkerRequest webRequest;
962 TRACE_EVENT0("ServiceWorker", 965 TRACE_EVENT0("ServiceWorker",
963 "ServiceWorkerContextClient::DispatchFetchEvent"); 966 "ServiceWorkerContextClient::DispatchFetchEvent");
964 context_->fetch_event_callbacks.AddWithID( 967 context_->fetch_event_callbacks.AddWithID(
965 base::MakeUnique<FetchCallback>(callback), fetch_event_id); 968 base::MakeUnique<FetchCallback>(callback), fetch_event_id);
966 if (preload_request) { 969 if (preload_request) {
967 context_->preload_requests.AddWithID(std::move(preload_request), 970 context_->preload_requests.AddWithID(std::move(preload_request),
968 fetch_event_id); 971 fetch_event_id);
969 } 972 }
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 1242
1240 void ServiceWorkerContextClient::OnNavigationPreloadError( 1243 void ServiceWorkerContextClient::OnNavigationPreloadError(
1241 int fetch_event_id, 1244 int fetch_event_id,
1242 std::unique_ptr<blink::WebServiceWorkerError> error) { 1245 std::unique_ptr<blink::WebServiceWorkerError> error) {
1243 proxy_->onNavigationPreloadError(fetch_event_id, std::move(error)); 1246 proxy_->onNavigationPreloadError(fetch_event_id, std::move(error));
1244 context_->preload_requests.Remove(fetch_event_id); 1247 context_->preload_requests.Remove(fetch_event_id);
1245 } 1248 }
1246 1249
1247 void ServiceWorkerContextClient::OnNavigationPreloadComplete( 1250 void ServiceWorkerContextClient::OnNavigationPreloadComplete(
1248 int fetch_event_id) { 1251 int fetch_event_id) {
1252 proxy_->onNavigationPreloadCompleted(fetch_event_id);
1249 context_->preload_requests.Remove(fetch_event_id); 1253 context_->preload_requests.Remove(fetch_event_id);
1250 } 1254 }
1251 1255
1252 base::WeakPtr<ServiceWorkerContextClient> 1256 base::WeakPtr<ServiceWorkerContextClient>
1253 ServiceWorkerContextClient::GetWeakPtr() { 1257 ServiceWorkerContextClient::GetWeakPtr() {
1254 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); 1258 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread());
1255 DCHECK(context_); 1259 DCHECK(context_);
1256 return context_->weak_factory.GetWeakPtr(); 1260 return context_->weak_factory.GetWeakPtr();
1257 } 1261 }
1258 1262
1259 } // namespace content 1263 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698