aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-04-26 05:30:28 -0500
committerbors-servo <metajack+bors@gmail.com>2015-04-26 05:30:28 -0500
commit1389be37823fccf4108f4e79d0a3a793f0bbe93e (patch)
tree30b2dc45c0aad707848dab7bfc53a3c11e1bdfe8
parentaef48baeb4a67d003c8a88d91d01d3a33ac3620d (diff)
parent9185c3de7984fa46b71a62b2902a707c9d4134c3 (diff)
downloadservo-1389be37823fccf4108f4e79d0a3a793f0bbe93e.tar.gz
servo-1389be37823fccf4108f4e79d0a3a793f0bbe93e.zip
Auto merge of #5847 - Ms2ger:slice, r=SimonSapin
<!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5847) <!-- Reviewable:end -->
-rw-r--r--components/canvas/canvas_paint_task.rs4
-rw-r--r--components/canvas/webgl_paint_task.rs2
-rw-r--r--components/layout/table_wrapper.rs2
-rw-r--r--components/net/file_loader.rs2
-rw-r--r--components/net/http_loader.rs2
-rw-r--r--components/script/dom/attr.rs14
-rw-r--r--components/script/dom/bindings/conversions.rs2
-rw-r--r--components/script/dom/bindings/str.rs2
-rw-r--r--components/script/dom/blob.rs11
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs5
-rw-r--r--components/script/dom/characterdata.rs2
-rw-r--r--components/script/dom/console.rs2
-rw-r--r--components/script/dom/create.rs6
-rw-r--r--components/script/dom/document.rs2
-rw-r--r--components/script/dom/domtokenlist.rs2
-rw-r--r--components/script/dom/element.rs28
-rw-r--r--components/script/dom/eventdispatcher.rs8
-rw-r--r--components/script/dom/eventtarget.rs6
-rw-r--r--components/script/dom/htmlbodyelement.rs4
-rw-r--r--components/script/dom/htmlbuttonelement.rs2
-rw-r--r--components/script/dom/htmlcanvaselement.rs2
-rw-r--r--components/script/dom/htmlcollection.rs1
-rw-r--r--components/script/dom/htmlelement.rs2
-rw-r--r--components/script/dom/htmlfieldsetelement.rs2
-rw-r--r--components/script/dom/htmlformelement.rs20
-rw-r--r--components/script/dom/htmliframeelement.rs2
-rw-r--r--components/script/dom/htmlimageelement.rs2
-rw-r--r--components/script/dom/htmlinputelement.rs14
-rw-r--r--components/script/dom/htmllinkelement.rs6
-rw-r--r--components/script/dom/htmloptionelement.rs6
-rw-r--r--components/script/dom/htmlscriptelement.rs4
-rw-r--r--components/script/dom/htmlstyleelement.rs2
-rw-r--r--components/script/dom/htmltextareaelement.rs4
-rw-r--r--components/script/dom/keyboardevent.rs2
-rw-r--r--components/script/dom/macros.rs6
-rw-r--r--components/script/dom/namednodemap.rs2
-rw-r--r--components/script/dom/node.rs8
-rw-r--r--components/script/dom/textencoder.rs4
-rw-r--r--components/script/dom/urlhelper.rs4
-rw-r--r--components/script/dom/urlsearchparams.rs3
-rw-r--r--components/script/dom/window.rs6
-rw-r--r--components/script/dom/worker.rs3
-rw-r--r--components/script/dom/workerglobalscope.rs2
-rw-r--r--components/script/dom/xmlhttprequest.rs26
-rw-r--r--components/script/parse/html.rs4
-rw-r--r--components/script/textinput.rs4
-rw-r--r--components/script/timers.rs2
-rw-r--r--ports/gonk/src/input.rs2
48 files changed, 122 insertions, 131 deletions
diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs
index 79dc45415c5..a13934413ba 100644
--- a/components/canvas/canvas_paint_task.rs
+++ b/components/canvas/canvas_paint_task.rs
@@ -516,7 +516,7 @@ impl<'a> CanvasPaintTask<'a> {
let mut dest_data = self.read_pixels(dest_rect, canvas_size);
// bgra -> rgba
- byte_swap(dest_data.as_mut_slice());
+ byte_swap(&mut dest_data);
chan.send(dest_data).unwrap();
}
@@ -530,7 +530,7 @@ impl<'a> CanvasPaintTask<'a> {
assert!(image_data_rect.size.width * image_data_rect.size.height * 4.0 == imagedata.len() as f64);
// rgba -> bgra
- byte_swap(imagedata.as_mut_slice());
+ byte_swap(&mut imagedata);
let image_rect = Rect(Point2D(0f64, 0f64),
Size2D(image_data_rect.size.width, image_data_rect.size.height));
diff --git a/components/canvas/webgl_paint_task.rs b/components/canvas/webgl_paint_task.rs
index 1afcf20089c..eaa224c22b3 100644
--- a/components/canvas/webgl_paint_task.rs
+++ b/components/canvas/webgl_paint_task.rs
@@ -100,7 +100,7 @@ impl WebGLPaintTask {
gl::RGBA, gl::UNSIGNED_BYTE);
// rgba -> bgra
- byte_swap(pixels.as_mut_slice());
+ byte_swap(&mut pixels);
chan.send(pixels).unwrap();
}
diff --git a/components/layout/table_wrapper.rs b/components/layout/table_wrapper.rs
index cfc2469e443..c603ff47476 100644
--- a/components/layout/table_wrapper.rs
+++ b/components/layout/table_wrapper.rs
@@ -288,7 +288,7 @@ impl Flow for TableWrapperFlow {
TableLayout::Fixed => {}
TableLayout::Auto => {
self.calculate_table_column_sizes_for_automatic_layout(
- intermediate_column_inline_sizes.as_mut_slice())
+ &mut intermediate_column_inline_sizes)
}
}
diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs
index c2a1d672bd7..9240a736862 100644
--- a/components/net/file_loader.rs
+++ b/components/net/file_loader.rs
@@ -23,7 +23,7 @@ enum ReadStatus {
fn read_block(reader: &mut File) -> Result<ReadStatus, String> {
let mut buf = vec![0; READ_SIZE];
- match reader.read(buf.as_mut_slice()) {
+ match reader.read(&mut buf) {
Ok(0) => return Ok(ReadStatus::EOF),
Ok(n) => {
buf.truncate(n);
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs
index 0ac6980bb69..5081d9f8dcb 100644
--- a/components/net/http_loader.rs
+++ b/components/net/http_loader.rs
@@ -56,7 +56,7 @@ enum ReadResult {
fn read_block<R: Read>(reader: &mut R) -> Result<ReadResult, ()> {
let mut buf = vec![0; 1024];
- match reader.read(buf.as_mut_slice()) {
+ match reader.read(&mut buf) {
Ok(len) if len > 0 => {
unsafe { buf.set_len(len); }
Ok(ReadResult::Payload(buf))
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs
index 536600e5f34..1387131e0f8 100644
--- a/components/script/dom/attr.rs
+++ b/components/script/dom/attr.rs
@@ -51,7 +51,7 @@ impl AttrValue {
}
pub fn from_atomic_tokens(atoms: Vec<Atom>) -> AttrValue {
- let tokens = atoms.iter().map(Atom::as_slice).collect::<Vec<_>>().connect("\x20");
+ let tokens = atoms.iter().map(|x| &**x).collect::<Vec<_>>().connect("\x20");
AttrValue::TokenList(tokens, atoms)
}
@@ -67,7 +67,7 @@ impl AttrValue {
pub fn tokens<'a>(&'a self) -> Option<&'a [Atom]> {
match *self {
- AttrValue::TokenList(_, ref tokens) => Some(tokens.as_slice()),
+ AttrValue::TokenList(_, ref tokens) => Some(tokens),
_ => None
}
}
@@ -149,7 +149,7 @@ impl Attr {
impl<'a> AttrMethods for JSRef<'a, Attr> {
// https://dom.spec.whatwg.org/#dom-attr-localname
fn LocalName(self) -> DOMString {
- self.local_name().as_slice().to_owned()
+ (**self.local_name()).to_owned()
}
// https://dom.spec.whatwg.org/#dom-attr-value
@@ -191,13 +191,13 @@ impl<'a> AttrMethods for JSRef<'a, Attr> {
// https://dom.spec.whatwg.org/#dom-attr-name
fn Name(self) -> DOMString {
- self.name.as_slice().to_owned()
+ (*self.name).to_owned()
}
// https://dom.spec.whatwg.org/#dom-attr-namespaceuri
fn GetNamespaceURI(self) -> Option<DOMString> {
let Namespace(ref atom) = self.namespace;
- match atom.as_slice() {
+ match &**atom {
"" => None,
url => Some(url.to_owned()),
}
@@ -281,7 +281,7 @@ impl<'a> AttrHelpers<'a> for JSRef<'a, Attr> {
fn summarize(self) -> AttrInfo {
let Namespace(ref ns) = self.namespace;
AttrInfo {
- namespace: ns.as_slice().to_owned(),
+ namespace: (**ns).to_owned(),
name: self.Name(),
value: self.Value(),
}
@@ -319,7 +319,7 @@ impl AttrHelpersForLayout for Attr {
// This transmute is used to cheat the lifetime restriction.
let value = mem::transmute::<&AttrValue, &AttrValue>(self.value.borrow_for_layout());
match *value {
- AttrValue::TokenList(_, ref tokens) => Some(tokens.as_slice()),
+ AttrValue::TokenList(_, ref tokens) => Some(tokens),
_ => None,
}
}
diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs
index eb6d7d60680..aa509ad5927 100644
--- a/components/script/dom/bindings/conversions.rs
+++ b/components/script/dom/bindings/conversions.rs
@@ -312,7 +312,7 @@ impl ToJSValConvertible for str {
impl ToJSValConvertible for DOMString {
fn to_jsval(&self, cx: *mut JSContext) -> JSVal {
- self.as_slice().to_jsval(cx)
+ (**self).to_jsval(cx)
}
}
diff --git a/components/script/dom/bindings/str.rs b/components/script/dom/bindings/str.rs
index 95ee01d8517..fff381e98f8 100644
--- a/components/script/dom/bindings/str.rs
+++ b/components/script/dom/bindings/str.rs
@@ -30,7 +30,7 @@ impl ByteString {
/// Returns the underlying vector as a slice.
pub fn as_slice<'a>(&'a self) -> &'a [u8] {
let ByteString(ref vector) = *self;
- vector.as_slice()
+ vector
}
/// Returns the length.
diff --git a/components/script/dom/blob.rs b/components/script/dom/blob.rs
index bfecd088bbe..47d03d72082 100644
--- a/components/script/dom/blob.rs
+++ b/components/script/dom/blob.rs
@@ -70,12 +70,11 @@ impl Blob {
//TODO: accept other blobParts types - ArrayBuffer or ArrayBufferView or Blob
let bytes: Option<Vec<u8>> = Some(blobParts.into_bytes());
let typeString = if is_ascii_printable(&blobPropertyBag.type_) {
- blobPropertyBag.type_.as_slice()
+ &*blobPropertyBag.type_
} else {
""
};
- let typeStrLower = typeString.as_slice().to_ascii_lowercase();
- Ok(Blob::new(global, bytes, typeStrLower.as_slice()))
+ Ok(Blob::new(global, bytes, &typeString.to_ascii_lowercase()))
}
}
@@ -121,7 +120,7 @@ impl<'a> BlobMethods for JSRef<'a, Blob> {
None => "".to_owned(),
Some(str) => {
if is_ascii_printable(&str) {
- str.as_slice().to_ascii_lowercase().to_owned()
+ str.to_ascii_lowercase()
} else {
"".to_owned()
}
@@ -130,13 +129,13 @@ impl<'a> BlobMethods for JSRef<'a, Blob> {
let span: i64 = max(relativeEnd - relativeStart, 0);
let global = self.global.root();
match self.bytes {
- None => Blob::new(global.r(), None, relativeContentType.as_slice()),
+ None => Blob::new(global.r(), None, &relativeContentType),
Some(ref vec) => {
let start = relativeStart.to_usize().unwrap();
let end = (relativeStart + span).to_usize().unwrap();
let mut bytes: Vec<u8> = Vec::new();
bytes.push_all(&vec[start..end]);
- Blob::new(global.r(), Some(bytes), relativeContentType.as_slice())
+ Blob::new(global.r(), Some(bytes), &relativeContentType)
}
}
}
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 022b31dd055..6eeb7d5627d 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -264,10 +264,7 @@ impl CanvasRenderingContext2D {
};
// Pixels come from cache in BGRA order and drawImage expects RGBA so we
// have to swap the color values
- {
- let mut pixel_colors = image_data.as_mut_slice();
- byte_swap(pixel_colors);
- }
+ byte_swap(&mut image_data);
return Some((image_data, image_size));
}
diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs
index 4f10e7d39f4..677541045d8 100644
--- a/components/script/dom/characterdata.rs
+++ b/components/script/dom/characterdata.rs
@@ -112,7 +112,7 @@ impl<'a> CharacterDataMethods for JSRef<'a, CharacterData> {
count
};
let mut data = self.data.borrow().slice_chars(0, offset as usize).to_owned();
- data.push_str(arg.as_slice());
+ data.push_str(&arg);
data.push_str(&self.data.borrow().slice_chars((offset + count) as usize, length as usize));
*self.data.borrow_mut() = data;
// FIXME: Once we have `Range`, we should implement step7 to step11
diff --git a/components/script/dom/console.rs b/components/script/dom/console.rs
index 726a59e3c0d..fd213190e24 100644
--- a/components/script/dom/console.rs
+++ b/components/script/dom/console.rs
@@ -72,7 +72,7 @@ impl<'a> ConsoleMethods for JSRef<'a, Console> {
fn Assert(self, condition: bool, message: Option<DOMString>) {
if !condition {
let message = match message {
- Some(ref message) => message.as_slice(),
+ Some(ref message) => &**message,
None => "no message",
};
println!("Assertion failed: {}", message);
diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs
index 55b2ec8e412..1b8e4b9f2ce 100644
--- a/components/script/dom/create.rs
+++ b/components/script/dom/create.rs
@@ -86,16 +86,16 @@ pub fn create_element(name: QualName, prefix: Option<DOMString>,
document: JSRef<Document>, creator: ElementCreator)
-> Temporary<Element> {
if name.ns != ns!(HTML) {
- return Element::new(name.local.as_slice().to_owned(), name.ns, prefix, document);
+ return Element::new((*name.local).to_owned(), name.ns, prefix, document);
}
macro_rules! make(
($ctor:ident) => ({
- let obj = $ctor::new(name.local.as_slice().to_owned(), prefix, document);
+ let obj = $ctor::new((*name.local).to_owned(), prefix, document);
ElementCast::from_temporary(obj)
});
($ctor:ident, $($arg:expr),+) => ({
- let obj = $ctor::new(name.local.as_slice().to_owned(), prefix, document, $($arg),+);
+ let obj = $ctor::new((*name.local).to_owned(), prefix, document, $($arg),+);
ElementCast::from_temporary(obj)
})
);
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index eec797c23cd..e83f9c51bbb 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -1120,7 +1120,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
fn CreateEvent(self, interface: DOMString) -> Fallible<Temporary<Event>> {
let window = self.window.root();
- match interface.to_ascii_lowercase().as_slice() {
+ match &*interface.to_ascii_lowercase() {
"uievents" | "uievent" => Ok(EventCast::from_temporary(
UIEvent::new_uninitialized(window.r()))),
"mouseevents" | "mouseevent" => Ok(EventCast::from_temporary(
diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs
index 119028f6552..2e118089697 100644
--- a/components/script/dom/domtokenlist.rs
+++ b/components/script/dom/domtokenlist.rs
@@ -81,7 +81,7 @@ impl<'a> DOMTokenListMethods for JSRef<'a, DOMTokenList> {
let attr = attr.r();
let value = attr.value();
value.tokens().and_then(|tokens| {
- tokens.get(index as usize).map(|token| token.as_slice().to_owned())
+ tokens.get(index as usize).map(|token| (**token).to_owned())
})
})
}
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 86c5ad25899..d47cf4feeaa 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -477,7 +477,7 @@ impl<'a> ElementHelpers<'a> for JSRef<'a, Element> {
if self.namespace != ns!(HTML) {
return false
}
- match self.local_name.as_slice() {
+ match &*self.local_name {
/* List of void elements from
https://html.spec.whatwg.org/multipage/#html-fragment-serialisation-algorithm */
"area" | "base" | "basefont" | "bgsound" | "br" | "col" | "embed" |
@@ -752,7 +752,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
let name = match prefix {
None => qname.local.clone(),
Some(ref prefix) => {
- let name = format!("{}:{}", *prefix, qname.local.as_slice());
+ let name = format!("{}:{}", *prefix, &*qname.local);
Atom::from_slice(&name)
},
};
@@ -761,7 +761,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
}
fn set_attribute(self, name: &Atom, value: AttrValue) {
- assert!(name.as_slice() == name.to_ascii_lowercase());
+ assert!(&**name == name.to_ascii_lowercase());
assert!(!name.contains(":"));
self.do_set_attribute(name.clone(), value, name.clone(),
@@ -883,7 +883,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
}
fn set_atomic_attribute(self, local_name: &Atom, value: DOMString) {
- assert!(local_name.as_slice() == local_name.to_ascii_lowercase());
+ assert!(&**local_name == local_name.to_ascii_lowercase());
let value = AttrValue::from_atomic(value);
self.set_attribute(local_name, value);
}
@@ -909,7 +909,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
}
fn get_url_attribute(self, local_name: &Atom) -> DOMString {
- assert!(local_name.as_slice() == local_name.to_ascii_lowercase());
+ assert!(&**local_name == local_name.to_ascii_lowercase());
if !self.has_attribute(local_name) {
return "".to_owned();
}
@@ -934,7 +934,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
}
}
fn set_string_attribute(self, local_name: &Atom, value: DOMString) {
- assert!(local_name.as_slice() == local_name.to_ascii_lowercase());
+ assert!(&**local_name == local_name.to_ascii_lowercase());
self.set_attribute(local_name, AttrValue::String(value));
}
@@ -950,12 +950,12 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
}
fn set_tokenlist_attribute(self, local_name: &Atom, value: DOMString) {
- assert!(local_name.as_slice() == local_name.to_ascii_lowercase());
+ assert!(&**local_name == local_name.to_ascii_lowercase());
self.set_attribute(local_name, AttrValue::from_serialized_tokenlist(value));
}
fn set_atomic_tokenlist_attribute(self, local_name: &Atom, tokens: Vec<Atom>) {
- assert!(local_name.as_slice() == local_name.to_ascii_lowercase());
+ assert!(&**local_name == local_name.to_ascii_lowercase());
self.set_attribute(local_name, AttrValue::from_atomic_tokens(tokens));
}
@@ -976,7 +976,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
}
}
fn set_uint_attribute(self, local_name: &Atom, value: u32) {
- assert!(local_name.as_slice() == local_name.to_ascii_lowercase());
+ assert!(&**local_name == local_name.to_ascii_lowercase());
self.set_attribute(local_name, AttrValue::UInt(value.to_string(), value));
}
}
@@ -986,13 +986,13 @@ impl<'a> ElementMethods for JSRef<'a, Element> {
fn GetNamespaceURI(self) -> Option<DOMString> {
match self.namespace {
ns!("") => None,
- Namespace(ref ns) => Some(ns.as_slice().to_owned())
+ Namespace(ref ns) => Some((**ns).to_owned())
}
}
// https://dom.spec.whatwg.org/#dom-element-localname
fn LocalName(self) -> DOMString {
- self.local_name.as_slice().to_owned()
+ (*self.local_name).to_owned()
}
// https://dom.spec.whatwg.org/#dom-element-prefix
@@ -1004,11 +1004,9 @@ impl<'a> ElementMethods for JSRef<'a, Element> {
fn TagName(self) -> DOMString {
let qualified_name = match self.prefix {
Some(ref prefix) => {
- (format!("{}:{}",
- prefix.as_slice(),
- self.local_name.as_slice())).into_cow()
+ (format!("{}:{}", &**prefix, &*self.local_name)).into_cow()
},
- None => self.local_name.as_slice().into_cow()
+ None => self.local_name.into_cow()
};
if self.html_element_in_html_document() {
qualified_name.to_ascii_uppercase()
diff --git a/components/script/dom/eventdispatcher.rs b/components/script/dom/eventdispatcher.rs
index 1ec656b3428..001d6ce7ace 100644
--- a/components/script/dom/eventdispatcher.rs
+++ b/components/script/dom/eventdispatcher.rs
@@ -42,9 +42,9 @@ pub fn dispatch_event<'a, 'b>(target: JSRef<'a, EventTarget>,
//FIXME: The "callback this value" should be currentTarget
/* capturing */
- for cur_target in chain.as_slice().iter().rev() {
+ for cur_target in chain.iter().rev() {
let cur_target = cur_target.root();
- let stopped = match cur_target.r().get_listeners_for(type_.as_slice(), ListenerPhase::Capturing) {
+ let stopped = match cur_target.r().get_listeners_for(&type_, ListenerPhase::Capturing) {
Some(listeners) => {
event.set_current_target(cur_target.r());
for listener in listeners.iter() {
@@ -71,7 +71,7 @@ pub fn dispatch_event<'a, 'b>(target: JSRef<'a, EventTarget>,
event.set_phase(EventPhase::AtTarget);
event.set_current_target(target.clone());
- let opt_listeners = target.get_listeners(type_.as_slice());
+ let opt_listeners = target.get_listeners(&type_);
for listeners in opt_listeners.iter() {
for listener in listeners.iter() {
// Explicitly drop any exception on the floor.
@@ -90,7 +90,7 @@ pub fn dispatch_event<'a, 'b>(target: JSRef<'a, EventTarget>,
for cur_target in chain.iter() {
let cur_target = cur_target.root();
- let stopped = match cur_target.r().get_listeners_for(type_.as_slice(), ListenerPhase::Bubbling) {
+ let stopped = match cur_target.r().get_listeners_for(&type_, ListenerPhase::Bubbling) {
Some(listeners) => {
event.set_current_target(cur_target.r());
for listener in listeners.iter() {
diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs
index 92aabfd0be3..ab0e73ec8de 100644
--- a/components/script/dom/eventtarget.rs
+++ b/components/script/dom/eventtarget.rs
@@ -207,7 +207,7 @@ impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> {
['e' as c_char, 'v' as c_char, 'e' as c_char, 'n' as c_char, 't' as c_char, 0];
static mut ARG_NAMES: [*const c_char; 1] = [&ARG_NAME as *const c_char];
- let source: Vec<u16> = source.as_slice().utf16_units().collect();
+ let source: Vec<u16> = source.utf16_units().collect();
let handler = unsafe {
JS_CompileUCFunction(cx,
ptr::null_mut(),
@@ -269,7 +269,7 @@ impl<'a> EventTargetMethods for JSRef<'a, EventTarget> {
phase: phase,
listener: EventListenerType::Additive(listener)
};
- if entry.as_slice().position_elem(&new_entry).is_none() {
+ if entry.position_elem(&new_entry).is_none() {
entry.push(new_entry);
}
},
@@ -291,7 +291,7 @@ impl<'a> EventTargetMethods for JSRef<'a, EventTarget> {
phase: phase,
listener: EventListenerType::Additive(listener)
};
- let position = entry.as_slice().position_elem(&old_entry);
+ let position = entry.position_elem(&old_entry);
for &position in position.iter() {
entry.remove(position);
}
diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs
index 63156369459..1fb38160cd2 100644
--- a/components/script/dom/htmlbodyelement.rs
+++ b/components/script/dom/htmlbodyelement.rs
@@ -89,7 +89,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLBodyElement> {
s.after_set_attr(attr);
}
- let name = attr.local_name().as_slice();
+ let name = attr.local_name();
if name.starts_with("on") {
static FORWARDED_EVENTS: &'static [&'static str] =
&["onfocus", "onload", "onscroll", "onafterprint", "onbeforeprint",
@@ -101,7 +101,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLBodyElement> {
window.r().get_url(),
window.r().reflector().get_jsobject());
let evtarget: JSRef<EventTarget> =
- if FORWARDED_EVENTS.iter().any(|&event| name == event) {
+ if FORWARDED_EVENTS.iter().any(|&event| &**name == event) {
EventTargetCast::from_ref(window.r())
} else {
EventTargetCast::from_ref(*self)
diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs
index 7129681ea41..de9433cce18 100644
--- a/components/script/dom/htmlbuttonelement.rs
+++ b/components/script/dom/htmlbuttonelement.rs
@@ -83,7 +83,7 @@ impl<'a> HTMLButtonElementMethods for JSRef<'a, HTMLButtonElement> {
let elem: JSRef<Element> = ElementCast::from_ref(self);
let ty = elem.get_string_attribute(&atom!("type")).into_ascii_lowercase();
// https://html.spec.whatwg.org/multipage/#attr-button-type
- match ty.as_slice() {
+ match &*ty {
"reset" | "button" | "menu" => ty,
_ => "submit".to_owned()
}
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index d957648f959..c75b3c5ec3f 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -168,7 +168,7 @@ impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> {
}
fn GetContext(self, id: DOMString) -> Option<CanvasRenderingContext2DOrWebGLRenderingContext> {
- match id.as_slice() {
+ match &*id {
"2d" => {
let context_2d = self.context_2d.or_init(|| {
let window = window_from_node(self).root();
diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs
index a6871bf107f..8e55dd99f2d 100644
--- a/components/script/dom/htmlcollection.rs
+++ b/components/script/dom/htmlcollection.rs
@@ -193,7 +193,6 @@ impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> {
let index = index as usize;
match self.collection {
CollectionTypeId::Static(ref elems) => elems
- .as_slice()
.get(index)
.map(|elem| Temporary::new(elem.clone())),
CollectionTypeId::Live(ref root, ref filter) => {
diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs
index 12f10e76c3a..8c0445b8ea2 100644
--- a/components/script/dom/htmlelement.rs
+++ b/components/script/dom/htmlelement.rs
@@ -186,7 +186,7 @@ fn to_snake_case(name: DOMString) -> DOMString {
impl<'a> HTMLElementCustomAttributeHelpers for JSRef<'a, HTMLElement> {
fn set_custom_attr(self, name: DOMString, value: DOMString) -> ErrorResult {
- if name.as_slice().chars()
+ if name.chars()
.skip_while(|&ch| ch != '\u{2d}')
.nth(1).map_or(false, |ch| ch >= 'a' && ch <= 'z') {
return Err(Syntax);
diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs
index 197e8d67b5a..7bd4b7370a9 100644
--- a/components/script/dom/htmlfieldsetelement.rs
+++ b/components/script/dom/htmlfieldsetelement.rs
@@ -56,7 +56,7 @@ impl<'a> HTMLFieldSetElementMethods for JSRef<'a, HTMLFieldSetElement> {
fn filter<'a>(&self, elem: JSRef<'a, Element>, _root: JSRef<'a, Node>) -> bool {
static TAG_NAMES: StaticStringVec = &["button", "fieldset", "input",
"keygen", "object", "output", "select", "textarea"];
- TAG_NAMES.iter().any(|&tag_name| tag_name == elem.local_name().as_slice())
+ TAG_NAMES.iter().any(|&tag_name| tag_name == &**elem.local_name())
}
}
let node: JSRef<Node> = NodeCast::from_ref(self);
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index 85d9dcd28e9..a10c377771f 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -180,7 +180,7 @@ impl<'a> HTMLFormElementHelpers for JSRef<'a, HTMLFormElement> {
}
// TODO: Resolve the url relative to the submitter element
// Step 10-15
- let action_components = UrlParser::new().base_url(&base).parse(action.as_slice()).unwrap_or(base);
+ let action_components = UrlParser::new().base_url(&base).parse(&action).unwrap_or(base);
let _action = action_components.serialize();
let scheme = action_components.scheme.clone();
let enctype = submitter.enctype();
@@ -194,13 +194,13 @@ impl<'a> HTMLFormElementHelpers for JSRef<'a, HTMLFormElement> {
FormEncType::UrlEncoded => {
let mime: mime::Mime = "application/x-www-form-urlencoded".parse().unwrap();
load_data.headers.set(ContentType(mime));
- serialize(form_data.iter().map(|d| (d.name.as_slice(), d.value.as_slice())))
+ serialize(form_data.iter().map(|d| (&*d.name, &*d.value)))
}
_ => "".to_owned() // TODO: Add serializers for the other encoding types
};
// Step 18
- match (scheme.as_slice(), method) {
+ match (&*scheme, method) {
(_, FormMethod::FormDialog) => return, // Unimplemented
("http", FormMethod::FormGet) | ("https", FormMethod::FormGet) => {
load_data.url.query = Some(parsed_data);
@@ -269,7 +269,7 @@ impl<'a> HTMLFormElementHelpers for JSRef<'a, HTMLFormElement> {
let input = HTMLInputElementCast::to_ref(child.r()).unwrap();
let ty = input.Type();
let name = input.Name();
- match ty.as_slice() {
+ match &*ty {
"radio" | "checkbox" => {
if !input.Checked() || name.is_empty() {
return None;
@@ -290,7 +290,7 @@ impl<'a> HTMLFormElementHelpers for JSRef<'a, HTMLFormElement> {
},
_ => false
};
- match ty.as_slice() {
+ match &*ty {
"image" => None, // Unimplemented
"radio" | "checkbox" => {
if value.is_empty() {
@@ -335,11 +335,11 @@ impl<'a> HTMLFormElementHelpers for JSRef<'a, HTMLFormElement> {
// https://html.spec.whatwg.org/multipage/#the-directionality
let mut ret: Vec<FormDatum> = data_set.collect();
for datum in ret.iter_mut() {
- match datum.ty.as_slice() {
+ match &*datum.ty {
"file" | "textarea" => (),
_ => {
- datum.name = clean_crlf(datum.name.as_slice());
- datum.value = clean_crlf(datum.value.as_slice());
+ datum.name = clean_crlf(&datum.name);
+ datum.value = clean_crlf(&datum.value);
}
}
};
@@ -462,7 +462,7 @@ impl<'a> FormSubmitter<'a> {
|f| f.Action())
}
};
- match attr.as_slice() {
+ match &*attr {
"multipart/form-data" => FormEncType::FormDataEncoded,
"text/plain" => FormEncType::TextPlainEncoded,
// https://html.spec.whatwg.org/multipage/#attr-fs-enctype
@@ -486,7 +486,7 @@ impl<'a> FormSubmitter<'a> {
|f| f.Action())
}
};
- match attr.as_slice() {
+ match &*attr {
"dialog" => FormMethod::FormDialog,
"post" => FormMethod::FormPost,
_ => FormMethod::FormGet
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs
index 08465fdf9aa..7327a6131f9 100644
--- a/components/script/dom/htmliframeelement.rs
+++ b/components/script/dom/htmliframeelement.rs
@@ -335,7 +335,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLIFrameElement> {
let mut modes = SandboxAllowance::AllowNothing as u8;
if let Some(ref tokens) = attr.value().tokens() {
for token in tokens.iter() {
- modes |= match token.as_slice().to_ascii_lowercase().as_slice() {
+ modes |= match &*token.to_ascii_lowercase() {
"allow-same-origin" => SandboxAllowance::AllowSameOrigin,
"allow-forms" => SandboxAllowance::AllowForms,
"allow-pointer-lock" => SandboxAllowance::AllowPointerLock,
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs
index b206ba44b38..47d7ce55bd0 100644
--- a/components/script/dom/htmlimageelement.rs
+++ b/components/script/dom/htmlimageelement.rs
@@ -116,7 +116,7 @@ impl<'a> PrivateHTMLImageElementHelpers for JSRef<'a, HTMLImageElement> {
*self.image.borrow_mut() = None;
}
Some((src, base_url)) => {
- let img_url = UrlParser::new().base_url(base_url).parse(src.as_slice());
+ let img_url = UrlParser::new().base_url(base_url).parse(&src);
// FIXME: handle URL parse errors more gracefully.
let img_url = img_url.unwrap();
*self.url.borrow_mut() = Some(img_url.clone());
diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index 98272a1b8d4..a34357c37b1 100644
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -372,7 +372,7 @@ fn in_same_group<'a,'b>(other: JSRef<'a, HTMLInputElement>,
other_owner.equals(owner) &&
// TODO should be a unicode compatibility caseless match
match (other.get_radio_group_name(), group) {
- (Some(ref s1), Some(s2)) => s1.as_slice() == s2,
+ (Some(ref s1), Some(s2)) => &**s1 == s2,
(None, None) => true,
_ => false
}
@@ -410,7 +410,7 @@ impl<'a> HTMLInputElementHelpers for JSRef<'a, HTMLInputElement> {
broadcast_radio_checked(self,
self.get_radio_group_name()
.as_ref()
- .map(|group| group.as_slice()));
+ .map(|group| &**group));
}
//TODO: dispatch change event
}
@@ -492,7 +492,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> {
if self.input_type.get() == InputType::InputRadio {
self.radio_group_updated(self.get_radio_group_name()
.as_ref()
- .map(|group| group.as_slice()));
+ .map(|group| &**group));
}
}
&atom!("value") => {
@@ -543,7 +543,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> {
broadcast_radio_checked(*self,
self.get_radio_group_name()
.as_ref()
- .map(|group| group.as_slice()));
+ .map(|group| &**group));
}
self.input_type.set(InputType::InputText);
}
@@ -598,7 +598,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> {
s.handle_event(event);
}
- if "click" == event.Type().as_slice() && !event.DefaultPrevented() {
+ if &*event.Type() == "click" && !event.DefaultPrevented() {
match self.input_type.get() {
InputType::InputRadio => self.update_checked_state(true, true),
_ => {}
@@ -611,7 +611,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> {
let doc = document_from_node(*self).root();
doc.r().request_focus(ElementCast::from_ref(*self));
- } else if "keydown" == event.Type().as_slice() && !event.DefaultPrevented() &&
+ } else if &*event.Type() == "keydown" && !event.DefaultPrevented() &&
(self.input_type.get() == InputType::InputText ||
self.input_type.get() == InputType::InputPassword) {
let keyevent: Option<JSRef<KeyboardEvent>> = KeyboardEventCast::to_ref(event);
@@ -690,7 +690,7 @@ impl<'a> Activatable for JSRef<'a, HTMLInputElement> {
.filter_map(HTMLInputElementCast::to_temporary)
.map(|t| t.root())
.find(|r| {
- in_same_group(r.r(), owner.r(), group.as_ref().map(|gr| gr.as_slice())) &&
+ in_same_group(r.r(), owner.r(), group.as_ref().map(|gr| &**gr)) &&
r.r().Checked()
})
};
diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs
index d23fc5fc250..c1b455ccf49 100644
--- a/components/script/dom/htmllinkelement.rs
+++ b/components/script/dom/htmllinkelement.rs
@@ -70,8 +70,8 @@ fn get_attr(element: JSRef<Element>, local_name: &Atom) -> Option<String> {
fn is_stylesheet(value: &Option<String>) -> bool {
match *value {
Some(ref value) => {
- value.as_slice().split(HTML_SPACE_CHARACTERS.as_slice())
- .any(|s| s.as_slice().eq_ignore_ascii_case("stylesheet"))
+ value.split(HTML_SPACE_CHARACTERS)
+ .any(|s| s.eq_ignore_ascii_case("stylesheet"))
},
None => false,
}
@@ -126,7 +126,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> {
match (rel, href) {
(ref rel, Some(ref href)) if is_stylesheet(rel) => {
- self.handle_stylesheet_url(href.as_slice());
+ self.handle_stylesheet_url(href);
}
_ => {}
}
diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs
index 4607012a682..fe68c61e70f 100644
--- a/components/script/dom/htmloptionelement.rs
+++ b/components/script/dom/htmloptionelement.rs
@@ -51,7 +51,7 @@ impl HTMLOptionElement {
fn collect_text(node: &JSRef<Node>, value: &mut DOMString) {
let elem: JSRef<Element> = ElementCast::to_ref(*node).unwrap();
- let svg_script = *elem.namespace() == ns!(SVG) && elem.local_name().as_slice() == "script";
+ let svg_script = *elem.namespace() == ns!(SVG) && elem.local_name() == &atom!("script");
let html_script = node.is_htmlscriptelement();
if svg_script || html_script {
return;
@@ -60,7 +60,7 @@ fn collect_text(node: &JSRef<Node>, value: &mut DOMString) {
let child = child.root();
if child.r().is_text() {
let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(child.r()).unwrap();
- value.push_str(characterdata.Data().as_slice());
+ value.push_str(&characterdata.Data());
} else {
collect_text(&child.r(), value);
}
@@ -83,7 +83,7 @@ impl<'a> HTMLOptionElementMethods for JSRef<'a, HTMLOptionElement> {
let node: JSRef<Node> = NodeCast::from_ref(self);
let mut content = String::new();
collect_text(&node, &mut content);
- let v: Vec<&str> = split_html_space_chars(content.as_slice()).collect();
+ let v: Vec<&str> = split_html_space_chars(&content).collect();
v.connect(" ")
}
diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs
index b6066e7b746..d1c16a5d7a2 100644
--- a/components/script/dom/htmlscriptelement.rs
+++ b/components/script/dom/htmlscriptelement.rs
@@ -414,7 +414,7 @@ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> {
},
Some(ref s) => {
debug!("script type={}", *s);
- SCRIPT_JS_MIMES.contains(&s.to_ascii_lowercase().as_slice().trim_matches(HTML_SPACE_CHARACTERS))
+ SCRIPT_JS_MIMES.contains(&s.to_ascii_lowercase().trim_matches(HTML_SPACE_CHARACTERS))
},
None => {
debug!("no script type");
@@ -427,7 +427,7 @@ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> {
},
Some(ref s) => {
debug!("script language={}", *s);
- SCRIPT_JS_MIMES.contains(&format!("text/{}", s).to_ascii_lowercase().as_slice())
+ SCRIPT_JS_MIMES.contains(&&*format!("text/{}", s).to_ascii_lowercase())
},
None => {
debug!("no script type or language, inferring js");
diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs
index e7eb266b023..ccbe79e21ef 100644
--- a/components/script/dom/htmlstyleelement.rs
+++ b/components/script/dom/htmlstyleelement.rs
@@ -64,7 +64,7 @@ impl<'a> StyleElementHelpers for JSRef<'a, HTMLStyleElement> {
let media = parse_media_query_list(&mut css_parser);
let data = node.GetTextContent().expect("Element.textContent must be a string");
- let sheet = Stylesheet::from_str(data.as_slice(), url, Origin::Author);
+ let sheet = Stylesheet::from_str(&data, url, Origin::Author);
let LayoutChan(ref layout_chan) = win.layout_chan();
layout_chan.send(Msg::AddStylesheet(sheet, media)).unwrap();
}
diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs
index 738c906e91b..936c67ae6a9 100644
--- a/components/script/dom/htmltextareaelement.rs
+++ b/components/script/dom/htmltextareaelement.rs
@@ -344,12 +344,12 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> {
s.handle_event(event);
}
- if "click" == event.Type().as_slice() && !event.DefaultPrevented() {
+ if &*event.Type() == "click" && !event.DefaultPrevented() {
//TODO: set the editing position for text inputs
let doc = document_from_node(*self).root();
doc.r().request_focus(ElementCast::from_ref(*self));
- } else if "keydown" == event.Type().as_slice() && !event.DefaultPrevented() {
+ } else if &*event.Type() == "keydown" && !event.DefaultPrevented() {
let keyevent: Option<JSRef<KeyboardEvent>> = KeyboardEventCast::to_ref(event);
keyevent.map(|kevent| {
match self.textinput.borrow_mut().handle_keydown(kevent) {
diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs
index d9ca779edc3..f6777cc258a 100644
--- a/components/script/dom/keyboardevent.rs
+++ b/components/script/dom/keyboardevent.rs
@@ -615,7 +615,7 @@ impl<'a> KeyboardEventMethods for JSRef<'a, KeyboardEvent> {
// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#widl-KeyboardEvent-getModifierState
fn GetModifierState(self, keyArg: DOMString) -> bool {
- match keyArg.as_slice() {
+ match &*keyArg {
"Ctrl" => self.CtrlKey(),
"Alt" => self.AltKey(),
"Shift" => self.ShiftKey(),
diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs
index 37d0dad7f2a..76157789e71 100644
--- a/components/script/dom/macros.rs
+++ b/components/script/dom/macros.rs
@@ -85,7 +85,7 @@ macro_rules! make_url_or_base_getter(
use std::ascii::AsciiExt;
let element: JSRef<Element> = ElementCast::from_ref(self);
let url = element.get_url_attribute(&Atom::from_slice($htmlname));
- match url.as_slice() {
+ match &*url {
"" => {
let window = window_from_node(self).root();
window.r().get_url().serialize()
@@ -112,14 +112,14 @@ macro_rules! make_enumerated_getter(
let val = element.get_string_attribute(&Atom::from_slice($htmlname))
.into_ascii_lowercase();
// https://html.spec.whatwg.org/multipage/#attr-fs-method
- match val.as_slice() {
+ match &*val {
$($choices)|+ => val,
_ => $default.to_owned()
}
}
);
($attr:ident, $default:expr, $(($choices: pat))|+) => {
- make_enumerated_getter!($attr, to_lower!(stringify!($attr)).as_slice(), $default, $(($choices))|+);
+ make_enumerated_getter!($attr, &to_lower!(stringify!($attr)), $default, $(($choices))|+);
}
);
diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs
index 39474f32339..b0c7261e294 100644
--- a/components/script/dom/namednodemap.rs
+++ b/components/script/dom/namednodemap.rs
@@ -52,7 +52,7 @@ impl<'a> NamedNodeMapMethods for JSRef<'a, NamedNodeMap> {
// FIXME(https://github.com/rust-lang/rust/issues/23338)
let owner = owner.r();
let attrs = owner.attrs();
- attrs.as_slice().get(index as usize).map(|x| Temporary::new(x.clone()))
+ attrs.get(index as usize).map(|x| Temporary::new(x.clone()))
}
// https://dom.spec.whatwg.org/#dom-namednodemap-getnameditem
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index b8920f1adc0..8037454d5dc 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -544,7 +544,7 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
s.push_str(" ");
}
- s.push_str(self.debug_str().as_slice());
+ s.push_str(&*self.debug_str());
debug!("{:?}", s);
// FIXME: this should have a pure version?
@@ -888,7 +888,7 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
// https://dom.spec.whatwg.org/#dom-parentnode-queryselector
fn query_selector(self, selectors: DOMString) -> Fallible<Option<Temporary<Element>>> {
// Step 1.
- match parse_author_origin_selector_list_from_str(selectors.as_slice()) {
+ match parse_author_origin_selector_list_from_str(&selectors) {
// Step 2.
Err(()) => return Err(Syntax),
// Step 3.
@@ -909,7 +909,7 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
unsafe fn query_selector_iter(self, selectors: DOMString)
-> Fallible<QuerySelectorIterator> {
// Step 1.
- match parse_author_origin_selector_list_from_str(selectors.as_slice()) {
+ match parse_author_origin_selector_list_from_str(&selectors) {
// Step 2.
Err(()) => Err(Syntax),
// Step 3.
@@ -1734,7 +1734,7 @@ impl Node {
local: element.local_name().clone()
};
let element = Element::create(name,
- element.prefix().as_ref().map(|p| p.as_slice().to_owned()),
+ element.prefix().as_ref().map(|p| (**p).to_owned()),
document.r(), ElementCreator::ScriptCreated);
NodeCast::from_temporary(element)
},
diff --git a/components/script/dom/textencoder.rs b/components/script/dom/textencoder.rs
index 4f1045cc7ac..91a02257d71 100644
--- a/components/script/dom/textencoder.rs
+++ b/components/script/dom/textencoder.rs
@@ -50,7 +50,7 @@ impl TextEncoder {
// https://encoding.spec.whatwg.org/#dom-textencoder
pub fn Constructor(global: GlobalRef,
label: DOMString) -> Fallible<Temporary<TextEncoder>> {
- let encoding = match encoding_from_whatwg_label(label.trim().as_slice().to_ascii_lowercase().as_slice()) {
+ let encoding = match encoding_from_whatwg_label(&label.trim().to_ascii_lowercase()) {
Some(enc) => enc,
None => {
debug!("Encoding Label Not Supported");
@@ -80,7 +80,7 @@ impl<'a> TextEncoderMethods for JSRef<'a, TextEncoder> {
#[allow(unsafe_code)]
fn Encode(self, cx: *mut JSContext, input: USVString) -> *mut JSObject {
unsafe {
- let output = self.encoder.encode(input.0.as_slice(), EncoderTrap::Strict).unwrap();
+ let output = self.encoder.encode(&input.0, EncoderTrap::Strict).unwrap();
let length = output.len() as u32;
let js_object: *mut JSObject = JS_NewUint8Array(cx, length);
diff --git a/components/script/dom/urlhelper.rs b/components/script/dom/urlhelper.rs
index 4a86c75a722..d1930734f5c 100644
--- a/components/script/dom/urlhelper.rs
+++ b/components/script/dom/urlhelper.rs
@@ -20,7 +20,7 @@ impl UrlHelper {
pub fn Search(url: &Url) -> USVString {
USVString(match url.query {
None => "".to_owned(),
- Some(ref query) if query.as_slice() == "" => "".to_owned(),
+ Some(ref query) if query.is_empty() => "".to_owned(),
Some(ref query) => format!("?{}", query)
})
}
@@ -29,7 +29,7 @@ impl UrlHelper {
pub fn Hash(url: &Url) -> USVString {
USVString(match url.fragment {
None => "".to_owned(),
- Some(ref hash) if hash.as_slice() == "" => "".to_owned(),
+ Some(ref hash) if hash.is_empty() => "".to_owned(),
Some(ref hash) => format!("#{}", hash)
})
}
diff --git a/components/script/dom/urlsearchparams.rs b/components/script/dom/urlsearchparams.rs
index 1e418c4b6f8..d94a5d0f185 100644
--- a/components/script/dom/urlsearchparams.rs
+++ b/components/script/dom/urlsearchparams.rs
@@ -116,10 +116,9 @@ pub trait URLSearchParamsHelpers {
impl URLSearchParamsHelpers for URLSearchParams {
fn serialize(&self, encoding: Option<EncodingRef>) -> Vec<u8> {
// https://url.spec.whatwg.org/#concept-urlencoded-serializer
- fn serialize_string(value: &DOMString, encoding: EncodingRef) -> Vec<u8> {
+ fn serialize_string(value: &str, encoding: EncodingRef) -> Vec<u8> {
// https://url.spec.whatwg.org/#concept-urlencoded-byte-serializer
- let value = value.as_slice();
// XXXManishearth should this be a strict encoding? Can unwrap()ing the result fail?
let value = encoding.encode(value, EncoderTrap::Replace).unwrap();
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index a19e071687e..ec98dfff19f 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -253,7 +253,7 @@ pub fn base64_btoa(input: DOMString) -> Fallible<DOMString> {
// "and then must apply the base64 algorithm to that sequence of
// octets, and return the result. [RFC4648]"
- Ok(octets.as_slice().to_base64(STANDARD))
+ Ok(octets.to_base64(STANDARD))
}
}
@@ -269,7 +269,7 @@ pub fn base64_atob(input: DOMString) -> Fallible<DOMString> {
let without_spaces = input.chars()
.filter(|&c| ! is_html_space(c))
.collect::<String>();
- let mut input = without_spaces.as_slice();
+ let mut input = &*without_spaces;
// "If the length of input divides by 4 leaving no remainder, then:
// if input ends with one or two U+003D EQUALS SIGN (=) characters,
@@ -520,7 +520,7 @@ impl<'a, T: Reflectable> ScriptHelpers for JSRef<'a, T> {
let this = self.reflector().get_jsobject();
let cx = global_object_for_js_object(this).root().r().get_cx();
let global = global_object_for_js_object(this).root().r().reflector().get_jsobject();
- let code: Vec<u16> = code.as_slice().utf16_units().collect();
+ let code: Vec<u16> = code.utf16_units().collect();
let mut rval = UndefinedValue();
let filename = CString::new(filename).unwrap();
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index e80d5529115..a36dee9a164 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -63,8 +63,7 @@ impl Worker {
// https://www.whatwg.org/html/#dom-worker
pub fn Constructor(global: GlobalRef, script_url: DOMString) -> Fallible<Temporary<Worker>> {
// Step 2-4.
- let worker_url = match UrlParser::new().base_url(&global.get_url())
- .parse(script_url.as_slice()) {
+ let worker_url = match UrlParser::new().base_url(&global.get_url()).parse(&script_url) {
Ok(url) => url,
Err(_) => return Err(Syntax),
};
diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs
index bbb81f369dd..170dd317c7b 100644
--- a/components/script/dom/workerglobalscope.rs
+++ b/components/script/dom/workerglobalscope.rs
@@ -122,7 +122,7 @@ impl<'a> WorkerGlobalScopeMethods for JSRef<'a, WorkerGlobalScope> {
let mut urls = Vec::with_capacity(url_strings.len());
for url in url_strings.into_iter() {
let url = UrlParser::new().base_url(&self.worker_url)
- .parse(url.as_slice());
+ .parse(&url);
match url {
Ok(url) => urls.push(url),
Err(_) => return Err(Syntax),
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index a4e9e767dd5..ffb0b2e17f5 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -252,7 +252,7 @@ impl XMLHttpRequest {
}
fn data_available(&self, payload: Vec<u8>) {
- self.buf.borrow_mut().push_all(payload.as_slice());
+ self.buf.borrow_mut().push_all(&payload);
let xhr = self.xhr.to_temporary().root();
xhr.r().process_data_available(self.gen_id, self.buf.borrow().clone());
}
@@ -297,7 +297,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> {
// since methods like "patch" or "PaTcH" will be considered extension methods
// despite the there being a rust-http method variant for them
let upper = s.to_ascii_uppercase();
- match upper.as_slice() {
+ match &*upper {
"DELETE" | "GET" | "HEAD" | "OPTIONS" |
"POST" | "PUT" | "CONNECT" | "TRACE" |
"TRACK" => upper.parse().ok(),
@@ -308,7 +308,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> {
match maybe_method {
// Step 4
Some(Method::Connect) | Some(Method::Trace) => Err(Security),
- Some(Method::Extension(ref t)) if t.as_slice() == "TRACK" => Err(Security),
+ Some(Method::Extension(ref t)) if &**t == "TRACK" => Err(Security),
Some(parsed_method) => {
// Step 3
if !method.is_token() {
@@ -319,7 +319,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> {
// Step 6
let base = self.global.root().r().get_url();
- let parsed_url = match UrlParser::new().base_url(&base).parse(url.as_slice()) {
+ let parsed_url = match UrlParser::new().base_url(&base).parse(&url) {
Ok(parsed) => parsed,
Err(_) => return Err(Syntax) // Step 7
};
@@ -562,14 +562,14 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> {
match cors_request {
Ok(None) => {
let mut buf = String::new();
- buf.push_str(referer_url.scheme.as_slice());
- buf.push_str("://".as_slice());
- referer_url.serialize_host().map(|ref h| buf.push_str(h.as_slice()));
+ buf.push_str(&referer_url.scheme);
+ buf.push_str("://");
+ referer_url.serialize_host().map(|ref h| buf.push_str(h));
referer_url.port().as_ref().map(|&p| {
- buf.push_str(":".as_slice());
- buf.push_str(p.to_string().as_slice());
+ buf.push_str(":");
+ buf.push_str(&p.to_string());
});
- referer_url.serialize_path().map(|ref h| buf.push_str(h.as_slice()));
+ referer_url.serialize_path().map(|ref h| buf.push_str(h));
self.request_headers.borrow_mut().set_raw("Referer".to_owned(), vec![buf.into_bytes()]);
},
Ok(Some(ref req)) => self.insert_trusted_header("origin".to_owned(),
@@ -678,7 +678,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> {
_ if self.ready_state.get() != XMLHttpRequestState::Done => NullValue(),
Json => {
let decoded = UTF_8.decode(self.response.borrow().as_slice(), DecoderTrap::Replace).unwrap().to_owned();
- let decoded: Vec<u16> = decoded.as_slice().utf16_units().collect();
+ let decoded: Vec<u16> = decoded.utf16_units().collect();
let mut vp = UndefinedValue();
unsafe {
if JS_ParseJSON(cx, decoded.as_ptr(), decoded.len() as u32, &mut vp) == 0 {
@@ -1015,7 +1015,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> {
Some(&ContentType(mime::Mime(_, _, ref params))) => {
for &(ref name, ref value) in params.iter() {
if name == &mime::Attr::Charset {
- encoding = encoding_from_whatwg_label(value.to_string().as_slice()).unwrap_or(encoding);
+ encoding = encoding_from_whatwg_label(&value.to_string()).unwrap_or(encoding);
}
}
},
@@ -1127,7 +1127,7 @@ impl Extractable for SendParam {
// https://fetch.spec.whatwg.org/#concept-fetchbodyinit-extract
let encoding = UTF_8 as EncodingRef;
match *self {
- eString(ref s) => encoding.encode(s.as_slice(), EncoderTrap::Replace).unwrap(),
+ eString(ref s) => encoding.encode(s, EncoderTrap::Replace).unwrap(),
eURLSearchParams(ref usp) => usp.root().r().serialize(None) // Default encoding is UTF8
}
}
diff --git a/components/script/parse/html.rs b/components/script/parse/html.rs
index e67624441fe..21a37505b53 100644
--- a/components/script/parse/html.rs
+++ b/components/script/parse/html.rs
@@ -244,7 +244,7 @@ impl<'a> Serializable for JSRef<'a, Node> {
(IncludeNode, NodeTypeId::DocumentType) => {
let doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap();
- serializer.write_doctype(doctype.name().as_slice())
+ serializer.write_doctype(&doctype.name())
},
(IncludeNode, NodeTypeId::Text) => {
@@ -290,7 +290,7 @@ pub fn parse_html(document: JSRef<Document>,
match msg {
ProgressMsg::Payload(data) => {
// FIXME: use Vec<u8> (html5ever #34)
- let data = UTF_8.decode(data.as_slice(), DecoderTrap::Replace).unwrap();
+ let data = UTF_8.decode(&data, DecoderTrap::Replace).unwrap();
parser.parse_chunk(data);
}
ProgressMsg::Done(Err(err)) => {
diff --git a/components/script/textinput.rs b/components/script/textinput.rs
index 33c8ce90665..6b2053af3be 100644
--- a/components/script/textinput.rs
+++ b/components/script/textinput.rs
@@ -291,7 +291,7 @@ impl TextInput {
}
return Selection::NotSelected
}
- match event.Key().as_slice() {
+ match &*event.Key() {
"a" if is_control_key(event) => {
self.select_all();
KeyReaction::Nothing
@@ -304,7 +304,7 @@ impl TextInput {
contents = Some(rx.recv().unwrap());
}
if let Some(contents) = contents {
- self.insert_string(contents.as_slice());
+ self.insert_string(&contents);
}
KeyReaction::DispatchInput
},
diff --git a/components/script/timers.rs b/components/script/timers.rs
index d0cb849b0a8..d54a77c9951 100644
--- a/components/script/timers.rs
+++ b/components/script/timers.rs
@@ -238,7 +238,7 @@ impl TimerManager {
let _ = function.Call_(this, data.args, Report);
}
TimerCallback::StringTimerCallback(code_str) => {
- this.evaluate_js_on_global_with_result(code_str.as_slice());
+ this.evaluate_js_on_global_with_result(&code_str);
}
};
diff --git a/ports/gonk/src/input.rs b/ports/gonk/src/input.rs
index 1ca7fd763f3..54e54b87784 100644
--- a/ports/gonk/src/input.rs
+++ b/ports/gonk/src/input.rs
@@ -139,7 +139,7 @@ fn read_input_device(device_path: &Path,
// XXX: Need to use the real dimensions of the screen
let screen_dist = dist(0, 480, 854, 0);
loop {
- let read = match device.read(buf.as_mut_slice()) {
+ let read = match device.read(&mut buf) {
Ok(count) => {
assert!(count % size_of::<linux_input_event>() == 0,
"Unexpected input device read length!");