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..3bb326438ddc307e9ffca0951d214eee6a2e990a |
--- /dev/null |
+++ b/Source/core/events/RelatedEvent.h |
@@ -0,0 +1,46 @@ |
+// 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 blink { |
+ |
+struct RelatedEventInit : public EventInit { |
+ RelatedEventInit(); |
+ RefPtrWillBeMember<EventTarget> relatedTarget; |
+}; |
+ |
+class RelatedEvent FINAL : public Event { |
+public: |
+ static PassRefPtrWillBeRawPtr<RelatedEvent> create(); |
+ static PassRefPtrWillBeRawPtr<RelatedEvent> create(const AtomicString& eventType); |
+ static PassRefPtrWillBeRawPtr<RelatedEvent> create(const AtomicString& eventType, const RelatedEventInit&); |
+ |
+ virtual ~RelatedEvent(); |
+ |
+ EventTarget* relatedTarget() const { return m_relatedTarget.get(); } |
+ void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m_relatedTarget = relatedTarget; } |
+ |
+ |
+ virtual const AtomicString& interfaceName() const OVERRIDE { return EventNames::RelatedEvent; } |
+ virtual bool isRelatedEvent() const OVERRIDE { return true; } |
+ |
+ virtual void trace(Visitor*) OVERRIDE; |
+ |
+private: |
+ RelatedEvent(); |
+ explicit RelatedEvent(const AtomicString& type); |
+ RelatedEvent(const AtomicString& type, const RelatedEventInit&); |
+ |
+ RefPtrWillBeMember<EventTarget> m_relatedTarget; |
+}; |
+ |
+DEFINE_EVENT_TYPE_CASTS(RelatedEvent); |
+ |
+} // namespace blink |
+ |
+#endif // RelatedEvent_h |