#define TextEvent_h
#include "core/events/TextEventInputType.h"
-#include "core/events/ThreadLocalEventNames.h"
#include "core/events/UIEvent.h"
-namespace WebCore {
+namespace blink {
- class DocumentFragment;
+class DocumentFragment;
- class TextEvent : public UIEvent {
- public:
+class TextEvent final : public UIEvent {
+ DEFINE_WRAPPERTYPEINFO();
+public:
+ static PassRefPtrWillBeRawPtr<TextEvent> create();
+ static PassRefPtrWillBeRawPtr<TextEvent> create(PassRefPtrWillBeRawPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard);
+ static PassRefPtrWillBeRawPtr<TextEvent> createForPlainTextPaste(PassRefPtrWillBeRawPtr<AbstractView>, const String& data, bool shouldSmartReplace);
+ static PassRefPtrWillBeRawPtr<TextEvent> createForFragmentPaste(PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<DocumentFragment> data, bool shouldSmartReplace, bool shouldMatchStyle);
+ static PassRefPtrWillBeRawPtr<TextEvent> createForDrop(PassRefPtrWillBeRawPtr<AbstractView>, const String& data);
- static PassRefPtr<TextEvent> create();
- static PassRefPtr<TextEvent> create(PassRefPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard);
- static PassRefPtr<TextEvent> createForPlainTextPaste(PassRefPtr<AbstractView> view, const String& data, bool shouldSmartReplace);
- static PassRefPtr<TextEvent> createForFragmentPaste(PassRefPtr<AbstractView> view, PassRefPtr<DocumentFragment> data, bool shouldSmartReplace, bool shouldMatchStyle);
- static PassRefPtr<TextEvent> createForDrop(PassRefPtr<AbstractView> view, const String& data);
+ virtual ~TextEvent();
- virtual ~TextEvent();
+ void initTextEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>, const String& data);
- void initTextEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<AbstractView>, const String& data);
+ String data() const { return m_data; }
- String data() const { return m_data; }
+ virtual const AtomicString& interfaceName() const override;
- virtual const AtomicString& interfaceName() const;
+ bool isLineBreak() const { return m_inputType == TextEventInputLineBreak; }
+ bool isComposition() const { return m_inputType == TextEventInputComposition; }
+ bool isPaste() const { return m_inputType == TextEventInputPaste; }
+ bool isDrop() const { return m_inputType == TextEventInputDrop; }
- bool isLineBreak() const { return m_inputType == TextEventInputLineBreak; }
- bool isComposition() const { return m_inputType == TextEventInputComposition; }
- bool isBackTab() const { return m_inputType == TextEventInputBackTab; }
- bool isPaste() const { return m_inputType == TextEventInputPaste; }
- bool isDrop() const { return m_inputType == TextEventInputDrop; }
+ bool shouldSmartReplace() const { return m_shouldSmartReplace; }
+ bool shouldMatchStyle() const { return m_shouldMatchStyle; }
+ DocumentFragment* pastingFragment() const { return m_pastingFragment.get(); }
- bool shouldSmartReplace() const { return m_shouldSmartReplace; }
- bool shouldMatchStyle() const { return m_shouldMatchStyle; }
- DocumentFragment* pastingFragment() const { return m_pastingFragment.get(); }
+ virtual void trace(Visitor*) override;
- private:
- TextEvent();
+private:
+ TextEvent();
- TextEvent(PassRefPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard);
- TextEvent(PassRefPtr<AbstractView>, const String& data, PassRefPtr<DocumentFragment>,
- bool shouldSmartReplace, bool shouldMatchStyle);
+ TextEvent(PassRefPtrWillBeRawPtr<AbstractView>, const String& data, TextEventInputType = TextEventInputKeyboard);
+ TextEvent(PassRefPtrWillBeRawPtr<AbstractView>, const String& data, PassRefPtrWillBeRawPtr<DocumentFragment>, bool shouldSmartReplace, bool shouldMatchStyle);
- TextEventInputType m_inputType;
- String m_data;
+ TextEventInputType m_inputType;
+ String m_data;
- RefPtr<DocumentFragment> m_pastingFragment;
- bool m_shouldSmartReplace;
- bool m_shouldMatchStyle;
- };
+ RefPtrWillBeMember<DocumentFragment> m_pastingFragment;
+ bool m_shouldSmartReplace;
+ bool m_shouldMatchStyle;
+};
inline bool isTextEvent(const Event& event)
{
DEFINE_TYPE_CASTS(TextEvent, Event, event, isTextEvent(*event), isTextEvent(event));
-} // namespace WebCore
+} // namespace blink
#endif // TextEvent_h