diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2015-08-28 01:05:07 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2015-08-30 15:30:01 +0200 |
commit | 51418fc348f683e9a3f96747865a0400e26240fe (patch) | |
tree | 3776b932324c0d5036d645204a9c171c5bc02142 /components/script/dom | |
parent | 105d99084508f72e7ff61a499df5d340e3752f14 (diff) | |
download | servo-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.rs | 12 | ||||
-rw-r--r-- | components/script/dom/htmlformelement.rs | 2 | ||||
-rw-r--r-- | components/script/dom/htmlobjectelement.rs | 5 | ||||
-rw-r--r-- | components/script/dom/htmlscriptelement.rs | 36 |
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) { |