blob: 82ee42eab9fd04f348a4ddca58e43030f2c968fd [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "modules/push_messaging/PushEvent.h"
#include "modules/push_messaging/PushEventInit.h"
namespace blink {
PushEvent::PushEvent()
{
}
PushEvent::PushEvent(const AtomicString& type, PushMessageData* data, WaitUntilObserver* observer)
: ExtendableEvent(type, ExtendableEventInit(), observer)
, m_data(data)
{
}
PushEvent::PushEvent(const AtomicString& type, const PushEventInit& initializer)
: ExtendableEvent(type, initializer)
{
if (initializer.hasData())
m_data = PushMessageData::create(initializer.data());
}
PushEvent::~PushEvent()
{
}
const AtomicString& PushEvent::interfaceName() const
{
return EventNames::PushEvent;
}
PushMessageData* PushEvent::data()
{
if (!m_data)
m_data = PushMessageData::create();
return m_data.get();
}
DEFINE_TRACE(PushEvent)
{
visitor->trace(m_data);
ExtendableEvent::trace(visitor);
}
} // namespace blink