| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Henry Mason (hmason@mac.com) | 2 * Copyright (C) 2007 Henry Mason (hmason@mac.com) |
| 3 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 { | 47 { |
| 48 ScriptWrappable::init(this); | 48 ScriptWrappable::init(this); |
| 49 } | 49 } |
| 50 | 50 |
| 51 MessageEvent::MessageEvent(const AtomicString& type, const MessageEventInit& ini
tializer) | 51 MessageEvent::MessageEvent(const AtomicString& type, const MessageEventInit& ini
tializer) |
| 52 : Event(type, initializer) | 52 : Event(type, initializer) |
| 53 , m_dataType(DataTypeScriptValue) | 53 , m_dataType(DataTypeScriptValue) |
| 54 , m_origin(initializer.origin) | 54 , m_origin(initializer.origin) |
| 55 , m_lastEventId(initializer.lastEventId) | 55 , m_lastEventId(initializer.lastEventId) |
| 56 , m_source(isValidSource(initializer.source.get()) ? initializer.source : nu
llptr) | 56 , m_source(isValidSource(initializer.source.get()) ? initializer.source : nu
llptr) |
| 57 , m_ports(adoptPtr(new MessagePortArray(initializer.ports))) | 57 , m_ports(adoptPtrWillBeNoop(new MessagePortArray(initializer.ports))) |
| 58 { | 58 { |
| 59 ScriptWrappable::init(this); | 59 ScriptWrappable::init(this); |
| 60 ASSERT(isValidSource(m_source.get())); | 60 ASSERT(isValidSource(m_source.get())); |
| 61 } | 61 } |
| 62 | 62 |
| 63 MessageEvent::MessageEvent(const String& origin, const String& lastEventId, Pass
RefPtrWillBeRawPtr<EventTarget> source, PassOwnPtr<MessagePortArray> ports) | 63 MessageEvent::MessageEvent(const String& origin, const String& lastEventId, Pass
RefPtrWillBeRawPtr<EventTarget> source, PassOwnPtrWillBeRawPtr<MessagePortArray>
ports) |
| 64 : Event(EventTypeNames::message, false, false) | 64 : Event(EventTypeNames::message, false, false) |
| 65 , m_dataType(DataTypeScriptValue) | 65 , m_dataType(DataTypeScriptValue) |
| 66 , m_origin(origin) | 66 , m_origin(origin) |
| 67 , m_lastEventId(lastEventId) | 67 , m_lastEventId(lastEventId) |
| 68 , m_source(source) | 68 , m_source(source) |
| 69 , m_ports(ports) | 69 , m_ports(ports) |
| 70 { | 70 { |
| 71 ScriptWrappable::init(this); | 71 ScriptWrappable::init(this); |
| 72 ASSERT(isValidSource(m_source.get())); | 72 ASSERT(isValidSource(m_source.get())); |
| 73 } | 73 } |
| 74 | 74 |
| 75 MessageEvent::MessageEvent(PassRefPtr<SerializedScriptValue> data, const String&
origin, const String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source,
PassOwnPtr<MessagePortArray> ports) | 75 MessageEvent::MessageEvent(PassRefPtr<SerializedScriptValue> data, const String&
origin, const String& lastEventId, PassRefPtrWillBeRawPtr<EventTarget> source,
PassOwnPtrWillBeRawPtr<MessagePortArray> ports) |
| 76 : Event(EventTypeNames::message, false, false) | 76 : Event(EventTypeNames::message, false, false) |
| 77 , m_dataType(DataTypeSerializedScriptValue) | 77 , m_dataType(DataTypeSerializedScriptValue) |
| 78 , m_dataAsSerializedScriptValue(data) | 78 , m_dataAsSerializedScriptValue(data) |
| 79 , m_origin(origin) | 79 , m_origin(origin) |
| 80 , m_lastEventId(lastEventId) | 80 , m_lastEventId(lastEventId) |
| 81 , m_source(source) | 81 , m_source(source) |
| 82 , m_ports(ports) | 82 , m_ports(ports) |
| 83 { | 83 { |
| 84 ScriptWrappable::init(this); | 84 ScriptWrappable::init(this); |
| 85 if (m_dataAsSerializedScriptValue) | 85 if (m_dataAsSerializedScriptValue) |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 | 135 |
| 136 PassRefPtrWillBeRawPtr<MessageEvent> MessageEvent::create(const AtomicString& ty
pe, const MessageEventInit& initializer, ExceptionState& exceptionState) | 136 PassRefPtrWillBeRawPtr<MessageEvent> MessageEvent::create(const AtomicString& ty
pe, const MessageEventInit& initializer, ExceptionState& exceptionState) |
| 137 { | 137 { |
| 138 if (initializer.source.get() && !isValidSource(initializer.source.get())) { | 138 if (initializer.source.get() && !isValidSource(initializer.source.get())) { |
| 139 exceptionState.throwTypeError("The optional 'source' property is neither
a Window nor MessagePort."); | 139 exceptionState.throwTypeError("The optional 'source' property is neither
a Window nor MessagePort."); |
| 140 return nullptr; | 140 return nullptr; |
| 141 } | 141 } |
| 142 return adoptRefWillBeNoop(new MessageEvent(type, initializer)); | 142 return adoptRefWillBeNoop(new MessageEvent(type, initializer)); |
| 143 } | 143 } |
| 144 | 144 |
| 145 void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bo
ol cancelable, const String& origin, const String& lastEventId, LocalDOMWindow*
source, PassOwnPtr<MessagePortArray> ports) | 145 void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bo
ol cancelable, const String& origin, const String& lastEventId, LocalDOMWindow*
source, PassOwnPtrWillBeRawPtr<MessagePortArray> ports) |
| 146 { | 146 { |
| 147 if (dispatched()) | 147 if (dispatched()) |
| 148 return; | 148 return; |
| 149 | 149 |
| 150 initEvent(type, canBubble, cancelable); | 150 initEvent(type, canBubble, cancelable); |
| 151 | 151 |
| 152 m_dataType = DataTypeScriptValue; | 152 m_dataType = DataTypeScriptValue; |
| 153 m_origin = origin; | 153 m_origin = origin; |
| 154 m_lastEventId = lastEventId; | 154 m_lastEventId = lastEventId; |
| 155 m_source = source; | 155 m_source = source; |
| 156 m_ports = ports; | 156 m_ports = ports; |
| 157 } | 157 } |
| 158 | 158 |
| 159 void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bo
ol cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, con
st String& lastEventId, LocalDOMWindow* source, PassOwnPtr<MessagePortArray> por
ts) | 159 void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bo
ol cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, con
st String& lastEventId, LocalDOMWindow* source, PassOwnPtrWillBeRawPtr<MessagePo
rtArray> ports) |
| 160 { | 160 { |
| 161 if (dispatched()) | 161 if (dispatched()) |
| 162 return; | 162 return; |
| 163 | 163 |
| 164 initEvent(type, canBubble, cancelable); | 164 initEvent(type, canBubble, cancelable); |
| 165 | 165 |
| 166 m_dataType = DataTypeSerializedScriptValue; | 166 m_dataType = DataTypeSerializedScriptValue; |
| 167 m_dataAsSerializedScriptValue = data; | 167 m_dataAsSerializedScriptValue = data; |
| 168 m_origin = origin; | 168 m_origin = origin; |
| 169 m_lastEventId = lastEventId; | 169 m_lastEventId = lastEventId; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 181 | 181 |
| 182 void MessageEvent::entangleMessagePorts(ExecutionContext* context) | 182 void MessageEvent::entangleMessagePorts(ExecutionContext* context) |
| 183 { | 183 { |
| 184 m_ports = MessagePort::entanglePorts(*context, m_channels.release()); | 184 m_ports = MessagePort::entanglePorts(*context, m_channels.release()); |
| 185 } | 185 } |
| 186 | 186 |
| 187 void MessageEvent::trace(Visitor* visitor) | 187 void MessageEvent::trace(Visitor* visitor) |
| 188 { | 188 { |
| 189 visitor->trace(m_dataAsBlob); | 189 visitor->trace(m_dataAsBlob); |
| 190 visitor->trace(m_source); | 190 visitor->trace(m_source); |
| 191 #if ENABLE(OILPAN) |
| 192 visitor->trace(m_ports); |
| 193 #endif |
| 191 Event::trace(visitor); | 194 Event::trace(visitor); |
| 192 } | 195 } |
| 193 | 196 |
| 194 } // namespace WebCore | 197 } // namespace WebCore |
| OLD | NEW |