Chromium Code Reviews| Index: Source/core/dom/MessageEvent.h |
| diff --git a/Source/core/dom/MessageEvent.h b/Source/core/dom/MessageEvent.h |
| index 7f54232288715596bde0a5bc36702584c84b1b9b..948f98bd01bd7604cbe5b47f96f073b8e7d9670e 100644 |
| --- a/Source/core/dom/MessageEvent.h |
| +++ b/Source/core/dom/MessageEvent.h |
| @@ -30,6 +30,7 @@ |
| #include "bindings/v8/SerializedScriptValue.h" |
| #include "core/dom/Event.h" |
| +#include "core/dom/EventTarget.h" |
| #include "core/dom/MessagePort.h" |
| #include "core/fileapi/Blob.h" |
| #include "core/page/DOMWindow.h" |
| @@ -37,8 +38,6 @@ |
| namespace WebCore { |
| -class DOMWindow; |
| - |
| struct MessageEventInit : public EventInit { |
| MessageEventInit(); |
| @@ -54,6 +53,10 @@ public: |
| { |
| return adoptRef(new MessageEvent); |
| } |
| + static PassRefPtr<MessageEvent> create(PassOwnPtr<MessagePortArray> ports, PassRefPtr<MessagePort> source = 0) |
|
do-not-use
2013/08/19 19:45:57
This factory takes a MessagePort, the others take
|
| + { |
| + return adoptRef(new MessageEvent("", "", source, ports)); |
| + } |
| static PassRefPtr<MessageEvent> create(PassOwnPtr<MessagePortArray> ports, const String& origin = "", const String& lastEventId = "", PassRefPtr<DOMWindow> source = 0) |
| { |
| return adoptRef(new MessageEvent(origin, lastEventId, source, ports)); |
| @@ -85,7 +88,7 @@ public: |
| const String& origin() const { return m_origin; } |
| const String& lastEventId() const { return m_lastEventId; } |
| - DOMWindow* source() const { return m_source.get(); } |
| + EventTarget* source() const { return m_source.get(); } |
| MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArray(); } |
| virtual const AtomicString& interfaceName() const; |
| @@ -112,8 +115,8 @@ public: |
| private: |
| MessageEvent(); |
| MessageEvent(const AtomicString&, const MessageEventInit&); |
| - MessageEvent(const String& origin, const String& lastEventId, PassRefPtr<DOMWindow> source, PassOwnPtr<MessagePortArray>); |
| - MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, PassRefPtr<DOMWindow> source, PassOwnPtr<MessagePortArray>); |
| + MessageEvent(const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePortArray>); |
| + MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, PassOwnPtr<MessagePortArray>); |
| explicit MessageEvent(const String& data, const String& origin); |
| explicit MessageEvent(PassRefPtr<Blob> data, const String& origin); |
| @@ -126,7 +129,7 @@ private: |
| RefPtr<ArrayBuffer> m_dataAsArrayBuffer; |
| String m_origin; |
| String m_lastEventId; |
| - RefPtr<DOMWindow> m_source; |
| + RefPtr<EventTarget> m_source; // A Window or a MessagePort. |
|
abarth-chromium
2013/08/19 19:24:58
Can we ASSERT this fact somewhere rather than havi
do-not-use
2013/08/19 19:45:57
Yes, I can add an assertion but this would mean ad
|
| OwnPtr<MessagePortArray> m_ports; |
| }; |