aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-04-04 18:21:48 -0600
committerbors-servo <metajack+bors@gmail.com>2015-04-04 18:21:48 -0600
commitb63fb0c0a7e9cd9208d66319c910750aaaac844c (patch)
tree730bee60cc0d1a43e248f5a60d2c8616e22fdf48 /components/script/dom/element.rs
parent8758d7d11abd3a0e84e2af5c41911b767723513e (diff)
parent791fa3757dd11b53c9ef7ef112f460675eddea17 (diff)
downloadservo-b63fb0c0a7e9cd9208d66319c910750aaaac844c.tar.gz
servo-b63fb0c0a7e9cd9208d66319c910750aaaac844c.zip
auto merge of #5461 : mbrubeck/servo/focus, r=jdm
Fixes #5460. This supports for simple focusable elements that are their own DOM anchors, like text `input` fields. Requires servo/rust-selectors#20. r? @SimonSapin
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index f69392a4126..498432cfd8a 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -1461,6 +1461,13 @@ impl<'a> style::node::TElement<'a> for JSRef<'a, Element> {
let node: JSRef<Node> = NodeCast::from_ref(self);
node.get_hover_state()
}
+ fn get_focus_state(self) -> bool {
+ // TODO: Also check whether the top-level browsing context has the system focus,
+ // and whether this element is a browsing context container.
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-focus
+ let node: JSRef<Node> = NodeCast::from_ref(self);
+ node.get_focus_state()
+ }
fn get_id(self) -> Option<Atom> {
self.get_attribute(ns!(""), &atom!("id")).map(|attr| {
let attr = attr.root();