#ifndef MediaStreamEvent_h
#define MediaStreamEvent_h
-#include "core/events/Event.h"
+#include "modules/EventModules.h"
#include "modules/mediastream/MediaStream.h"
#include "wtf/text/AtomicString.h"
-namespace WebCore {
+namespace blink {
struct MediaStreamEventInit : public EventInit {
MediaStreamEventInit();
- RefPtr<MediaStream> stream;
+ Member<MediaStream> stream;
};
-class MediaStreamEvent : public Event {
+class MediaStreamEvent final : public Event {
+ DEFINE_WRAPPERTYPEINFO();
public:
virtual ~MediaStreamEvent();
- static PassRefPtr<MediaStreamEvent> create();
- static PassRefPtr<MediaStreamEvent> create(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<MediaStream>);
- static PassRefPtr<MediaStreamEvent> create(const AtomicString& type, const MediaStreamEventInit& initializer);
+ static PassRefPtrWillBeRawPtr<MediaStreamEvent> create();
+ static PassRefPtrWillBeRawPtr<MediaStreamEvent> create(const AtomicString& type, bool canBubble, bool cancelable, MediaStream*);
+ static PassRefPtrWillBeRawPtr<MediaStreamEvent> create(const AtomicString& type, const MediaStreamEventInit& initializer);
MediaStream* stream() const;
+ MediaStream* stream(bool&) const;
- virtual const AtomicString& interfaceName() const;
+ virtual const AtomicString& interfaceName() const override;
+
+ virtual void trace(Visitor*) override;
private:
MediaStreamEvent();
- MediaStreamEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<MediaStream>);
+ MediaStreamEvent(const AtomicString& type, bool canBubble, bool cancelable, MediaStream*);
MediaStreamEvent(const AtomicString& type, const MediaStreamEventInit&);
- RefPtr<MediaStream> m_stream;
+ PersistentWillBeMember<MediaStream> m_stream;
};
-} // namespace WebCore
+} // namespace blink
#endif // MediaStreamEvent_h