aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/bindings/js.rs1
-rw-r--r--components/script/dom/bindings/trace.rs1
-rw-r--r--components/script/dom/element.rs2
-rw-r--r--components/script/dom/htmlinputelement.rs2
-rw-r--r--components/script/dom/htmllinkelement.rs6
-rw-r--r--components/script/dom/node.rs2
-rw-r--r--components/script/script_task.rs2
7 files changed, 8 insertions, 8 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs
index 347f32a266e..a6dc495fc04 100644
--- a/components/script/dom/bindings/js.rs
+++ b/components/script/dom/bindings/js.rs
@@ -577,6 +577,7 @@ impl<T: Assignable<U>, U: Reflectable> TemporaryPushable<T> for Vec<JS<U>> {
///
/// See also [*Exact Stack Rooting - Storing a GCPointer on the CStack*]
/// (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/GC/Exact_Stack_Rooting).
+#[no_move]
pub struct RootCollection {
roots: UnsafeCell<RootedVec<*mut JSObject>>,
}
diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs
index 05ee1f09a0a..c25b0addc47 100644
--- a/components/script/dom/bindings/trace.rs
+++ b/components/script/dom/bindings/trace.rs
@@ -401,6 +401,7 @@ impl VecRootableType for *mut JSObject {
/// A vector of items that are rooted for the lifetime
/// of this struct
#[allow(unrooted_must_root)]
+#[no_move]
pub struct RootedVec<T> {
v: Vec<T>
}
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index ceabb4d212a..ae3c11c4079 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -728,7 +728,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
fn get_attributes(self, local_name: &Atom, attributes: &mut RootedVec<JS<Attr>>) {
// FIXME(https://github.com/rust-lang/rust/issues/23338)
let attrs = self.attrs.borrow();
- for attr in attrs.iter().map(|attr| attr.root()) {
+ for ref attr in attrs.iter().map(|attr| attr.root()) {
// FIXME(https://github.com/rust-lang/rust/issues/23338)
let attr = attr.r();
let attr_local_name = attr.local_name();
diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index ed62de4cddc..e8cad95a519 100644
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -841,7 +841,7 @@ impl<'a> Activatable for JSRef<'a, HTMLInputElement> {
.find(|r| r.r().form_owner() == owner);
}
match submit_button {
- Some(button) => {
+ Some(ref button) => {
if button.r().is_instance_activatable() {
button.r().synthetic_click_activation(ctrlKey, shiftKey, altKey, metaKey)
}
diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs
index 9b01480d39a..60e78b5bdad 100644
--- a/components/script/dom/htmllinkelement.rs
+++ b/components/script/dom/htmllinkelement.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::HTMLLinkElementBinding::HTMLLinkElementMet
use dom::bindings::codegen::InheritTypes::HTMLLinkElementDerived;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast};
use dom::bindings::js::{JS, JSRef, MutNullableHeap, Temporary};
-use dom::bindings::js::OptionalRootable;
+use dom::bindings::js::{OptionalRootable, RootedReference};
use dom::document::Document;
use dom::domtokenlist::DOMTokenList;
use dom::element::{AttributeHandlers, Element};
@@ -60,9 +60,7 @@ impl HTMLLinkElement {
fn get_attr(element: JSRef<Element>, local_name: &Atom) -> Option<String> {
let elem = element.get_attribute(&ns!(""), local_name).root();
- elem.as_ref().map(|e| {
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let e = e.r();
+ elem.r().map(|e| {
let value = e.value();
(**value).to_owned()
})
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 25af75fb693..32c44277d10 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -298,7 +298,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> {
}
let parent = self.parent_node().root();
- parent.as_ref().map(|parent| vtable_for(&parent.r()).child_inserted(self));
+ parent.r().map(|parent| vtable_for(&parent).child_inserted(self));
document.r().content_and_heritage_changed(self, NodeDamage::OtherNodeDamage);
}
diff --git a/components/script/script_task.rs b/components/script/script_task.rs
index 0fe875e1344..0fbdf0f5926 100644
--- a/components/script/script_task.rs
+++ b/components/script/script_task.rs
@@ -937,7 +937,7 @@ impl ScriptTask {
self.find_iframe(doc.r(), old_subpage_id)
}).root();
- frame_element.as_ref().unwrap().r().update_subpage_id(new_subpage_id);
+ frame_element.r().unwrap().update_subpage_id(new_subpage_id);
}
/// Handles a notification that reflow completed.