aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/document.rs
diff options
context:
space:
mode:
authorBobby Holley <bobbyholley@gmail.com>2015-10-21 11:37:51 -0700
committerBobby Holley <bobbyholley@gmail.com>2015-10-30 21:02:35 -0700
commit79ac365a68333072d80c41c05e56effbe1335f3d (patch)
tree4cac4c0dc50a40f9fa31b745f3ada54e1ee293d9 /components/script/dom/document.rs
parentf7f27a81463b062f0aef8055315ba6ad167ea592 (diff)
downloadservo-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.rs23
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();
}