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 |