| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) | 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) |
| 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) | 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) |
| 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 | 35 |
| 36 struct KeyboardEventInit : public UIEventInit { | 36 struct KeyboardEventInit : public UIEventInit { |
| 37 KeyboardEventInit(); | 37 KeyboardEventInit(); |
| 38 | 38 |
| 39 String keyIdentifier; | 39 String keyIdentifier; |
| 40 unsigned location; | 40 unsigned location; |
| 41 bool ctrlKey; | 41 bool ctrlKey; |
| 42 bool altKey; | 42 bool altKey; |
| 43 bool shiftKey; | 43 bool shiftKey; |
| 44 bool metaKey; | 44 bool metaKey; |
| 45 bool repeat; |
| 45 }; | 46 }; |
| 46 | 47 |
| 47 class KeyboardEvent : public UIEventWithKeyState { | 48 class KeyboardEvent : public UIEventWithKeyState { |
| 48 public: | 49 public: |
| 49 enum KeyLocationCode { | 50 enum KeyLocationCode { |
| 50 DOM_KEY_LOCATION_STANDARD = 0x00, | 51 DOM_KEY_LOCATION_STANDARD = 0x00, |
| 51 DOM_KEY_LOCATION_LEFT = 0x01, | 52 DOM_KEY_LOCATION_LEFT = 0x01, |
| 52 DOM_KEY_LOCATION_RIGHT = 0x02, | 53 DOM_KEY_LOCATION_RIGHT = 0x02, |
| 53 DOM_KEY_LOCATION_NUMPAD = 0x03 | 54 DOM_KEY_LOCATION_NUMPAD = 0x03 |
| 54 }; | 55 }; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 unsigned location() const { return m_location; } | 87 unsigned location() const { return m_location; } |
| 87 | 88 |
| 88 bool getModifierState(const String& keyIdentifier) const; | 89 bool getModifierState(const String& keyIdentifier) const; |
| 89 | 90 |
| 90 bool altGraphKey() const { return m_altGraphKey; } | 91 bool altGraphKey() const { return m_altGraphKey; } |
| 91 | 92 |
| 92 const PlatformKeyboardEvent* keyEvent() const { return m_keyEvent.get(); } | 93 const PlatformKeyboardEvent* keyEvent() const { return m_keyEvent.get(); } |
| 93 | 94 |
| 94 int keyCode() const; // key code for keydown and keyup, character for keypre
ss | 95 int keyCode() const; // key code for keydown and keyup, character for keypre
ss |
| 95 int charCode() const; // character code for keypress, 0 for keydown and keyu
p | 96 int charCode() const; // character code for keypress, 0 for keydown and keyu
p |
| 97 bool repeat() const { return m_isAutoRepeat; } |
| 96 | 98 |
| 97 virtual const AtomicString& interfaceName() const; | 99 virtual const AtomicString& interfaceName() const; |
| 98 virtual bool isKeyboardEvent() const; | 100 virtual bool isKeyboardEvent() const; |
| 99 virtual int which() const; | 101 virtual int which() const; |
| 100 | 102 |
| 101 private: | 103 private: |
| 102 KeyboardEvent(); | 104 KeyboardEvent(); |
| 103 KeyboardEvent(const PlatformKeyboardEvent&, AbstractView*); | 105 KeyboardEvent(const PlatformKeyboardEvent&, AbstractView*); |
| 104 KeyboardEvent(const AtomicString&, const KeyboardEventInit&); | 106 KeyboardEvent(const AtomicString&, const KeyboardEventInit&); |
| 105 KeyboardEvent(const AtomicString& type, bool canBubble, bool cancelable, Abs
tractView*, | 107 KeyboardEvent(const AtomicString& type, bool canBubble, bool cancelable, Abs
tractView*, |
| 106 const String& keyIdentifier, unsigned location, | 108 const String& keyIdentifier, unsigned location, |
| 107 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool altGraphKey
); | 109 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool altGraphKey
); |
| 108 | 110 |
| 109 OwnPtr<PlatformKeyboardEvent> m_keyEvent; | 111 OwnPtr<PlatformKeyboardEvent> m_keyEvent; |
| 110 String m_keyIdentifier; | 112 String m_keyIdentifier; |
| 111 unsigned m_location; | 113 unsigned m_location; |
| 112 bool m_altGraphKey : 1; | 114 bool m_altGraphKey : 1; |
| 115 bool m_isAutoRepeat : 1; |
| 113 }; | 116 }; |
| 114 | 117 |
| 115 KeyboardEvent* findKeyboardEvent(Event*); | 118 KeyboardEvent* findKeyboardEvent(Event*); |
| 116 | 119 |
| 117 class KeyboardEventDispatchMediator : public EventDispatchMediator { | 120 class KeyboardEventDispatchMediator : public EventDispatchMediator { |
| 118 public: | 121 public: |
| 119 static PassRefPtr<KeyboardEventDispatchMediator> create(PassRefPtr<KeyboardE
vent>); | 122 static PassRefPtr<KeyboardEventDispatchMediator> create(PassRefPtr<KeyboardE
vent>); |
| 120 private: | 123 private: |
| 121 explicit KeyboardEventDispatchMediator(PassRefPtr<KeyboardEvent>); | 124 explicit KeyboardEventDispatchMediator(PassRefPtr<KeyboardEvent>); |
| 122 virtual bool dispatchEvent(EventDispatcher*) const OVERRIDE; | 125 virtual bool dispatchEvent(EventDispatcher*) const OVERRIDE; |
| 123 }; | 126 }; |
| 124 | 127 |
| 125 inline KeyboardEvent* toKeyboardEvent(Event* event) | 128 inline KeyboardEvent* toKeyboardEvent(Event* event) |
| 126 { | 129 { |
| 127 ASSERT_WITH_SECURITY_IMPLICATION(!event || event->isKeyboardEvent()); | 130 ASSERT_WITH_SECURITY_IMPLICATION(!event || event->isKeyboardEvent()); |
| 128 return static_cast<KeyboardEvent*>(event); | 131 return static_cast<KeyboardEvent*>(event); |
| 129 } | 132 } |
| 130 | 133 |
| 131 } // namespace WebCore | 134 } // namespace WebCore |
| 132 | 135 |
| 133 #endif // KeyboardEvent_h | 136 #endif // KeyboardEvent_h |
| OLD | NEW |