Index: content/renderer/service_worker/service_worker_script_context.cc |
diff --git a/content/renderer/service_worker/service_worker_script_context.cc b/content/renderer/service_worker/service_worker_script_context.cc |
index 19c6e12d346ba7a11cb4aa71e44d98218a20c25a..e8f36df1033e0ea08d587679fbe02daa4ea771ea 100644 |
--- a/content/renderer/service_worker/service_worker_script_context.cc |
+++ b/content/renderer/service_worker/service_worker_script_context.cc |
@@ -316,7 +316,7 @@ void ServiceWorkerScriptContext::OnPostMessage( |
} |
void ServiceWorkerScriptContext::OnDidGetClientDocuments( |
- int request_id, const std::vector<int>& client_ids) { |
+ int request_id, const std::vector<ServiceWorkerClientInfo>& clients) { |
TRACE_EVENT0("ServiceWorker", |
"ServiceWorkerScriptContext::OnDidGetClientDocuments"); |
blink::WebServiceWorkerClientsCallbacks* callbacks = |
@@ -327,7 +327,18 @@ void ServiceWorkerScriptContext::OnDidGetClientDocuments( |
} |
scoped_ptr<blink::WebServiceWorkerClientsInfo> info( |
new blink::WebServiceWorkerClientsInfo); |
- info->clientIDs = client_ids; |
+ blink::WebVector<blink::WebServiceWorkerClientInfo> convertedClients( |
+ clients.size()); |
+ for (size_t i = 0; i < clients.size(); ++i) { |
+ convertedClients[i].clientID = clients[i].client_id; |
+ convertedClients[i].visibilityState = |
+ blink::WebString::fromUTF8(clients[i].visibility_state); |
+ convertedClients[i].focused = clients[i].focused; |
+ convertedClients[i].url = clients[i].url; |
+ convertedClients[i].frameType = |
+ static_cast<blink::WebURLRequest::FrameType>(clients[i].frame_type); |
+ } |
+ info->clients.swap(convertedClients); |
callbacks->onSuccess(info.release()); |
pending_clients_callbacks_.Remove(request_id); |
} |