Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(475)

Side by Side Diff: Source/core/events/MessageEvent.h

Issue 181153003: Make Event RefCountedGarbageCollected and implement trace() methods to the Event hierarcy (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698