aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/keyboardevent.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-10-04 09:46:50 -0400
committerJosh Matthews <josh@joshmatthews.net>2014-11-13 11:27:15 -0500
commit329ba56fca3bd3808a37aae6bc3ed3c5a5d23524 (patch)
treee05916f1f1a5984073bb51e9b0e00422a2fbfcf0 /components/script/dom/keyboardevent.rs
parente999843183f27286337705a032ed3d88d361b372 (diff)
downloadservo-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.rs27
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> {