Index: Source/core/events/MessageEvent.cpp |
diff --git a/Source/core/events/MessageEvent.cpp b/Source/core/events/MessageEvent.cpp |
index c95d31ac9698ec6c5763a4b5117318cf66e8b7bb..651cec4e62fb6d0b2bc23ca05f7f553470d28148 100644 |
--- a/Source/core/events/MessageEvent.cpp |
+++ b/Source/core/events/MessageEvent.cpp |
@@ -87,6 +87,21 @@ MessageEvent::MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& |
ASSERT(isValidSource(m_source.get())); |
} |
+MessageEvent::MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePortChannelArray> channels) |
+ : Event(EventTypeNames::message, false, false) |
+ , m_dataType(DataTypeSerializedScriptValue) |
+ , m_dataAsSerializedScriptValue(data) |
+ , m_origin(origin) |
+ , m_lastEventId(lastEventId) |
+ , m_source(source) |
+ , m_channels(channels) |
+{ |
+ ScriptWrappable::init(this); |
+ if (m_dataAsSerializedScriptValue) |
+ m_dataAsSerializedScriptValue->registerMemoryAllocatedWithCurrentScriptContext(); |
+ ASSERT(isValidSource(m_source.get())); |
+} |
+ |
MessageEvent::MessageEvent(const String& data, const String& origin) |
: Event(EventTypeNames::message, false, false) |
, m_dataType(DataTypeString) |
@@ -155,4 +170,9 @@ const AtomicString& MessageEvent::interfaceName() const |
return EventNames::MessageEvent; |
} |
+void MessageEvent::entangleMessagePorts(ExecutionContext* context) |
+{ |
+ m_ports = MessagePort::entanglePorts(*context, m_channels.release()); |
+} |
+ |
} // namespace WebCore |