1736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov/*
2736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * Copyright (C) 2012 Google Inc. All rights reserved.
3736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov *
4736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * Redistribution and use in source and binary forms, with or without
5736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * modification, are permitted provided that the following conditions
6736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * are met:
7736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * 1.  Redistributions of source code must retain the above copyright
8736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov *     notice, this list of conditions and the following disclaimer.
9736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * 2.  Redistributions in binary form must reproduce the above copyright
10736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov *     notice, this list of conditions and the following disclaimer in the
11736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov *     documentation and/or other materials provided with the distribution.
12736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov *
13736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
204213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
214213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
224213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
234213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov */
244213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov
254213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov#include "config.h"
26e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov#include "modules/mediastream/RTCDataChannelEvent.h"
27736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov
28e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganovnamespace blink {
29736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov
30736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav GanovPassRefPtrWillBeRawPtr<RTCDataChannelEvent> RTCDataChannelEvent::create()
31e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov{
32e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov    return adoptRefWillBeNoop(new RTCDataChannelEvent);
334213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov}
34f5a07905a3e025f95472a3f8d9935263e49ad6d3Svetoslav Ganov
35f5a07905a3e025f95472a3f8d9935263e49ad6d3Svetoslav GanovPassRefPtrWillBeRawPtr<RTCDataChannelEvent> RTCDataChannelEvent::create(const AtomicString& type, bool canBubble, bool cancelable, RTCDataChannel* channel)
3686783474fdec98a22bc22e224462767eab13e273Svetoslav Ganov{
37736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov    return adoptRefWillBeNoop(new RTCDataChannelEvent(type, canBubble, cancelable, channel));
384213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov}
39e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov
40f5a07905a3e025f95472a3f8d9935263e49ad6d3Svetoslav Ganov
414213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav GanovRTCDataChannelEvent::RTCDataChannelEvent()
42736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov{
43736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov}
44736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov
45736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav GanovRTCDataChannelEvent::RTCDataChannelEvent(const AtomicString& type, bool canBubble, bool cancelable, RTCDataChannel* channel)
46736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov    : Event(type, canBubble, cancelable)
47736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov    , m_channel(channel)
48736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov{
49736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov}
50e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov
51e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav GanovRTCDataChannelEvent::~RTCDataChannelEvent()
52e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov{
53e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov}
54e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov
55736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav GanovRTCDataChannel* RTCDataChannelEvent::channel() const
56e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov{
57e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov    return m_channel.get();
58e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov}
59e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov
60e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganovconst AtomicString& RTCDataChannelEvent::interfaceName() const
61e15ccb93add99ebb9cd7aec03a04faa37f45b39dSvetoslav Ganov{
62736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov    return EventNames::RTCDataChannelEvent;
63736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov}
64736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov
65736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganovvoid RTCDataChannelEvent::trace(Visitor* visitor)
664213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov{
674213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov    visitor->trace(m_channel);
68736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov    Event::trace(visitor);
69736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov}
70736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov
714213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov} // namespace blink
72736c2756bf3c14ae9fef7255c119057f7a2be1edSvetoslav Ganov