| Index: Source/core/events/RelatedEvent.h | 
| diff --git a/Source/core/events/RelatedEvent.h b/Source/core/events/RelatedEvent.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..50dd7b2ae4c8f4a6a41720cb9fe95174450714fd | 
| --- /dev/null | 
| +++ b/Source/core/events/RelatedEvent.h | 
| @@ -0,0 +1,50 @@ | 
| +// 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. | 
| + | 
| +#ifndef RelatedEvent_h | 
| +#define RelatedEvent_h | 
| + | 
| +#include "core/events/Event.h" | 
| + | 
| +namespace WebCore { | 
| + | 
| +struct RelatedEventInit : public EventInit { | 
| +    RelatedEventInit(); | 
| +    RefPtr<EventTarget> relatedTarget; | 
| +}; | 
| + | 
| +class RelatedEvent FINAL : public Event { | 
| +public: | 
| +    static PassRefPtr<RelatedEvent> create() | 
| +    { | 
| +        return adoptRef(new RelatedEvent); | 
| +    } | 
| + | 
| +    static PassRefPtr<RelatedEvent> create(const AtomicString& eventType); | 
| +    static PassRefPtr<RelatedEvent> create(const AtomicString& eventType, const RelatedEventInit&); | 
| + | 
| +    virtual ~RelatedEvent() { } | 
| + | 
| +    EventTarget* relatedTarget() const { return m_relatedTarget.get(); } | 
| +    EventTarget* relatedTarget(bool& isNull) const { isNull = !m_relatedTarget; return m_relatedTarget.get(); } | 
| +    void setRelatedTarget(PassRefPtr<EventTarget> relatedTarget) { m_relatedTarget = relatedTarget; } | 
| + | 
| + | 
| +    virtual const AtomicString& interfaceName() const OVERRIDE { return EventNames::RelatedEvent; } | 
| +    virtual bool isRelatedEvent() const OVERRIDE { return true; } | 
| + | 
| +protected: | 
| +    RelatedEvent(); | 
| +    RelatedEvent(const AtomicString& type); | 
| +    RelatedEvent(const AtomicString& type, const RelatedEventInit&); | 
| + | 
| +private: | 
| +    RefPtr<EventTarget> m_relatedTarget; | 
| +}; | 
| + | 
| +DEFINE_EVENT_TYPE_CASTS(RelatedEvent); | 
| + | 
| +} // namespace WebCore | 
| + | 
| +#endif // RelatedEvent_h | 
|  |