Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: Source/modules/serviceworkers/ServiceWorkerMessageEvent.h

Issue 1130113006: ServiceWorker: Introduce ServiceWorkerMessageEvent to replace MessageEvent (3/3). (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: add initEvent tests Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698