Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: Source/core/events/KeyboardEvent.h

Issue 23444080: Implement KeyboardEvent.repeat attribute (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « LayoutTests/fast/events/keyboardevent-repeat-expected.txt ('k') | Source/core/events/KeyboardEvent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698