| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_script_context.h" | 5 #include "content/renderer/service_worker/service_worker_script_context.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/trace_event/trace_event.h" | 9 #include "base/trace_event/trace_event.h" |
| 10 #include "content/child/notifications/notification_data_conversions.h" | 10 #include "content/child/notifications/notification_data_conversions.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 RequestContextType request_context_type) { | 65 RequestContextType request_context_type) { |
| 66 return static_cast<blink::WebURLRequest::RequestContext>( | 66 return static_cast<blink::WebURLRequest::RequestContext>( |
| 67 request_context_type); | 67 request_context_type); |
| 68 } | 68 } |
| 69 | 69 |
| 70 blink::WebURLRequest::FrameType GetBlinkFrameType( | 70 blink::WebURLRequest::FrameType GetBlinkFrameType( |
| 71 RequestContextFrameType frame_type) { | 71 RequestContextFrameType frame_type) { |
| 72 return static_cast<blink::WebURLRequest::FrameType>(frame_type); | 72 return static_cast<blink::WebURLRequest::FrameType>(frame_type); |
| 73 } | 73 } |
| 74 | 74 |
| 75 blink::WebServiceWorkerClientInfo |
| 76 ToWebServiceWorkerClientInfo(const ServiceWorkerClientInfo& client_info) { |
| 77 DCHECK(client_info.IsValid()); |
| 78 |
| 79 blink::WebServiceWorkerClientInfo web_client_info; |
| 80 |
| 81 web_client_info.clientID = client_info.client_id; |
| 82 web_client_info.pageVisibilityState = client_info.page_visibility_state; |
| 83 web_client_info.isFocused = client_info.is_focused; |
| 84 web_client_info.url = client_info.url; |
| 85 web_client_info.frameType = GetBlinkFrameType(client_info.frame_type); |
| 86 |
| 87 return web_client_info; |
| 88 } |
| 89 |
| 75 } // namespace | 90 } // namespace |
| 76 | 91 |
| 77 ServiceWorkerScriptContext::ServiceWorkerScriptContext( | 92 ServiceWorkerScriptContext::ServiceWorkerScriptContext( |
| 78 EmbeddedWorkerContextClient* embedded_context, | 93 EmbeddedWorkerContextClient* embedded_context, |
| 79 blink::WebServiceWorkerContextProxy* proxy) | 94 blink::WebServiceWorkerContextProxy* proxy) |
| 80 : cache_storage_dispatcher_(new ServiceWorkerCacheStorageDispatcher(this)), | 95 : cache_storage_dispatcher_(new ServiceWorkerCacheStorageDispatcher(this)), |
| 81 embedded_context_(embedded_context), | 96 embedded_context_(embedded_context), |
| 82 proxy_(proxy) { | 97 proxy_(proxy) { |
| 83 } | 98 } |
| 84 | 99 |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 blink::WebServiceWorkerClientsCallbacks* callbacks = | 428 blink::WebServiceWorkerClientsCallbacks* callbacks = |
| 414 pending_clients_callbacks_.Lookup(request_id); | 429 pending_clients_callbacks_.Lookup(request_id); |
| 415 if (!callbacks) { | 430 if (!callbacks) { |
| 416 NOTREACHED() << "Got stray response: " << request_id; | 431 NOTREACHED() << "Got stray response: " << request_id; |
| 417 return; | 432 return; |
| 418 } | 433 } |
| 419 scoped_ptr<blink::WebServiceWorkerClientsInfo> info( | 434 scoped_ptr<blink::WebServiceWorkerClientsInfo> info( |
| 420 new blink::WebServiceWorkerClientsInfo); | 435 new blink::WebServiceWorkerClientsInfo); |
| 421 blink::WebVector<blink::WebServiceWorkerClientInfo> convertedClients( | 436 blink::WebVector<blink::WebServiceWorkerClientInfo> convertedClients( |
| 422 clients.size()); | 437 clients.size()); |
| 423 for (size_t i = 0; i < clients.size(); ++i) { | 438 for (size_t i = 0; i < clients.size(); ++i) |
| 424 convertedClients[i].clientID = clients[i].client_id; | 439 convertedClients[i] = ToWebServiceWorkerClientInfo(clients[i]); |
| 425 convertedClients[i].pageVisibilityState = clients[i].page_visibility_state; | |
| 426 convertedClients[i].isFocused = clients[i].is_focused; | |
| 427 convertedClients[i].url = clients[i].url; | |
| 428 convertedClients[i].frameType = | |
| 429 static_cast<blink::WebURLRequest::FrameType>(clients[i].frame_type); | |
| 430 } | |
| 431 info->clients.swap(convertedClients); | 440 info->clients.swap(convertedClients); |
| 432 callbacks->onSuccess(info.release()); | 441 callbacks->onSuccess(info.release()); |
| 433 pending_clients_callbacks_.Remove(request_id); | 442 pending_clients_callbacks_.Remove(request_id); |
| 434 } | 443 } |
| 435 | 444 |
| 436 void ServiceWorkerScriptContext::OnFocusClientResponse(int request_id, | 445 void ServiceWorkerScriptContext::OnFocusClientResponse(int request_id, |
| 437 bool result) { | 446 bool result) { |
| 438 TRACE_EVENT0("ServiceWorker", | 447 TRACE_EVENT0("ServiceWorker", |
| 439 "ServiceWorkerScriptContext::OnFocusClientResponse"); | 448 "ServiceWorkerScriptContext::OnFocusClientResponse"); |
| 440 blink::WebServiceWorkerClientFocusCallback* callback = | 449 blink::WebServiceWorkerClientFocusCallback* callback = |
| (...skipping 13 matching lines...) Expand all Loading... |
| 454 pending_skip_waiting_callbacks_.Lookup(request_id); | 463 pending_skip_waiting_callbacks_.Lookup(request_id); |
| 455 if (!callbacks) { | 464 if (!callbacks) { |
| 456 NOTREACHED() << "Got stray response: " << request_id; | 465 NOTREACHED() << "Got stray response: " << request_id; |
| 457 return; | 466 return; |
| 458 } | 467 } |
| 459 callbacks->onSuccess(); | 468 callbacks->onSuccess(); |
| 460 pending_skip_waiting_callbacks_.Remove(request_id); | 469 pending_skip_waiting_callbacks_.Remove(request_id); |
| 461 } | 470 } |
| 462 | 471 |
| 463 } // namespace content | 472 } // namespace content |
| OLD | NEW |