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 30 matching lines...) Expand all Loading... |
41 struct MessageEventInit : public EventInit { | 41 struct MessageEventInit : public EventInit { |
42 MessageEventInit(); | 42 MessageEventInit(); |
43 | 43 |
44 String origin; | 44 String origin; |
45 String lastEventId; | 45 String lastEventId; |
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 DEFINE_WRAPPERTYPEINFO(); |
51 public: | 52 public: |
52 static PassRefPtrWillBeRawPtr<MessageEvent> create() | 53 static PassRefPtrWillBeRawPtr<MessageEvent> create() |
53 { | 54 { |
54 return adoptRefWillBeNoop(new MessageEvent); | 55 return adoptRefWillBeNoop(new MessageEvent); |
55 } | 56 } |
56 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtrWillBeRawPtr<Me
ssagePortArray> ports, const String& origin = String(), const String& lastEventI
d = String(), PassRefPtrWillBeRawPtr<EventTarget> source = nullptr) | 57 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtrWillBeRawPtr<Me
ssagePortArray> ports, const String& origin = String(), const String& lastEventI
d = String(), PassRefPtrWillBeRawPtr<EventTarget> source = nullptr) |
57 { | 58 { |
58 return adoptRefWillBeNoop(new MessageEvent(origin, lastEventId, source,
ports)); | 59 return adoptRefWillBeNoop(new MessageEvent(origin, lastEventId, source,
ports)); |
59 } | 60 } |
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 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) |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 void setSerializedData(PassRefPtr<SerializedScriptValue> data) | 108 void setSerializedData(PassRefPtr<SerializedScriptValue> data) |
108 { | 109 { |
109 ASSERT(!m_dataAsSerializedScriptValue); | 110 ASSERT(!m_dataAsSerializedScriptValue); |
110 m_dataAsSerializedScriptValue = data; | 111 m_dataAsSerializedScriptValue = data; |
111 } | 112 } |
112 | 113 |
113 void entangleMessagePorts(ExecutionContext*); | 114 void entangleMessagePorts(ExecutionContext*); |
114 | 115 |
115 virtual void trace(Visitor*) OVERRIDE; | 116 virtual void trace(Visitor*) OVERRIDE; |
116 | 117 |
| 118 virtual v8::Handle<v8::Object> wrap(v8::Handle<v8::Object> creationContext,
v8::Isolate*) OVERRIDE; |
| 119 |
117 private: | 120 private: |
118 MessageEvent(); | 121 MessageEvent(); |
119 MessageEvent(const AtomicString&, const MessageEventInit&); | 122 MessageEvent(const AtomicString&, const MessageEventInit&); |
120 MessageEvent(const String& origin, const String& lastEventId, PassRefPtrWill
BeRawPtr<EventTarget> source, PassOwnPtrWillBeRawPtr<MessagePortArray>); | 123 MessageEvent(const String& origin, const String& lastEventId, PassRefPtrWill
BeRawPtr<EventTarget> source, PassOwnPtrWillBeRawPtr<MessagePortArray>); |
121 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
WillBeRawPtr<MessagePortArray>); | 124 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
WillBeRawPtr<MessagePortArray>); |
122 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
<MessagePortChannelArray>); | 125 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr
<MessagePortChannelArray>); |
123 | 126 |
124 MessageEvent(const String& data, const String& origin); | 127 MessageEvent(const String& data, const String& origin); |
125 MessageEvent(PassRefPtrWillBeRawPtr<Blob> data, const String& origin); | 128 MessageEvent(PassRefPtrWillBeRawPtr<Blob> data, const String& origin); |
126 MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); | 129 MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); |
127 | 130 |
128 DataType m_dataType; | 131 DataType m_dataType; |
129 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; | 132 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; |
130 String m_dataAsString; | 133 String m_dataAsString; |
131 RefPtrWillBeMember<Blob> m_dataAsBlob; | 134 RefPtrWillBeMember<Blob> m_dataAsBlob; |
132 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; | 135 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; |
133 String m_origin; | 136 String m_origin; |
134 String m_lastEventId; | 137 String m_lastEventId; |
135 RefPtrWillBeMember<EventTarget> m_source; | 138 RefPtrWillBeMember<EventTarget> m_source; |
136 // m_ports are the MessagePorts in an engtangled state, and m_channels are | 139 // m_ports are the MessagePorts in an engtangled state, and m_channels are |
137 // the MessageChannels in a disentangled state. Only one of them can be | 140 // the MessageChannels in a disentangled state. Only one of them can be |
138 // non-empty at a time. entangleMessagePorts() moves between the states. | 141 // non-empty at a time. entangleMessagePorts() moves between the states. |
139 OwnPtrWillBeMember<MessagePortArray> m_ports; | 142 OwnPtrWillBeMember<MessagePortArray> m_ports; |
140 OwnPtr<MessagePortChannelArray> m_channels; | 143 OwnPtr<MessagePortChannelArray> m_channels; |
141 }; | 144 }; |
142 | 145 |
143 } // namespace blink | 146 } // namespace blink |
144 | 147 |
145 #endif // MessageEvent_h | 148 #endif // MessageEvent_h |
OLD | NEW |