aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2015-08-28 01:05:07 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2015-08-30 15:30:01 +0200
commit51418fc348f683e9a3f96747865a0400e26240fe (patch)
tree3776b932324c0d5036d645204a9c171c5bc02142 /components/script/dom
parent105d99084508f72e7ff61a499df5d340e3752f14 (diff)
downloadservo-51418fc348f683e9a3f96747865a0400e26240fe.tar.gz
servo-51418fc348f683e9a3f96747865a0400e26240fe.zip
Replace many uses of Attr::Value() by Attr::value()
The later only borrows the attribute, without copying its value as a string.
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/element.rs12
-rw-r--r--components/script/dom/htmlformelement.rs2
-rw-r--r--components/script/dom/htmlobjectelement.rs5
-rw-r--r--components/script/dom/htmlscriptelement.rs36
4 files changed, 29 insertions, 26 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 56312fb6cf3..c2b8e8898c7 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -1581,11 +1581,11 @@ impl VirtualMethods for Element {
if !tree_in_doc { return; }
if let Some(ref attr) = self.get_attribute(&ns!(""), &atom!("id")) {
- let doc = document_from_node(self);
- let value = attr.r().Value();
+ let value = attr.value();
if !value.is_empty() {
+ let doc = document_from_node(self);
let value = Atom::from_slice(&value);
- doc.r().register_named_element(self, value);
+ doc.register_named_element(self, value.to_owned());
}
}
}
@@ -1598,11 +1598,11 @@ impl VirtualMethods for Element {
if !tree_in_doc { return; }
if let Some(ref attr) = self.get_attribute(&ns!(""), &atom!("id")) {
- let doc = document_from_node(self);
- let value = attr.r().Value();
+ let value = attr.value();
if !value.is_empty() {
+ let doc = document_from_node(self);
let value = Atom::from_slice(&value);
- doc.r().unregister_named_element(self, value);
+ doc.unregister_named_element(self, value.to_owned());
}
}
}
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index 11613d866b2..bc42d5fa64f 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -314,7 +314,7 @@ impl HTMLFormElement {
_ => Some(FormDatum {
ty: ty,
name: name,
- value: input.Value()
+ value: value
})
}
}
diff --git a/components/script/dom/htmlobjectelement.rs b/components/script/dom/htmlobjectelement.rs
index 5f0520fd763..884087c298d 100644
--- a/components/script/dom/htmlobjectelement.rs
+++ b/components/script/dom/htmlobjectelement.rs
@@ -4,7 +4,6 @@
use dom::attr::Attr;
use dom::bindings::cell::DOMRefCell;
-use dom::bindings::codegen::Bindings::AttrBinding::AttrMethods;
use dom::bindings::codegen::Bindings::HTMLObjectElementBinding;
use dom::bindings::codegen::Bindings::HTMLObjectElementBinding::HTMLObjectElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLObjectElementDerived;
@@ -67,8 +66,8 @@ impl<'a> ProcessDataURL for &'a HTMLObjectElement {
let elem = ElementCast::from_ref(*self);
// TODO: support other values
- match (elem.get_attribute(&ns!(""), &atom!("type")).map(|x| x.r().Value()),
- elem.get_attribute(&ns!(""), &atom!("data")).map(|x| x.r().Value())) {
+ match (elem.get_attribute(&ns!(""), &atom!("type")),
+ elem.get_attribute(&ns!(""), &atom!("data"))) {
(None, Some(_uri)) => {
// TODO(gw): Prefetch the image here.
}
diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs
index 84ea5c7d3b4..4bde701ac0b 100644
--- a/components/script/dom/htmlscriptelement.rs
+++ b/components/script/dom/htmlscriptelement.rs
@@ -236,14 +236,13 @@ impl HTMLScriptElement {
let event_attribute = element.get_attribute(&ns!(""), &Atom::from_slice("event"));
match (for_attribute.r(), event_attribute.r()) {
(Some(for_attribute), Some(event_attribute)) => {
- let for_value = for_attribute.Value()
- .to_ascii_lowercase();
+ let for_value = for_attribute.value().to_ascii_lowercase();
let for_value = for_value.trim_matches(HTML_SPACE_CHARACTERS);
if for_value != "window" {
return NextParserState::Continue;
}
- let event_value = event_attribute.Value().to_ascii_lowercase();
+ let event_value = event_attribute.value().to_ascii_lowercase();
let event_value = event_value.trim_matches(HTML_SPACE_CHARACTERS);
if event_value != "onload" && event_value != "onload()" {
return NextParserState::Continue;
@@ -268,7 +267,7 @@ impl HTMLScriptElement {
// Step 14.
Some(ref src) => {
// Step 14.1
- let src = src.r().Value();
+ let src = src.value();
// Step 14.2
if src.is_empty() {
@@ -277,10 +276,10 @@ impl HTMLScriptElement {
}
// Step 14.3
- match UrlParser::new().base_url(&base_url).parse(&*src) {
+ match UrlParser::new().base_url(&base_url).parse(&src) {
Err(_) => {
// Step 14.4
- error!("error parsing URL for script {}", src);
+ error!("error parsing URL for script {}", &**src);
self.queue_error_event();
return NextParserState::Continue;
}
@@ -469,27 +468,28 @@ impl HTMLScriptElement {
pub fn is_javascript(&self) -> bool {
let element = ElementCast::from_ref(self);
- match element.get_attribute(&ns!(""), &atom!("type")).map(|s| s.r().Value()) {
+ let type_attr = element.get_attribute(&ns!(""), &atom!("type"));
+ let is_js = match type_attr.as_ref().map(|s| s.value()) {
Some(ref s) if s.is_empty() => {
// type attr exists, but empty means js
debug!("script type empty, inferring js");
true
},
- Some(ref s) => {
- debug!("script type={}", *s);
+ Some(s) => {
+ debug!("script type={}", &**s);
SCRIPT_JS_MIMES.contains(&s.to_ascii_lowercase().trim_matches(HTML_SPACE_CHARACTERS))
},
None => {
debug!("no script type");
- match element.get_attribute(&ns!(""), &atom!("language"))
- .map(|s| s.r().Value()) {
+ let language_attr = element.get_attribute(&ns!(""), &atom!("language"));
+ let is_js = match language_attr.as_ref().map(|s| s.value()) {
Some(ref s) if s.is_empty() => {
debug!("script language empty, inferring js");
true
},
- Some(ref s) => {
- debug!("script language={}", *s);
- let mut language = format!("text/{}", s);
+ Some(s) => {
+ debug!("script language={}", &**s);
+ let mut language = format!("text/{}", &**s);
language.make_ascii_lowercase();
SCRIPT_JS_MIMES.contains(&&*language)
},
@@ -497,9 +497,13 @@ impl HTMLScriptElement {
debug!("no script type or language, inferring js");
true
}
- }
+ };
+ // https://github.com/rust-lang/rust/issues/21114
+ is_js
}
- }
+ };
+ // https://github.com/rust-lang/rust/issues/21114
+ is_js
}
pub fn mark_already_started(&self) {