| 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 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 GetRoutingID(), request_id, result)); | 493 GetRoutingID(), request_id, result)); |
| 494 } | 494 } |
| 495 | 495 |
| 496 void ServiceWorkerContextClient::didHandleInstallEvent( | 496 void ServiceWorkerContextClient::didHandleInstallEvent( |
| 497 int request_id, | 497 int request_id, |
| 498 blink::WebServiceWorkerEventResult result) { | 498 blink::WebServiceWorkerEventResult result) { |
| 499 Send(new ServiceWorkerHostMsg_InstallEventFinished( | 499 Send(new ServiceWorkerHostMsg_InstallEventFinished( |
| 500 GetRoutingID(), request_id, result, proxy_->hasFetchEventHandler())); | 500 GetRoutingID(), request_id, result, proxy_->hasFetchEventHandler())); |
| 501 } | 501 } |
| 502 | 502 |
| 503 void ServiceWorkerContextClient::didHandleFetchEvent(int request_id) { | 503 void ServiceWorkerContextClient::respondFetchEvent(int request_id) { |
| 504 Send(new ServiceWorkerHostMsg_FetchEventFinished( | 504 Send(new ServiceWorkerHostMsg_FetchEventResponse( |
| 505 GetRoutingID(), request_id, | 505 GetRoutingID(), request_id, SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, |
| 506 SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, | |
| 507 ServiceWorkerResponse())); | 506 ServiceWorkerResponse())); |
| 508 } | 507 } |
| 509 | 508 |
| 510 void ServiceWorkerContextClient::didHandleFetchEvent( | 509 void ServiceWorkerContextClient::respondFetchEvent( |
| 511 int request_id, | 510 int request_id, |
| 512 const blink::WebServiceWorkerResponse& web_response) { | 511 const blink::WebServiceWorkerResponse& web_response) { |
| 513 ServiceWorkerHeaderMap headers; | 512 ServiceWorkerHeaderMap headers; |
| 514 GetServiceWorkerHeaderMapFromWebResponse(web_response, &headers); | 513 GetServiceWorkerHeaderMapFromWebResponse(web_response, &headers); |
| 515 ServiceWorkerHeaderList cors_exposed_header_names; | 514 ServiceWorkerHeaderList cors_exposed_header_names; |
| 516 GetCorsExposedHeaderNamesFromWebResponse(web_response, | 515 GetCorsExposedHeaderNamesFromWebResponse(web_response, |
| 517 &cors_exposed_header_names); | 516 &cors_exposed_header_names); |
| 518 ServiceWorkerResponse response( | 517 ServiceWorkerResponse response( |
| 519 web_response.url(), web_response.status(), | 518 web_response.url(), web_response.status(), |
| 520 web_response.statusText().utf8(), web_response.responseType(), headers, | 519 web_response.statusText().utf8(), web_response.responseType(), headers, |
| 521 web_response.blobUUID().utf8(), web_response.blobSize(), | 520 web_response.blobUUID().utf8(), web_response.blobSize(), |
| 522 web_response.streamURL(), web_response.error(), | 521 web_response.streamURL(), web_response.error(), |
| 523 base::Time::FromInternalValue(web_response.responseTime()), | 522 base::Time::FromInternalValue(web_response.responseTime()), |
| 524 !web_response.cacheStorageCacheName().isNull(), | 523 !web_response.cacheStorageCacheName().isNull(), |
| 525 web_response.cacheStorageCacheName().utf8(), cors_exposed_header_names); | 524 web_response.cacheStorageCacheName().utf8(), cors_exposed_header_names); |
| 526 Send(new ServiceWorkerHostMsg_FetchEventFinished( | 525 Send(new ServiceWorkerHostMsg_FetchEventResponse( |
| 527 GetRoutingID(), request_id, | 526 GetRoutingID(), request_id, SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, |
| 528 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, | |
| 529 response)); | 527 response)); |
| 530 } | 528 } |
| 531 | 529 |
| 530 void ServiceWorkerContextClient::didHandleFetchEvent( |
| 531 int request_id, |
| 532 blink::WebServiceWorkerEventResult result) { |
| 533 Send(new ServiceWorkerHostMsg_FetchEventFinished(GetRoutingID(), request_id, |
| 534 result)); |
| 535 } |
| 536 |
| 532 void ServiceWorkerContextClient::didHandleNotificationClickEvent( | 537 void ServiceWorkerContextClient::didHandleNotificationClickEvent( |
| 533 int request_id, | 538 int request_id, |
| 534 blink::WebServiceWorkerEventResult result) { | 539 blink::WebServiceWorkerEventResult result) { |
| 535 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( | 540 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( |
| 536 GetRoutingID(), request_id, result)); | 541 GetRoutingID(), request_id, result)); |
| 537 } | 542 } |
| 538 | 543 |
| 539 void ServiceWorkerContextClient::didHandleNotificationCloseEvent( | 544 void ServiceWorkerContextClient::didHandleNotificationCloseEvent( |
| 540 int request_id, | 545 int request_id, |
| 541 blink::WebServiceWorkerEventResult result) { | 546 blink::WebServiceWorkerEventResult result) { |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 749 WebServiceWorkerImpl::CreateHandle(worker)); | 754 WebServiceWorkerImpl::CreateHandle(worker)); |
| 750 } | 755 } |
| 751 | 756 |
| 752 void ServiceWorkerContextClient::OnInstallEvent(int request_id) { | 757 void ServiceWorkerContextClient::OnInstallEvent(int request_id) { |
| 753 TRACE_EVENT0("ServiceWorker", | 758 TRACE_EVENT0("ServiceWorker", |
| 754 "ServiceWorkerContextClient::OnInstallEvent"); | 759 "ServiceWorkerContextClient::OnInstallEvent"); |
| 755 proxy_->dispatchInstallEvent(request_id); | 760 proxy_->dispatchInstallEvent(request_id); |
| 756 } | 761 } |
| 757 | 762 |
| 758 void ServiceWorkerContextClient::OnFetchEvent( | 763 void ServiceWorkerContextClient::OnFetchEvent( |
| 759 int request_id, | 764 int response_request_id, |
| 765 int event_request_id, |
| 760 const ServiceWorkerFetchRequest& request) { | 766 const ServiceWorkerFetchRequest& request) { |
| 761 blink::WebServiceWorkerRequest webRequest; | 767 blink::WebServiceWorkerRequest webRequest; |
| 762 TRACE_EVENT0("ServiceWorker", | 768 TRACE_EVENT0("ServiceWorker", |
| 763 "ServiceWorkerContextClient::OnFetchEvent"); | 769 "ServiceWorkerContextClient::OnFetchEvent"); |
| 764 webRequest.setURL(blink::WebURL(request.url)); | 770 webRequest.setURL(blink::WebURL(request.url)); |
| 765 webRequest.setMethod(blink::WebString::fromUTF8(request.method)); | 771 webRequest.setMethod(blink::WebString::fromUTF8(request.method)); |
| 766 for (ServiceWorkerHeaderMap::const_iterator it = request.headers.begin(); | 772 for (ServiceWorkerHeaderMap::const_iterator it = request.headers.begin(); |
| 767 it != request.headers.end(); | 773 it != request.headers.end(); |
| 768 ++it) { | 774 ++it) { |
| 769 webRequest.setHeader(blink::WebString::fromUTF8(it->first), | 775 webRequest.setHeader(blink::WebString::fromUTF8(it->first), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 780 webRequest.setIsMainResourceLoad(request.is_main_resource_load); | 786 webRequest.setIsMainResourceLoad(request.is_main_resource_load); |
| 781 webRequest.setCredentialsMode( | 787 webRequest.setCredentialsMode( |
| 782 GetBlinkFetchCredentialsMode(request.credentials_mode)); | 788 GetBlinkFetchCredentialsMode(request.credentials_mode)); |
| 783 webRequest.setRedirectMode(GetBlinkFetchRedirectMode(request.redirect_mode)); | 789 webRequest.setRedirectMode(GetBlinkFetchRedirectMode(request.redirect_mode)); |
| 784 webRequest.setRequestContext( | 790 webRequest.setRequestContext( |
| 785 GetBlinkRequestContext(request.request_context_type)); | 791 GetBlinkRequestContext(request.request_context_type)); |
| 786 webRequest.setFrameType(GetBlinkFrameType(request.frame_type)); | 792 webRequest.setFrameType(GetBlinkFrameType(request.frame_type)); |
| 787 webRequest.setClientId(blink::WebString::fromUTF8(request.client_id)); | 793 webRequest.setClientId(blink::WebString::fromUTF8(request.client_id)); |
| 788 webRequest.setIsReload(request.is_reload); | 794 webRequest.setIsReload(request.is_reload); |
| 789 if (request.fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) { | 795 if (request.fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) { |
| 790 proxy_->dispatchForeignFetchEvent(request_id, webRequest); | 796 proxy_->dispatchForeignFetchEvent(response_request_id, event_request_id, |
| 797 webRequest); |
| 791 } else { | 798 } else { |
| 792 proxy_->dispatchFetchEvent(request_id, webRequest); | 799 proxy_->dispatchFetchEvent(response_request_id, event_request_id, |
| 800 webRequest); |
| 793 } | 801 } |
| 794 } | 802 } |
| 795 | 803 |
| 796 void ServiceWorkerContextClient::OnNotificationClickEvent( | 804 void ServiceWorkerContextClient::OnNotificationClickEvent( |
| 797 int request_id, | 805 int request_id, |
| 798 int64_t persistent_notification_id, | 806 int64_t persistent_notification_id, |
| 799 const PlatformNotificationData& notification_data, | 807 const PlatformNotificationData& notification_data, |
| 800 int action_index) { | 808 int action_index) { |
| 801 TRACE_EVENT0("ServiceWorker", | 809 TRACE_EVENT0("ServiceWorker", |
| 802 "ServiceWorkerContextClient::OnNotificationClickEvent"); | 810 "ServiceWorkerContextClient::OnNotificationClickEvent"); |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1017 } | 1025 } |
| 1018 | 1026 |
| 1019 base::WeakPtr<ServiceWorkerContextClient> | 1027 base::WeakPtr<ServiceWorkerContextClient> |
| 1020 ServiceWorkerContextClient::GetWeakPtr() { | 1028 ServiceWorkerContextClient::GetWeakPtr() { |
| 1021 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 1029 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
| 1022 DCHECK(context_); | 1030 DCHECK(context_); |
| 1023 return context_->weak_factory.GetWeakPtr(); | 1031 return context_->weak_factory.GetWeakPtr(); |
| 1024 } | 1032 } |
| 1025 | 1033 |
| 1026 } // namespace content | 1034 } // namespace content |
| OLD | NEW |