OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Henry Mason (hmason@mac.com) | 2 * Copyright (C) 2007 Henry Mason (hmason@mac.com) |
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 RefPtrWillBeMember<EventTarget> source; | 46 RefPtrWillBeMember<EventTarget> source; |
47 MessagePortArray ports; | 47 MessagePortArray ports; |
48 }; | 48 }; |
49 | 49 |
50 class MessageEvent FINAL : public Event { | 50 class MessageEvent FINAL : public Event { |
51 public: | 51 public: |
52 static PassRefPtrWillBeRawPtr<MessageEvent> create() | 52 static PassRefPtrWillBeRawPtr<MessageEvent> create() |
53 { | 53 { |
54 return adoptRefWillBeNoop(new MessageEvent); | 54 return adoptRefWillBeNoop(new MessageEvent); |
55 } | 55 } |
56 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortArr
ay> ports, const String& origin = String(), const String& lastEventId = String()
, PassRefPtrWillBeRawPtr<EventTarget> source = nullptr) | 56 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtrWillBeRawPtr<Me
ssagePortArray> ports, const String& origin = String(), const String& lastEventI
d = String(), PassRefPtrWillBeRawPtr<EventTarget> source = nullptr) |
57 { | 57 { |
58 return adoptRefWillBeNoop(new MessageEvent(origin, lastEventId, source,
ports)); | 58 return adoptRefWillBeNoop(new MessageEvent(origin, lastEventId, source,
ports)); |
59 } | 59 } |
60 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortArr
ay> ports, PassRefPtr<SerializedScriptValue> data, const String& origin = String
(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<EventTarget> so
urce = nullptr) | 60 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtrWillBeRawPtr<Me
ssagePortArray> ports, PassRefPtr<SerializedScriptValue> data, const String& ori
gin = String(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<Eve
ntTarget> source = nullptr) |
61 { | 61 { |
62 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so
urce, ports)); | 62 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so
urce, ports)); |
63 } | 63 } |
64 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortCha
nnelArray> channels, PassRefPtr<SerializedScriptValue> data, const String& origi
n = String(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<Event
Target> source = nullptr) | 64 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortCha
nnelArray> channels, PassRefPtr<SerializedScriptValue> data, const String& origi
n = String(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<Event
Target> source = nullptr) |
65 { | 65 { |
66 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so
urce, channels)); | 66 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so
urce, channels)); |
67 } | 67 } |
68 static PassRefPtrWillBeRawPtr<MessageEvent> create(const String& data, const
String& origin = String()) | 68 static PassRefPtrWillBeRawPtr<MessageEvent> create(const String& data, const
String& origin = String()) |
69 { | 69 { |
70 return adoptRefWillBeNoop(new MessageEvent(data, origin)); | 70 return adoptRefWillBeNoop(new MessageEvent(data, origin)); |
71 } | 71 } |
72 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtrWillBeRawPtr<Bl
ob> data, const String& origin = String()) | 72 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtrWillBeRawPtr<Bl
ob> data, const String& origin = String()) |
73 { | 73 { |
74 return adoptRefWillBeNoop(new MessageEvent(data, origin)); | 74 return adoptRefWillBeNoop(new MessageEvent(data, origin)); |
75 } | 75 } |
76 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtr<ArrayBuffer> d
ata, const String& origin = String()) | 76 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtr<ArrayBuffer> d
ata, const String& origin = String()) |
77 { | 77 { |
78 return adoptRefWillBeNoop(new MessageEvent(data, origin)); | 78 return adoptRefWillBeNoop(new MessageEvent(data, origin)); |
79 } | 79 } |
80 static PassRefPtrWillBeRawPtr<MessageEvent> create(const AtomicString& type,
const MessageEventInit& initializer, ExceptionState&); | 80 static PassRefPtrWillBeRawPtr<MessageEvent> create(const AtomicString& type,
const MessageEventInit& initializer, ExceptionState&); |
81 virtual ~MessageEvent(); | 81 virtual ~MessageEvent(); |
82 | 82 |
83 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela
ble, const String& origin, const String& lastEventId, LocalDOMWindow* source, Pa
ssOwnPtr<MessagePortArray>); | 83 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela
ble, const String& origin, const String& lastEventId, LocalDOMWindow* source, Pa
ssOwnPtrWillBeRawPtr<MessagePortArray>); |
84 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela
ble, PassRefPtr<SerializedScriptValue> data, const String& origin, const String&
lastEventId, LocalDOMWindow* source, PassOwnPtr<MessagePortArray>); | 84 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela
ble, PassRefPtr<SerializedScriptValue> data, const String& origin, const String&
lastEventId, LocalDOMWindow* source, PassOwnPtrWillBeRawPtr<MessagePortArray>); |
85 | 85 |
86 const String& origin() const { return m_origin; } | 86 const String& origin() const { return m_origin; } |
87 const String& lastEventId() const { return m_lastEventId; } | 87 const String& lastEventId() const { return m_lastEventId; } |
88 EventTarget* source() const { return m_source.get(); } | 88 EventTarget* source() const { return m_source.get(); } |
89 EventTarget* source(bool& isNull) const { isNull = !m_source; return m_sourc
e.get(); } | 89 EventTarget* source(bool& isNull) const { isNull = !m_source; return m_sourc
e.get(); } |
90 MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArra
y(); } | 90 MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArra
y(); } |
91 MessagePortChannelArray* channels() const { return m_channels ? m_channels.g
et() : 0; } | 91 MessagePortChannelArray* channels() const { return m_channels ? m_channels.g
et() : 0; } |
92 | 92 |
93 virtual const AtomicString& interfaceName() const OVERRIDE; | 93 virtual const AtomicString& interfaceName() const OVERRIDE; |
94 | 94 |
(...skipping 16 matching lines...) Expand all Loading... |
111 m_dataAsSerializedScriptValue = data; | 111 m_dataAsSerializedScriptValue = data; |
112 } | 112 } |
113 | 113 |
114 void entangleMessagePorts(ExecutionContext*); | 114 void entangleMessagePorts(ExecutionContext*); |
115 | 115 |
116 virtual void trace(Visitor*) OVERRIDE; | 116 virtual void trace(Visitor*) OVERRIDE; |
117 | 117 |
118 private: | 118 private: |
119 MessageEvent(); | 119 MessageEvent(); |
120 MessageEvent(const AtomicString&, const MessageEventInit&); | 120 MessageEvent(const AtomicString&, const MessageEventInit&); |
121 MessageEvent(const String& origin, const String& lastEventId, PassRefPtrWill
BeRawPtr<EventTarget> source, PassOwnPtr<MessagePortArray>); | 121 MessageEvent(const String& origin, const String& lastEventId, PassRefPtrWill
BeRawPtr<EventTarget> source, PassOwnPtrWillBeRawPtr<MessagePortArray>); |
122 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
<MessagePortArray>); | 122 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
WillBeRawPtr<MessagePortArray>); |
123 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
<MessagePortChannelArray>); | 123 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
<MessagePortChannelArray>); |
124 | 124 |
125 MessageEvent(const String& data, const String& origin); | 125 MessageEvent(const String& data, const String& origin); |
126 MessageEvent(PassRefPtrWillBeRawPtr<Blob> data, const String& origin); | 126 MessageEvent(PassRefPtrWillBeRawPtr<Blob> data, const String& origin); |
127 MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); | 127 MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); |
128 | 128 |
129 DataType m_dataType; | 129 DataType m_dataType; |
130 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; | 130 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; |
131 String m_dataAsString; | 131 String m_dataAsString; |
132 RefPtrWillBeMember<Blob> m_dataAsBlob; | 132 RefPtrWillBeMember<Blob> m_dataAsBlob; |
133 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; | 133 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; |
134 String m_origin; | 134 String m_origin; |
135 String m_lastEventId; | 135 String m_lastEventId; |
136 RefPtrWillBeMember<EventTarget> m_source; | 136 RefPtrWillBeMember<EventTarget> m_source; |
137 // m_ports are the MessagePorts in an engtangled state, and m_channels are | 137 // m_ports are the MessagePorts in an engtangled state, and m_channels are |
138 // the MessageChannels in a disentangled state. Only one of them can be | 138 // the MessageChannels in a disentangled state. Only one of them can be |
139 // non-empty at a time. entangleMessagePorts() moves between the states. | 139 // non-empty at a time. entangleMessagePorts() moves between the states. |
140 OwnPtr<MessagePortArray> m_ports; | 140 OwnPtrWillBeMember<MessagePortArray> m_ports; |
141 OwnPtr<MessagePortChannelArray> m_channels; | 141 OwnPtr<MessagePortChannelArray> m_channels; |
142 }; | 142 }; |
143 | 143 |
144 } // namespace WebCore | 144 } // namespace WebCore |
145 | 145 |
146 #endif // MessageEvent_h | 146 #endif // MessageEvent_h |
OLD | NEW |