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

Side by Side Diff: content/browser/service_worker/service_worker_version.cc

Issue 1439333002: Service Worker: Add Clients.get(id) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase; address comments Created 4 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/browser/service_worker/service_worker_version.h" 5 #include "content/browser/service_worker/service_worker_version.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
885 source_identifier, 885 source_identifier,
886 message_level, 886 message_level,
887 message, 887 message,
888 line_number, 888 line_number,
889 source_url)); 889 source_url));
890 } 890 }
891 891
892 bool ServiceWorkerVersion::OnMessageReceived(const IPC::Message& message) { 892 bool ServiceWorkerVersion::OnMessageReceived(const IPC::Message& message) {
893 bool handled = true; 893 bool handled = true;
894 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerVersion, message) 894 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerVersion, message)
895 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClient, OnGetClient)
895 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClients, 896 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClients,
896 OnGetClients) 897 OnGetClients)
897 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_OpenWindow, 898 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_OpenWindow,
898 OnOpenWindow) 899 OnOpenWindow)
899 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetCachedMetadata, 900 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetCachedMetadata,
900 OnSetCachedMetadata) 901 OnSetCachedMetadata)
901 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ClearCachedMetadata, 902 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ClearCachedMetadata,
902 OnClearCachedMetadata) 903 OnClearCachedMetadata)
903 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToClient, 904 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToClient,
904 OnPostMessageToClient) 905 OnPostMessageToClient)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 embedded_worker_->message_port_message_filter(); 938 embedded_worker_->message_port_message_filter();
938 std::vector<int> new_routing_ids; 939 std::vector<int> new_routing_ids;
939 filter->UpdateMessagePortsWithNewRoutes(sent_message_ports, &new_routing_ids); 940 filter->UpdateMessagePortsWithNewRoutes(sent_message_ports, &new_routing_ids);
940 941
941 DispatchSimpleEvent<ServiceWorkerHostMsg_ExtendableMessageEventFinished>( 942 DispatchSimpleEvent<ServiceWorkerHostMsg_ExtendableMessageEventFinished>(
942 request_id, 943 request_id,
943 ServiceWorkerMsg_ExtendableMessageEvent( 944 ServiceWorkerMsg_ExtendableMessageEvent(
944 request_id, message, sent_message_ports, new_routing_ids)); 945 request_id, message, sent_message_ports, new_routing_ids));
945 } 946 }
946 947
948 void ServiceWorkerVersion::OnGetClient(int request_id,
949 const std::string& client_uuid) {
950 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", "ServiceWorkerVersion::OnGetClient",
951 request_id, "client_uuid", client_uuid);
952 service_worker_client_utils::GetClient(
953 weak_factory_.GetWeakPtr(), client_uuid, context_,
954 base::Bind(&ServiceWorkerVersion::OnGetClientFinished,
955 weak_factory_.GetWeakPtr(), request_id));
956 }
957
958 void ServiceWorkerVersion::OnGetClientFinished(
959 int request_id,
960 const ServiceWorkerClientInfo& client) {
961 DCHECK_CURRENTLY_ON(BrowserThread::IO);
962 TRACE_EVENT_ASYNC_END1("ServiceWorker", "ServiceWorkerVersion::OnGetClient",
963 request_id, "client_type", client.client_type);
964
965 // When Clients.matchAll() is called on the script evaluation phase, the
nhiroki 2016/02/17 02:40:28 s/matchAll()/get()/
jungkees 2016/02/17 14:01:12 Done.
966 // running status can be STARTING here.
967 if (running_status() != STARTING && running_status() != RUNNING)
968 return;
969
970 embedded_worker_->SendMessage(
971 ServiceWorkerMsg_DidGetClient(request_id, client));
972 }
973
947 void ServiceWorkerVersion::OnGetClients( 974 void ServiceWorkerVersion::OnGetClients(
948 int request_id, 975 int request_id,
949 const ServiceWorkerClientQueryOptions& options) { 976 const ServiceWorkerClientQueryOptions& options) {
950 TRACE_EVENT_ASYNC_BEGIN2( 977 TRACE_EVENT_ASYNC_BEGIN2(
951 "ServiceWorker", "ServiceWorkerVersion::OnGetClients", request_id, 978 "ServiceWorker", "ServiceWorkerVersion::OnGetClients", request_id,
952 "client_type", options.client_type, "include_uncontrolled", 979 "client_type", options.client_type, "include_uncontrolled",
953 options.include_uncontrolled); 980 options.include_uncontrolled);
954 service_worker_client_utils::GetClients( 981 service_worker_client_utils::GetClients(
955 weak_factory_.GetWeakPtr(), options, 982 weak_factory_.GetWeakPtr(), options,
956 base::Bind(&ServiceWorkerVersion::OnGetClientsFinished, 983 base::Bind(&ServiceWorkerVersion::OnGetClientsFinished,
(...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after
1752 void ServiceWorkerVersion::OnBeginEvent() { 1779 void ServiceWorkerVersion::OnBeginEvent() {
1753 if (should_exclude_from_uma_ || running_status() != RUNNING || 1780 if (should_exclude_from_uma_ || running_status() != RUNNING ||
1754 idle_time_.is_null()) { 1781 idle_time_.is_null()) {
1755 return; 1782 return;
1756 } 1783 }
1757 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - 1784 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() -
1758 idle_time_); 1785 idle_time_);
1759 } 1786 }
1760 1787
1761 } // namespace content 1788 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698