| 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 "config.h" | 5 #include "config.h" |
| 6 #include "modules/serviceworkers/ServiceWorkerClients.h" | 6 #include "modules/serviceworkers/ServiceWorkerClients.h" |
| 7 | 7 |
| 8 #include "bindings/core/v8/CallbackPromiseAdapter.h" | 8 #include "bindings/core/v8/CallbackPromiseAdapter.h" |
| 9 #include "bindings/core/v8/ScriptPromiseResolver.h" | 9 #include "bindings/core/v8/ScriptPromiseResolver.h" |
| 10 #include "core/dom/ExceptionCode.h" | 10 #include "core/dom/ExceptionCode.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 namespace { | 23 namespace { |
| 24 | 24 |
| 25 class ClientArray { | 25 class ClientArray { |
| 26 public: | 26 public: |
| 27 typedef blink::WebServiceWorkerClientsInfo WebType; | 27 typedef blink::WebServiceWorkerClientsInfo WebType; |
| 28 static HeapVector<Member<ServiceWorkerClient>> take(ScriptPromiseResolver*,
WebType* webClientsRaw) | 28 static HeapVector<Member<ServiceWorkerClient>> take(ScriptPromiseResolver*,
WebType* webClientsRaw) |
| 29 { | 29 { |
| 30 OwnPtr<WebType> webClients = adoptPtr(webClientsRaw); | 30 OwnPtr<WebType> webClients = adoptPtr(webClientsRaw); |
| 31 HeapVector<Member<ServiceWorkerClient>> clients; | 31 HeapVector<Member<ServiceWorkerClient>> clients; |
| 32 for (size_t i = 0; i < webClients->clients.size(); ++i) { | 32 for (size_t i = 0; i < webClients->clients.size(); ++i) { |
| 33 WebServiceWorkerClientInfo& client = webClients->clients[i]; | 33 const WebServiceWorkerClientInfo& client = webClients->clients[i]; |
| 34 if (client.clientType == WebServiceWorkerClientTypeWindow) | 34 if (client.clientType == WebServiceWorkerClientTypeWindow) |
| 35 clients.append(ServiceWorkerWindowClient::create(client)); | 35 clients.append(ServiceWorkerWindowClient::create(client)); |
| 36 else | 36 else |
| 37 clients.append(ServiceWorkerClient::create(client)); | 37 clients.append(ServiceWorkerClient::create(client)); |
| 38 } | 38 } |
| 39 return clients; | 39 return clients; |
| 40 } | 40 } |
| 41 static void dispose(WebType* webClientsRaw) | 41 static void dispose(WebType* webClientsRaw) |
| 42 { | 42 { |
| 43 delete webClientsRaw; | 43 delete webClientsRaw; |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 resolver->reject(DOMException::create(InvalidAccessError, "Not allowed t
o open a window.")); | 127 resolver->reject(DOMException::create(InvalidAccessError, "Not allowed t
o open a window.")); |
| 128 return promise; | 128 return promise; |
| 129 } | 129 } |
| 130 context->consumeWindowInteraction(); | 130 context->consumeWindowInteraction(); |
| 131 | 131 |
| 132 ServiceWorkerGlobalScopeClient::from(context)->openWindow(parsedUrl, new Cal
lbackPromiseAdapter<ServiceWorkerWindowClient, ServiceWorkerError>(resolver)); | 132 ServiceWorkerGlobalScopeClient::from(context)->openWindow(parsedUrl, new Cal
lbackPromiseAdapter<ServiceWorkerWindowClient, ServiceWorkerError>(resolver)); |
| 133 return promise; | 133 return promise; |
| 134 } | 134 } |
| 135 | 135 |
| 136 } // namespace blink | 136 } // namespace blink |
| OLD | NEW |