Index: Source/core/dom/MessagePort.h |
diff --git a/Source/core/dom/MessagePort.h b/Source/core/dom/MessagePort.h |
index 65e0cba4e3b3af3d89386fe7efc09431a273b224..fb7094c10a9fc97898f7586d3ccf20961ee9dcc9 100644 |
--- a/Source/core/dom/MessagePort.h |
+++ b/Source/core/dom/MessagePort.h |
@@ -31,6 +31,7 @@ |
#include "core/dom/ActiveDOMObject.h" |
#include "core/events/EventListener.h" |
#include "core/events/EventTarget.h" |
+#include "heap/Handle.h" |
#include "public/platform/WebMessagePortChannel.h" |
#include "public/platform/WebMessagePortChannelClient.h" |
#include "wtf/OwnPtr.h" |
@@ -56,14 +57,15 @@ typedef Vector<RefPtr<MessagePort>, 1> MessagePortArray; |
// Not to be confused with blink::WebMessagePortChannelArray; this one uses Vector and OwnPtr instead of WebVector and raw pointers. |
typedef Vector<OwnPtr<blink::WebMessagePortChannel>, 1> MessagePortChannelArray; |
-class MessagePort FINAL : public RefCounted<MessagePort> |
+class MessagePort FINAL : public RefCountedWillBeRefCountedGarbageCollected<MessagePort> |
, public ActiveDOMObject |
, public EventTargetWithInlineData |
, public ScriptWrappable |
, public blink::WebMessagePortChannelClient { |
- REFCOUNTED_EVENT_TARGET(MessagePort); |
+ DECLARE_GC_INFO; |
+ DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<MessagePort>); |
public: |
- static PassRefPtr<MessagePort> create(ExecutionContext&); |
+ static PassRefPtrWillBeRawPtr<MessagePort> create(ExecutionContext&); |
virtual ~MessagePort(); |
void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, ExceptionState&); |
@@ -103,6 +105,8 @@ public: |
// A port gets neutered when it is transferred to a new owner via postMessage(). |
bool isNeutered() const { return !m_entangledChannel; } |
+ void trace(Visitor*) { } |
+ |
private: |
explicit MessagePort(ExecutionContext&); |