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

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

Issue 344833002: Oilpan: move MessagePortArray to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased Created 6 years, 6 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
« no previous file with comments | « Source/core/dom/MessagePort.cpp ('k') | Source/core/events/MessageEvent.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 RefPtrWillBeMember<EventTarget> source; 46 RefPtrWillBeMember<EventTarget> source;
47 MessagePortArray ports; 47 MessagePortArray ports;
48 }; 48 };
49 49
50 class MessageEvent FINAL : public Event { 50 class MessageEvent FINAL : public Event {
51 public: 51 public:
52 static PassRefPtrWillBeRawPtr<MessageEvent> create() 52 static PassRefPtrWillBeRawPtr<MessageEvent> create()
53 { 53 {
54 return adoptRefWillBeNoop(new MessageEvent); 54 return adoptRefWillBeNoop(new MessageEvent);
55 } 55 }
56 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortArr ay> ports, const String& origin = String(), const String& lastEventId = String() , PassRefPtrWillBeRawPtr<EventTarget> source = nullptr) 56 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtrWillBeRawPtr<Me ssagePortArray> ports, const String& origin = String(), const String& lastEventI d = String(), PassRefPtrWillBeRawPtr<EventTarget> source = nullptr)
57 { 57 {
58 return adoptRefWillBeNoop(new MessageEvent(origin, lastEventId, source, ports)); 58 return adoptRefWillBeNoop(new MessageEvent(origin, lastEventId, source, ports));
59 } 59 }
60 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortArr ay> ports, PassRefPtr<SerializedScriptValue> data, const String& origin = String (), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<EventTarget> so urce = nullptr) 60 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtrWillBeRawPtr<Me ssagePortArray> ports, PassRefPtr<SerializedScriptValue> data, const String& ori gin = String(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<Eve ntTarget> source = nullptr)
61 { 61 {
62 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so urce, ports)); 62 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so urce, ports));
63 } 63 }
64 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortCha nnelArray> channels, PassRefPtr<SerializedScriptValue> data, const String& origi n = String(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<Event Target> source = nullptr) 64 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassOwnPtr<MessagePortCha nnelArray> channels, PassRefPtr<SerializedScriptValue> data, const String& origi n = String(), const String& lastEventId = String(), PassRefPtrWillBeRawPtr<Event Target> source = nullptr)
65 { 65 {
66 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so urce, channels)); 66 return adoptRefWillBeNoop(new MessageEvent(data, origin, lastEventId, so urce, channels));
67 } 67 }
68 static PassRefPtrWillBeRawPtr<MessageEvent> create(const String& data, const String& origin = String()) 68 static PassRefPtrWillBeRawPtr<MessageEvent> create(const String& data, const String& origin = String())
69 { 69 {
70 return adoptRefWillBeNoop(new MessageEvent(data, origin)); 70 return adoptRefWillBeNoop(new MessageEvent(data, origin));
71 } 71 }
72 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtrWillBeRawPtr<Bl ob> data, const String& origin = String()) 72 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtrWillBeRawPtr<Bl ob> data, const String& origin = String())
73 { 73 {
74 return adoptRefWillBeNoop(new MessageEvent(data, origin)); 74 return adoptRefWillBeNoop(new MessageEvent(data, origin));
75 } 75 }
76 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtr<ArrayBuffer> d ata, const String& origin = String()) 76 static PassRefPtrWillBeRawPtr<MessageEvent> create(PassRefPtr<ArrayBuffer> d ata, const String& origin = String())
77 { 77 {
78 return adoptRefWillBeNoop(new MessageEvent(data, origin)); 78 return adoptRefWillBeNoop(new MessageEvent(data, origin));
79 } 79 }
80 static PassRefPtrWillBeRawPtr<MessageEvent> create(const AtomicString& type, const MessageEventInit& initializer, ExceptionState&); 80 static PassRefPtrWillBeRawPtr<MessageEvent> create(const AtomicString& type, const MessageEventInit& initializer, ExceptionState&);
81 virtual ~MessageEvent(); 81 virtual ~MessageEvent();
82 82
83 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela ble, const String& origin, const String& lastEventId, LocalDOMWindow* source, Pa ssOwnPtr<MessagePortArray>); 83 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela ble, const String& origin, const String& lastEventId, LocalDOMWindow* source, Pa ssOwnPtrWillBeRawPtr<MessagePortArray>);
84 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela ble, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, LocalDOMWindow* source, PassOwnPtr<MessagePortArray>); 84 void initMessageEvent(const AtomicString& type, bool canBubble, bool cancela ble, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, LocalDOMWindow* source, PassOwnPtrWillBeRawPtr<MessagePortArray>);
85 85
86 const String& origin() const { return m_origin; } 86 const String& origin() const { return m_origin; }
87 const String& lastEventId() const { return m_lastEventId; } 87 const String& lastEventId() const { return m_lastEventId; }
88 EventTarget* source() const { return m_source.get(); } 88 EventTarget* source() const { return m_source.get(); }
89 EventTarget* source(bool& isNull) const { isNull = !m_source; return m_sourc e.get(); } 89 EventTarget* source(bool& isNull) const { isNull = !m_source; return m_sourc e.get(); }
90 MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArra y(); } 90 MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArra y(); }
91 MessagePortChannelArray* channels() const { return m_channels ? m_channels.g et() : 0; } 91 MessagePortChannelArray* channels() const { return m_channels ? m_channels.g et() : 0; }
92 92
93 virtual const AtomicString& interfaceName() const OVERRIDE; 93 virtual const AtomicString& interfaceName() const OVERRIDE;
94 94
(...skipping 16 matching lines...) Expand all
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; 116 virtual void trace(Visitor*) OVERRIDE;
117 117
118 private: 118 private:
119 MessageEvent(); 119 MessageEvent();
120 MessageEvent(const AtomicString&, const MessageEventInit&); 120 MessageEvent(const AtomicString&, const MessageEventInit&);
121 MessageEvent(const String& origin, const String& lastEventId, PassRefPtrWill BeRawPtr<EventTarget> source, PassOwnPtr<MessagePortArray>); 121 MessageEvent(const String& origin, const String& lastEventId, PassRefPtrWill BeRawPtr<EventTarget> source, PassOwnPtrWillBeRawPtr<MessagePortArray>);
122 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr <MessagePortArray>); 122 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr WillBeRawPtr<MessagePortArray>);
123 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr <MessagePortChannelArray>); 123 MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, c onst String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr <MessagePortChannelArray>);
124 124
125 MessageEvent(const String& data, const String& origin); 125 MessageEvent(const String& data, const String& origin);
126 MessageEvent(PassRefPtrWillBeRawPtr<Blob> data, const String& origin); 126 MessageEvent(PassRefPtrWillBeRawPtr<Blob> data, const String& origin);
127 MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin); 127 MessageEvent(PassRefPtr<ArrayBuffer> data, const String& origin);
128 128
129 DataType m_dataType; 129 DataType m_dataType;
130 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue; 130 RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue;
131 String m_dataAsString; 131 String m_dataAsString;
132 RefPtrWillBeMember<Blob> m_dataAsBlob; 132 RefPtrWillBeMember<Blob> m_dataAsBlob;
133 RefPtr<ArrayBuffer> m_dataAsArrayBuffer; 133 RefPtr<ArrayBuffer> m_dataAsArrayBuffer;
134 String m_origin; 134 String m_origin;
135 String m_lastEventId; 135 String m_lastEventId;
136 RefPtrWillBeMember<EventTarget> m_source; 136 RefPtrWillBeMember<EventTarget> m_source;
137 // 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
138 // 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
139 // non-empty at a time. entangleMessagePorts() moves between the states. 139 // non-empty at a time. entangleMessagePorts() moves between the states.
140 OwnPtr<MessagePortArray> m_ports; 140 OwnPtrWillBeMember<MessagePortArray> m_ports;
141 OwnPtr<MessagePortChannelArray> m_channels; 141 OwnPtr<MessagePortChannelArray> m_channels;
142 }; 142 };
143 143
144 } // namespace WebCore 144 } // namespace WebCore
145 145
146 #endif // MessageEvent_h 146 #endif // MessageEvent_h
OLDNEW
« no previous file with comments | « Source/core/dom/MessagePort.cpp ('k') | Source/core/events/MessageEvent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698