diff options
author | Josh Matthews <josh@joshmatthews.net> | 2014-10-04 09:46:50 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2014-11-13 11:27:15 -0500 |
commit | 329ba56fca3bd3808a37aae6bc3ed3c5a5d23524 (patch) | |
tree | e05916f1f1a5984073bb51e9b0e00422a2fbfcf0 /components/script/dom/keyboardevent.rs | |
parent | e999843183f27286337705a032ed3d88d361b372 (diff) | |
download | servo-329ba56fca3bd3808a37aae6bc3ed3c5a5d23524.tar.gz servo-329ba56fca3bd3808a37aae6bc3ed3c5a5d23524.zip |
Dispatch keydown, keyup, and keypress events at appropriate times.
Diffstat (limited to 'components/script/dom/keyboardevent.rs')
-rw-r--r-- | components/script/dom/keyboardevent.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs index be96a181b30..2c8f5e49a10 100644 --- a/components/script/dom/keyboardevent.rs +++ b/components/script/dom/keyboardevent.rs @@ -14,6 +14,7 @@ use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::event::{Event, KeyboardEventTypeId}; use dom::uievent::UIEvent; use dom::window::Window; +use servo_msg::constellation_msg; use servo_util::str::DOMString; use std::cell::{RefCell, Cell}; @@ -109,6 +110,32 @@ impl KeyboardEvent { None, 0); Ok(event) } + + pub fn key_properties(key: constellation_msg::Key) -> KeyEventProperties { + match key { + _ => KeyEventProperties { + key: "".to_string(), + code: "".to_string(), + location: 0, + char_code: None, + key_code: 0, + } + } + } +} + +pub struct KeyEventProperties { + pub key: DOMString, + pub code: DOMString, + pub location: u32, + pub char_code: Option<u32>, + pub key_code: u32, +} + +impl KeyEventProperties { + pub fn is_printable(&self) -> bool { + self.char_code.is_some() + } } impl<'a> KeyboardEventMethods for JSRef<'a, KeyboardEvent> { |