aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/htmlfontelement.rs4
-rw-r--r--components/style/attr.rs6
-rw-r--r--components/util/str.rs22
3 files changed, 14 insertions, 18 deletions
diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs
index ae274411040..d898a5840b2 100644
--- a/components/script/dom/htmlfontelement.rs
+++ b/components/script/dom/htmlfontelement.rs
@@ -15,7 +15,7 @@ use dom::node::Node;
use dom::virtualmethods::VirtualMethods;
use string_cache::Atom;
use style::values::specified;
-use util::str::{DOMString, WHITESPACE, read_numbers};
+use util::str::{DOMString, HTML_SPACE_CHARACTERS, read_numbers};
#[dom_struct]
pub struct HTMLFontElement {
@@ -124,7 +124,7 @@ pub fn parse_legacy_font_size(mut input: &str) -> Option<&'static str> {
// Steps 1 & 2 are not relevant
// Step 3
- input = input.trim_matches(WHITESPACE);
+ input = input.trim_matches(HTML_SPACE_CHARACTERS);
enum ParseMode {
RelativePlus,
diff --git a/components/style/attr.rs b/components/style/attr.rs
index 67d40750557..43652c3dc8a 100644
--- a/components/style/attr.rs
+++ b/components/style/attr.rs
@@ -11,7 +11,7 @@ use std::ops::Deref;
use std::str::FromStr;
use string_cache::{Atom, Namespace};
use url::Url;
-use util::str::{DOMString, LengthOrPercentageOrAuto, HTML_SPACE_CHARACTERS, WHITESPACE};
+use util::str::{DOMString, LengthOrPercentageOrAuto, HTML_SPACE_CHARACTERS};
use util::str::{read_numbers, split_html_space_chars, str_join};
use values::specified::{Length};
@@ -279,7 +279,7 @@ pub fn parse_legacy_color(mut input: &str) -> Result<RGBA, ()> {
}
// Step 3.
- input = input.trim_matches(WHITESPACE);
+ input = input.trim_matches(HTML_SPACE_CHARACTERS);
// Step 4.
if input.eq_ignore_ascii_case("transparent") {
@@ -407,7 +407,7 @@ pub fn parse_length(mut value: &str) -> LengthOrPercentageOrAuto {
// Steps 1 & 2 are not relevant
// Step 3
- value = value.trim_left_matches(WHITESPACE);
+ value = value.trim_left_matches(HTML_SPACE_CHARACTERS);
// Step 4
if value.is_empty() {
diff --git a/components/util/str.rs b/components/util/str.rs
index e7aa933cecf..b0a3d6c2c9e 100644
--- a/components/util/str.rs
+++ b/components/util/str.rs
@@ -124,19 +124,6 @@ impl Extend<char> for DOMString {
pub type StaticCharVec = &'static [char];
pub type StaticStringVec = &'static [&'static str];
-/// Whitespace as defined by HTML5 § 2.4.1.
-// TODO(SimonSapin) Maybe a custom Pattern can be more efficient?
-pub const WHITESPACE: &'static [char] = &[' ', '\t', '\x0a', '\x0c', '\x0d'];
-
-pub fn is_whitespace(s: &str) -> bool {
- s.chars().all(char_is_whitespace)
-}
-
-#[inline]
-pub fn char_is_whitespace(c: char) -> bool {
- WHITESPACE.contains(&c)
-}
-
/// A "space character" according to:
///
/// https://html.spec.whatwg.org/multipage/#space-character
@@ -148,6 +135,15 @@ pub static HTML_SPACE_CHARACTERS: StaticCharVec = &[
'\u{000d}',
];
+#[inline]
+pub fn char_is_whitespace(c: char) -> bool {
+ HTML_SPACE_CHARACTERS.contains(&c)
+}
+
+pub fn is_whitespace(s: &str) -> bool {
+ s.chars().all(char_is_whitespace)
+}
+
pub fn split_html_space_chars<'a>(s: &'a str) ->
Filter<Split<'a, StaticCharVec>, fn(&&str) -> bool> {
fn not_empty(&split: &&str) -> bool { !split.is_empty() }