aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlelement.rs
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2017-10-11 20:21:07 +0200
committerSimon Sapin <simon.sapin@exyr.org>2017-10-11 20:21:07 +0200
commit4ee8f56b9cdb3c47e598eb27e94f07350fb58c5d (patch)
tree9431c5d5c329c697ae9a07cbd3d5081a47a005bc /components/script/dom/htmlelement.rs
parentcbcc7d080211a5706937d991145fea0c76a0f248 (diff)
downloadservo-4ee8f56b9cdb3c47e598eb27e94f07350fb58c5d.tar.gz
servo-4ee8f56b9cdb3c47e598eb27e94f07350fb58c5d.zip
Remove usage of unstable feature ascii_ctypes
Diffstat (limited to 'components/script/dom/htmlelement.rs')
-rw-r--r--components/script/dom/htmlelement.rs14
1 files changed, 11 insertions, 3 deletions
diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs
index 9f671e2d10c..87d362dfab8 100644
--- a/components/script/dom/htmlelement.rs
+++ b/components/script/dom/htmlelement.rs
@@ -375,11 +375,19 @@ impl HTMLElementMethods for HTMLElement {
static DATA_PREFIX: &str = "data-";
static DATA_HYPHEN_SEPARATOR: char = '\x2d';
+fn is_ascii_uppercase(c: char) -> bool {
+ 'A' <= c && c <= 'Z'
+}
+
+fn is_ascii_lowercase(c: char) -> bool {
+ 'a' <= c && c <= 'w'
+}
+
fn to_snake_case(name: DOMString) -> DOMString {
let mut attr_name = String::with_capacity(name.len() + DATA_PREFIX.len());
attr_name.push_str(DATA_PREFIX);
for ch in name.chars() {
- if ch.is_ascii_uppercase() {
+ if is_ascii_uppercase(ch) {
attr_name.push(DATA_HYPHEN_SEPARATOR);
attr_name.push(ch.to_ascii_lowercase());
} else {
@@ -400,7 +408,7 @@ fn to_camel_case(name: &str) -> Option<DOMString> {
return None;
}
let name = &name[5..];
- let has_uppercase = name.chars().any(|curr_char| curr_char.is_ascii_uppercase());
+ let has_uppercase = name.chars().any(|curr_char| is_ascii_uppercase(curr_char));
if has_uppercase {
return None;
}
@@ -410,7 +418,7 @@ fn to_camel_case(name: &str) -> Option<DOMString> {
//check for hyphen followed by character
if curr_char == DATA_HYPHEN_SEPARATOR {
if let Some(next_char) = name_chars.next() {
- if next_char.is_ascii_lowercase() {
+ if is_ascii_lowercase(next_char) {
result.push(next_char.to_ascii_uppercase());
} else {
result.push(curr_char);