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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 ArrayBuffer* dataAsArrayBuffer() const { ASSERT(m_dataType == DataTypeArrayB
uffer); return m_dataAsArrayBuffer.get(); } | 106 ArrayBuffer* dataAsArrayBuffer() const { ASSERT(m_dataType == DataTypeArrayB
uffer); return m_dataAsArrayBuffer.get(); } |
107 | 107 |
108 void setSerializedData(PassRefPtr<SerializedScriptValue> data) | 108 void setSerializedData(PassRefPtr<SerializedScriptValue> data) |
109 { | 109 { |
110 ASSERT(!m_dataAsSerializedScriptValue); | 110 ASSERT(!m_dataAsSerializedScriptValue); |
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; |
| 117 |
116 private: | 118 private: |
117 MessageEvent(); | 119 MessageEvent(); |
118 MessageEvent(const AtomicString&, const MessageEventInit&); | 120 MessageEvent(const AtomicString&, const MessageEventInit&); |
119 MessageEvent(const String& origin, const String& lastEventId, PassRefPtr<Eve
ntTarget> source, PassOwnPtr<MessagePortArray>); | 121 MessageEvent(const String& origin, const String& lastEventId, PassRefPtr<Eve
ntTarget> source, PassOwnPtr<MessagePortArray>); |
120 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePort
Array>); | 122 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePort
Array>); |
121 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePort
ChannelArray>); | 123 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c
onst String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePort
ChannelArray>); |
122 | 124 |
123 explicit MessageEvent(const String& data, const String& origin); | 125 explicit MessageEvent(const String& data, const String& origin); |
124 explicit MessageEvent(PassRefPtr<Blob> data, const String& origin); | 126 explicit MessageEvent(PassRefPtr<Blob> data, const String& origin); |
125 explicit MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); | 127 explicit MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); |
126 | 128 |
127 DataType m_dataType; | 129 DataType m_dataType; |
128 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; | 130 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; |
129 String m_dataAsString; | 131 String m_dataAsString; |
130 RefPtr<Blob> m_dataAsBlob; | 132 RefPtr<Blob> m_dataAsBlob; |
131 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; | 133 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; |
132 String m_origin; | 134 String m_origin; |
133 String m_lastEventId; | 135 String m_lastEventId; |
134 RefPtr<EventTarget> m_source; | 136 RefPtr<EventTarget> m_source; |
135 // 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 |
136 // 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 |
137 // non-empty at a time. entangleMessagePorts() moves between the states. | 139 // non-empty at a time. entangleMessagePorts() moves between the states. |
138 OwnPtr<MessagePortArray> m_ports; | 140 OwnPtr<MessagePortArray> m_ports; |
139 OwnPtr<MessagePortChannelArray> m_channels; | 141 OwnPtr<MessagePortChannelArray> m_channels; |
140 }; | 142 }; |
141 | 143 |
142 } // namespace WebCore | 144 } // namespace WebCore |
143 | 145 |
144 #endif // MessageEvent_h | 146 #endif // MessageEvent_h |
OLD | NEW |