OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef ServiceWorkerMessageEvent_h |
| 6 #define ServiceWorkerMessageEvent_h |
| 7 |
| 8 #include "core/dom/DOMArrayBuffer.h" |
| 9 #include "core/dom/MessagePort.h" |
| 10 #include "modules/EventModules.h" |
| 11 #include "modules/ModulesExport.h" |
| 12 #include "modules/serviceworkers/ServiceWorker.h" |
| 13 |
| 14 namespace blink { |
| 15 |
| 16 struct ServiceWorkerMessageEventInit : public EventInit { |
| 17 ServiceWorkerMessageEventInit(); |
| 18 |
| 19 String origin; |
| 20 String lastEventId; |
| 21 MessagePortArray ports; |
| 22 }; |
| 23 |
| 24 class MODULES_EXPORT ServiceWorkerMessageEvent final : public Event { |
| 25 DEFINE_WRAPPERTYPEINFO(); |
| 26 public: |
| 27 static PassRefPtrWillBeRawPtr<ServiceWorkerMessageEvent> create() |
| 28 { |
| 29 return adoptRefWillBeNoop(new ServiceWorkerMessageEvent); |
| 30 } |
| 31 |
| 32 static PassRefPtrWillBeRawPtr<ServiceWorkerMessageEvent> create(const Atomic
String& type, const ServiceWorkerMessageEventInit& initializer) |
| 33 { |
| 34 return adoptRefWillBeNoop(new ServiceWorkerMessageEvent(type, initialize
r)); |
| 35 } |
| 36 |
| 37 static PassRefPtrWillBeRawPtr<ServiceWorkerMessageEvent> create(PassOwnPtrWi
llBeRawPtr<MessagePortArray> ports, PassRefPtr<SerializedScriptValue> data, Pass
RefPtrWillBeRawPtr<ServiceWorker> source) |
| 38 { |
| 39 return adoptRefWillBeNoop(new ServiceWorkerMessageEvent(data, String(),
String(), source, ports)); |
| 40 } |
| 41 |
| 42 virtual ~ServiceWorkerMessageEvent(); |
| 43 |
| 44 void initServiceWorkerMessageEvent(const AtomicString& type, bool canBubble,
bool cancelable, const String& origin, const String& lastEventId, PassOwnPtrWil
lBeRawPtr<MessagePortArray> ports); |
| 45 |
| 46 const String& origin() const { return m_origin; } |
| 47 const String& lastEventId() const { return m_lastEventId; } |
| 48 MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArra
y(); } |
| 49 |
| 50 void setSource(ServiceWorker* source) { m_sourceAsServiceWorker = source; } |
| 51 void setSource(MessagePort* source) { m_sourceAsMessagePort = source; } |
| 52 PassRefPtrWillBeRawPtr<ServiceWorker> sourceAsServiceWorker() const { return
m_sourceAsServiceWorker; } |
| 53 PassRefPtrWillBeRawPtr<MessagePort> sourceAsMessagePort() const { return m_s
ourceAsMessagePort; } |
| 54 |
| 55 virtual const AtomicString& interfaceName() const override; |
| 56 |
| 57 SerializedScriptValue* serializedData() const { return m_serializedData.get(
); } |
| 58 |
| 59 void setSerializedData(PassRefPtr<SerializedScriptValue> data) |
| 60 { |
| 61 ASSERT(!m_serializedData); |
| 62 m_serializedData = data; |
| 63 } |
| 64 |
| 65 DECLARE_VIRTUAL_TRACE(); |
| 66 |
| 67 private: |
| 68 ServiceWorkerMessageEvent(); |
| 69 ServiceWorkerMessageEvent(const AtomicString& type, const ServiceWorkerMessa
geEventInit& initializer); |
| 70 ServiceWorkerMessageEvent(PassRefPtr<SerializedScriptValue> data, const Stri
ng& origin, const String& lastEventId, PassRefPtrWillBeRawPtr<ServiceWorker> sou
rce, PassOwnPtrWillBeRawPtr<MessagePortArray> ports); |
| 71 |
| 72 String m_origin; |
| 73 String m_lastEventId; |
| 74 RefPtrWillBeMember<ServiceWorker> m_sourceAsServiceWorker; |
| 75 RefPtrWillBeMember<MessagePort> m_sourceAsMessagePort; |
| 76 RefPtr<SerializedScriptValue> m_serializedData; |
| 77 OwnPtrWillBeMember<MessagePortArray> m_ports; |
| 78 }; |
| 79 |
| 80 } // namespace blink |
| 81 |
| 82 #endif // ServiceWorkerMessageEvent_h |
OLD | NEW |