diff options
author | Bobby Holley <bobbyholley@gmail.com> | 2015-10-21 11:37:51 -0700 |
---|---|---|
committer | Bobby Holley <bobbyholley@gmail.com> | 2015-10-30 21:02:35 -0700 |
commit | 79ac365a68333072d80c41c05e56effbe1335f3d (patch) | |
tree | 4cac4c0dc50a40f9fa31b745f3ada54e1ee293d9 /components/script/dom/document.rs | |
parent | f7f27a81463b062f0aef8055315ba6ad167ea592 (diff) | |
download | servo-79ac365a68333072d80c41c05e56effbe1335f3d.tar.gz servo-79ac365a68333072d80c41c05e56effbe1335f3d.zip |
Move EventState to rust-selectors.
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 2ad0a12262f..0a94f9f5504 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -32,7 +32,7 @@ use dom::customevent::CustomEvent; use dom::documentfragment::DocumentFragment; use dom::documenttype::DocumentType; use dom::domimplementation::DOMImplementation; -use dom::element::{Element, ElementCreator, EventState}; +use dom::element::{Element, ElementCreator}; use dom::event::{Event, EventBubbles, EventCancelable}; use dom::eventtarget::{EventTarget}; use dom::htmlanchorelement::HTMLAnchorElement; @@ -85,6 +85,7 @@ use net_traits::{AsyncResponseTarget, PendingAsyncLoad}; use num::ToPrimitive; use script_task::{MainThreadScriptMsg, Runnable}; use script_traits::{MouseButton, UntrustedNodeAddress}; +use selectors::states::*; use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::boxed::FnBox; @@ -174,8 +175,8 @@ pub struct Document { /// This field is set to the document itself for inert documents. /// https://html.spec.whatwg.org/multipage/#appropriate-template-contents-owner-document appropriate_template_contents_owner_document: MutNullableHeap<JS<Document>>, - // The collection of EventStates that have been changed since the last restyle. - event_state_changes: DOMRefCell<HashMap<JS<Element>, EventState>>, + // The collection of ElementStates that have been changed since the last restyle. + element_state_changes: DOMRefCell<HashMap<JS<Element>, ElementState>>, } impl PartialEq for Document { @@ -305,7 +306,7 @@ impl Document { pub fn needs_reflow(&self) -> bool { self.GetDocumentElement().is_some() && - (self.upcast::<Node>().get_has_dirty_descendants() || !self.event_state_changes.borrow().is_empty()) + (self.upcast::<Node>().get_has_dirty_descendants() || !self.element_state_changes.borrow().is_empty()) } /// Returns the first `base` element in the DOM that has an `href` attribute. @@ -1185,7 +1186,7 @@ pub enum DocumentSource { #[allow(unsafe_code)] pub trait LayoutDocumentHelpers { unsafe fn is_html_document_for_layout(&self) -> bool; - unsafe fn drain_event_state_changes(&self) -> Vec<(LayoutJS<Element>, EventState)>; + unsafe fn drain_element_state_changes(&self) -> Vec<(LayoutJS<Element>, ElementState)>; } #[allow(unsafe_code)] @@ -1197,8 +1198,8 @@ impl LayoutDocumentHelpers for LayoutJS<Document> { #[inline] #[allow(unrooted_must_root)] - unsafe fn drain_event_state_changes(&self) -> Vec<(LayoutJS<Element>, EventState)> { - let mut changes = (*self.unsafe_get()).event_state_changes.borrow_mut_for_layout(); + unsafe fn drain_element_state_changes(&self) -> Vec<(LayoutJS<Element>, ElementState)> { + let mut changes = (*self.unsafe_get()).element_state_changes.borrow_mut_for_layout(); let drain = changes.drain(); let layout_drain = drain.map(|(k, v)| (k.to_layout(), v)); Vec::from_iter(layout_drain) @@ -1268,7 +1269,7 @@ impl Document { reflow_timeout: Cell::new(None), base_element: Default::default(), appropriate_template_contents_owner_document: Default::default(), - event_state_changes: DOMRefCell::new(HashMap::new()), + element_state_changes: DOMRefCell::new(HashMap::new()), } } @@ -1334,12 +1335,12 @@ impl Document { self.idmap.borrow().get(&id).map(|ref elements| (*elements)[0].root()) } - pub fn record_event_state_change(&self, el: &Element, which: EventState) { - let mut map = self.event_state_changes.borrow_mut(); + pub fn record_element_state_change(&self, el: &Element, which: ElementState) { + let mut map = self.element_state_changes.borrow_mut(); let empty; { let states = map.entry(JS::from_ref(el)) - .or_insert(EventState::empty()); + .or_insert(ElementState::empty()); states.toggle(which); empty = states.is_empty(); } |