diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs
index 0ba1cb740e4..0b40b97c5aa 100644
--- a/components/script/dom/htmlbuttonelement.rs
+++ b/components/script/dom/htmlbuttonelement.rs
@@ -22,7 +22,7 @@ use dom::node::{DisabledStateHelpers, Node, NodeHelpers, NodeTypeId, document_fr
use dom::validitystate::ValidityState;
use dom::virtualmethods::VirtualMethods;
-use std::ascii::OwnedAsciiExt;
+use std::ascii::AsciiExt;
use std::borrow::ToOwned;
use util::str::DOMString;
use std::cell::Cell;
@@ -86,7 +86,8 @@ impl<'a> HTMLButtonElementMethods for &'a HTMLButtonElement {
// https://html.spec.whatwg.org/multipage/#dom-button-type
fn Type(self) -> DOMString {
let elem = ElementCast::from_ref(self);
- let ty = elem.get_string_attribute(&atom!("type")).into_ascii_lowercase();
+ let mut ty = elem.get_string_attribute(&atom!("type"));
+ ty.make_ascii_lowercase();
// https://html.spec.whatwg.org/multipage/#attr-button-type
match &*ty {
"reset" | "button" | "menu" => ty,
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index bfa5792327a..e0a948bbedf 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -35,7 +35,6 @@ use hyper::mime;
use msg::constellation_msg::LoadData;
use util::str::DOMString;
use script_task::{ScriptChan, ScriptMsg};
-use std::ascii::OwnedAsciiExt;
use url::UrlParser;
use url::form_urlencoded::serialize;
use string_cache::Atom;
diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index 2f3db69b43d..e41fb1571b8 100644
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -38,7 +38,6 @@ use msg::constellation_msg::ConstellationChan;
use util::str::DOMString;
use string_cache::Atom;
-use std::ascii::OwnedAsciiExt;
use std::borrow::ToOwned;
use std::cell::Cell;
diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs
index 457989af969..6b19d3f99c0 100644
--- a/components/script/dom/macros.rs
+++ b/components/script/dom/macros.rs
@@ -104,9 +104,10 @@ macro_rules! make_enumerated_getter(
use dom::bindings::codegen::InheritTypes::ElementCast;
use string_cache::Atom;
use std::borrow::ToOwned;
+ use std::ascii::AsciiExt;
let element = ElementCast::from_ref(self);
- let val = element.get_string_attribute(&Atom::from_slice($htmlname))
- .into_ascii_lowercase();
+ let mut val = element.get_string_attribute(&Atom::from_slice($htmlname));
+ val.make_ascii_lowercase();
// https://html.spec.whatwg.org/multipage/#attr-fs-method
match &*val {
$($choices)|+ => val,
diff --git a/components/script/lib.rs b/components/script/lib.rs
index 16f73c85afd..459eff4bd82 100644
--- a/components/script/lib.rs
+++ b/components/script/lib.rs
@@ -4,6 +4,7 @@
#![feature(append)]
#![feature(arc_unique)]
+#![feature(ascii)]
#![feature(as_slice)]
#![feature(as_unsafe_cell)]
#![feature(borrow_state)]
@@ -17,7 +18,6 @@
#![feature(hashmap_hasher)]
#![feature(mpsc_select)]
#![feature(nonzero)]
-#![feature(owned_ascii_ext)]
#![feature(plugin)]
#![feature(rc_unique)]
#![feature(slice_chars)]