Auto merge of #6491 - michaelwu:mutable, r=metajack

Remove unnecessary uses of MutHeap



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6491)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-06-26 20:36:04 -06:00
commit b73eca160c
2 changed files with 9 additions and 9 deletions

View file

@ -89,7 +89,7 @@ struct InputActivationState {
indeterminate: bool, indeterminate: bool,
checked: bool, checked: bool,
checked_changed: bool, checked_changed: bool,
checked_radio: MutNullableHeap<JS<HTMLInputElement>>, checked_radio: Option<JS<HTMLInputElement>>,
// In case mutability changed // In case mutability changed
was_mutable: bool, was_mutable: bool,
// In case the type changed // In case the type changed
@ -102,7 +102,7 @@ impl InputActivationState {
indeterminate: false, indeterminate: false,
checked: false, checked: false,
checked_changed: false, checked_changed: false,
checked_radio: Default::default(), checked_radio: None,
was_mutable: false, was_mutable: false,
old_type: InputType::InputText old_type: InputType::InputText
} }
@ -715,7 +715,7 @@ impl<'a> Activatable for &'a HTMLInputElement {
r.r().Checked() r.r().Checked()
}) })
}; };
cache.checked_radio.set(checked_member.r().map(JS::from_ref)); cache.checked_radio = checked_member.r().map(JS::from_ref);
cache.checked_changed = self.checked_changed.get(); cache.checked_changed = self.checked_changed.get();
self.SetChecked(true); self.SetChecked(true);
} }
@ -751,7 +751,7 @@ impl<'a> Activatable for &'a HTMLInputElement {
InputType::InputRadio => { InputType::InputRadio => {
// We want to restore state only if the element had been changed in the first place // We want to restore state only if the element had been changed in the first place
if cache.was_mutable { if cache.was_mutable {
let old_checked: Option<Root<HTMLInputElement>> = cache.checked_radio.get().map(|t| t.root()); let old_checked: Option<Root<HTMLInputElement>> = cache.checked_radio.map(|t| t.root());
let name = self.get_radio_group_name(); let name = self.get_radio_group_name();
match old_checked { match old_checked {
Some(ref o) => { Some(ref o) => {

View file

@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::InheritTypes::NodeCast;
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, MutHeap, Root}; use dom::bindings::js::{JS, Root};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::{Reflector, reflect_dom_object};
use dom::document::{Document, DocumentHelpers}; use dom::document::{Document, DocumentHelpers};
use dom::node::{Node, NodeHelpers}; use dom::node::{Node, NodeHelpers};
@ -428,7 +428,7 @@ impl RangeInner {
#[must_root] #[must_root]
#[privatize] #[privatize]
pub struct BoundaryPoint { pub struct BoundaryPoint {
node: MutHeap<JS<Node>>, node: JS<Node>,
offset: u32, offset: u32,
} }
@ -437,13 +437,13 @@ impl BoundaryPoint {
debug_assert!(!node.is_doctype()); debug_assert!(!node.is_doctype());
debug_assert!(offset <= node.len()); debug_assert!(offset <= node.len());
BoundaryPoint { BoundaryPoint {
node: MutHeap::new(JS::from_ref(node)), node: JS::from_ref(node),
offset: offset, offset: offset,
} }
} }
pub fn node(&self) -> Root<Node> { pub fn node(&self) -> Root<Node> {
self.node.get().root() self.node.root()
} }
pub fn offset(&self) -> u32 { pub fn offset(&self) -> u32 {
@ -453,7 +453,7 @@ impl BoundaryPoint {
fn set(&mut self, node: &Node, offset: u32) { fn set(&mut self, node: &Node, offset: u32) {
debug_assert!(!node.is_doctype()); debug_assert!(!node.is_doctype());
debug_assert!(offset <= node.len()); debug_assert!(offset <= node.len());
self.node.set(JS::from_ref(node)); self.node = JS::from_ref(node);
self.offset = offset; self.offset = offset;
} }
} }