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

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

Issue 2606303002: [ServiceWorker] Some code clean-up for content::ServiceWorkerContextClient (Closed)
Patch Set: Address comments from falken and iclelland 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
« no previous file with comments | « content/renderer/service_worker/service_worker_context_client.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 base::Time::FromDoubleT(event_dispatch_time))); 676 base::Time::FromDoubleT(event_dispatch_time)));
677 } 677 }
678 678
679 void ServiceWorkerContextClient::didHandleExtendableMessageEvent( 679 void ServiceWorkerContextClient::didHandleExtendableMessageEvent(
680 int request_id, 680 int request_id,
681 blink::WebServiceWorkerEventResult result, 681 blink::WebServiceWorkerEventResult result,
682 double event_dispatch_time) { 682 double event_dispatch_time) {
683 const DispatchExtendableMessageEventCallback* callback = 683 const DispatchExtendableMessageEventCallback* callback =
684 context_->message_event_callbacks.Lookup(request_id); 684 context_->message_event_callbacks.Lookup(request_id);
685 DCHECK(callback); 685 DCHECK(callback);
686 if (result == blink::WebServiceWorkerEventResultCompleted) { 686 callback->Run(EventResultToStatus(result),
687 callback->Run(SERVICE_WORKER_OK, 687 base::Time::FromDoubleT(event_dispatch_time));
688 base::Time::FromDoubleT(event_dispatch_time));
689 } else {
690 callback->Run(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED,
691 base::Time::FromDoubleT(event_dispatch_time));
692 }
693 context_->message_event_callbacks.Remove(request_id); 688 context_->message_event_callbacks.Remove(request_id);
694 } 689 }
695 690
696 void ServiceWorkerContextClient::didHandleInstallEvent( 691 void ServiceWorkerContextClient::didHandleInstallEvent(
697 int request_id, 692 int request_id,
698 blink::WebServiceWorkerEventResult result, 693 blink::WebServiceWorkerEventResult result,
699 double event_dispatch_time) { 694 double event_dispatch_time) {
700 Send(new ServiceWorkerHostMsg_InstallEventFinished( 695 Send(new ServiceWorkerHostMsg_InstallEventFinished(
701 GetRoutingID(), request_id, result, proxy_->hasFetchEventHandler(), 696 GetRoutingID(), request_id, result, proxy_->hasFetchEventHandler(),
702 base::Time::FromDoubleT(event_dispatch_time))); 697 base::Time::FromDoubleT(event_dispatch_time)));
(...skipping 24 matching lines...) Expand all
727 blink::WebServiceWorkerEventResult result, 722 blink::WebServiceWorkerEventResult result,
728 double event_dispatch_time) { 723 double event_dispatch_time) {
729 if (context_->preload_requests.Lookup(fetch_event_id)) { 724 if (context_->preload_requests.Lookup(fetch_event_id)) {
730 // Deletes NavigationPreloadRequest. If the network request is ongoing, it 725 // Deletes NavigationPreloadRequest. If the network request is ongoing, it
731 // will be canceled by deleting the mojom::URLLoaderPtr in the 726 // will be canceled by deleting the mojom::URLLoaderPtr in the
732 // NavigationPreloadRequest. 727 // NavigationPreloadRequest.
733 context_->preload_requests.Remove(fetch_event_id); 728 context_->preload_requests.Remove(fetch_event_id);
734 } 729 }
735 const FetchCallback* callback = 730 const FetchCallback* callback =
736 context_->fetch_event_callbacks.Lookup(fetch_event_id); 731 context_->fetch_event_callbacks.Lookup(fetch_event_id);
737 if (!callback) 732 DCHECK(callback);
738 return; 733 callback->Run(EventResultToStatus(result),
739
740 callback->Run(result == blink::WebServiceWorkerEventResultCompleted
741 ? SERVICE_WORKER_OK
742 : SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED,
743 base::Time::FromDoubleT(event_dispatch_time)); 734 base::Time::FromDoubleT(event_dispatch_time));
744 context_->fetch_event_callbacks.Remove(fetch_event_id); 735 context_->fetch_event_callbacks.Remove(fetch_event_id);
745 } 736 }
746 737
747 void ServiceWorkerContextClient::didHandleNotificationClickEvent( 738 void ServiceWorkerContextClient::didHandleNotificationClickEvent(
748 int request_id, 739 int request_id,
749 blink::WebServiceWorkerEventResult result, 740 blink::WebServiceWorkerEventResult result,
750 double event_dispatch_time) { 741 double event_dispatch_time) {
751 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( 742 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished(
752 GetRoutingID(), request_id, result, 743 GetRoutingID(), request_id, result,
(...skipping 17 matching lines...) Expand all
770 GetRoutingID(), request_id, result, 761 GetRoutingID(), request_id, result,
771 base::Time::FromDoubleT(event_dispatch_time))); 762 base::Time::FromDoubleT(event_dispatch_time)));
772 } 763 }
773 764
774 void ServiceWorkerContextClient::didHandleSyncEvent( 765 void ServiceWorkerContextClient::didHandleSyncEvent(
775 int request_id, 766 int request_id,
776 blink::WebServiceWorkerEventResult result, 767 blink::WebServiceWorkerEventResult result,
777 double event_dispatch_time) { 768 double event_dispatch_time) {
778 const SyncCallback* callback = 769 const SyncCallback* callback =
779 context_->sync_event_callbacks.Lookup(request_id); 770 context_->sync_event_callbacks.Lookup(request_id);
780 if (!callback) 771 DCHECK(callback);
781 return; 772 callback->Run(EventResultToStatus(result),
782 if (result == blink::WebServiceWorkerEventResultCompleted) { 773 base::Time::FromDoubleT(event_dispatch_time));
783 callback->Run(SERVICE_WORKER_OK,
784 base::Time::FromDoubleT(event_dispatch_time));
785 } else {
786 callback->Run(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED,
787 base::Time::FromDoubleT(event_dispatch_time));
788 }
789 context_->sync_event_callbacks.Remove(request_id); 774 context_->sync_event_callbacks.Remove(request_id);
790 } 775 }
791 776
792 blink::WebServiceWorkerNetworkProvider* 777 blink::WebServiceWorkerNetworkProvider*
793 ServiceWorkerContextClient::createServiceWorkerNetworkProvider( 778 ServiceWorkerContextClient::createServiceWorkerNetworkProvider(
794 blink::WebDataSource* data_source) { 779 blink::WebDataSource* data_source) {
795 DCHECK(main_thread_task_runner_->RunsTasksOnCurrentThread()); 780 DCHECK(main_thread_task_runner_->RunsTasksOnCurrentThread());
796 781
797 // Create a content::ServiceWorkerNetworkProvider for this data source so 782 // Create a content::ServiceWorkerNetworkProvider for this data source so
798 // we can observe its requests. 783 // we can observe its requests.
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 blink::WebServiceWorkerContextProxy::LastChanceOption web_last_chance = 882 blink::WebServiceWorkerContextProxy::LastChanceOption web_last_chance =
898 mojo::ConvertTo<blink::WebServiceWorkerContextProxy::LastChanceOption>( 883 mojo::ConvertTo<blink::WebServiceWorkerContextProxy::LastChanceOption>(
899 last_chance); 884 last_chance);
900 885
901 // TODO(jkarlin): Make this blink::WebString::FromUTF8Lenient once 886 // TODO(jkarlin): Make this blink::WebString::FromUTF8Lenient once
902 // https://crrev.com/1768063002/ lands. 887 // https://crrev.com/1768063002/ lands.
903 proxy_->dispatchSyncEvent(request_id, blink::WebString::fromUTF8(tag), 888 proxy_->dispatchSyncEvent(request_id, blink::WebString::fromUTF8(tag),
904 web_last_chance); 889 web_last_chance);
905 } 890 }
906 891
892 ServiceWorkerStatusCode ServiceWorkerContextClient::EventResultToStatus(
893 blink::WebServiceWorkerEventResult result) {
falken 2017/01/10 06:34:03 This could be a nonmember function in an unnamed n
xiaofengzhang 2017/01/10 07:07:20 Acknowledged.
894 switch (result) {
895 case blink::WebServiceWorkerEventResultCompleted:
896 return SERVICE_WORKER_OK;
897 case blink::WebServiceWorkerEventResultRejected:
898 return SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED;
899 }
900 NOTREACHED() << "Got stray result: " << result;
falken 2017/01/10 06:34:03 "stray result" is a bit weird. "invalid result"
xiaofengzhang 2017/01/10 07:07:20 Acknowledged.
901 return SERVICE_WORKER_ERROR_FAILED;
902 }
903
907 void ServiceWorkerContextClient::Send(IPC::Message* message) { 904 void ServiceWorkerContextClient::Send(IPC::Message* message) {
908 sender_->Send(message); 905 sender_->Send(message);
909 } 906 }
910 907
911 void ServiceWorkerContextClient::SendWorkerStarted() { 908 void ServiceWorkerContextClient::SendWorkerStarted() {
912 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); 909 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread());
913 TRACE_EVENT_ASYNC_END0("ServiceWorker", 910 TRACE_EVENT_ASYNC_END0("ServiceWorker",
914 "ServiceWorkerContextClient::StartingWorkerContext", 911 "ServiceWorkerContextClient::StartingWorkerContext",
915 this); 912 this);
916 Send(new EmbeddedWorkerHostMsg_WorkerStarted(embedded_worker_id_)); 913 Send(new EmbeddedWorkerHostMsg_WorkerStarted(embedded_worker_id_));
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 } 1277 }
1281 1278
1282 base::WeakPtr<ServiceWorkerContextClient> 1279 base::WeakPtr<ServiceWorkerContextClient>
1283 ServiceWorkerContextClient::GetWeakPtr() { 1280 ServiceWorkerContextClient::GetWeakPtr() {
1284 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); 1281 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread());
1285 DCHECK(context_); 1282 DCHECK(context_);
1286 return context_->weak_factory.GetWeakPtr(); 1283 return context_->weak_factory.GetWeakPtr();
1287 } 1284 }
1288 1285
1289 } // namespace content 1286 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/service_worker/service_worker_context_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698