diff options
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index ca4182164d8..57cee418838 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -36,7 +36,7 @@ use dom::documentfragment::DocumentFragment; use dom::documenttype::DocumentType; use dom::domimplementation::DOMImplementation; use dom::element::{Element, ElementCreator, AttributeHandlers}; -use dom::element::{ElementTypeId, ActivationElementHelpers}; +use dom::element::{ElementTypeId, ActivationElementHelpers, FocusElementHelpers}; use dom::event::{Event, EventBubbles, EventCancelable, EventHelpers}; use dom::eventtarget::{EventTarget, EventTargetTypeId, EventTargetHelpers}; use dom::htmlanchorelement::HTMLAnchorElement; @@ -448,7 +448,9 @@ impl<'a> DocumentHelpers<'a> for JSRef<'a, Document> { /// Request that the given element receive focus once the current transaction is complete. fn request_focus(self, elem: JSRef<Element>) { - self.possibly_focused.assign(Some(elem)) + if elem.is_focusable_area() { + self.possibly_focused.assign(Some(elem)) + } } /// Reassign the focus context to the element that last requested focus during this |