mirror of
https://github.com/servo/servo.git
synced 2025-06-19 22:59:03 +01:00
Prevent ' ' from stripping as whitespace
This commit is contained in:
parent
65191b0d63
commit
327e1e20a9
3 changed files with 7 additions and 5 deletions
|
@ -22,6 +22,7 @@ use servo_util::geometry::Au;
|
||||||
use servo_util::geometry;
|
use servo_util::geometry;
|
||||||
use servo_util::range::*;
|
use servo_util::range::*;
|
||||||
use servo_util::namespace;
|
use servo_util::namespace;
|
||||||
|
use servo_util::str::is_whitespace_not_nbsp;
|
||||||
|
|
||||||
use std::cast;
|
use std::cast;
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
|
@ -1428,7 +1429,7 @@ impl Box {
|
||||||
/// Returns true if this box is an unscanned text box that consists entirely of whitespace.
|
/// Returns true if this box is an unscanned text box that consists entirely of whitespace.
|
||||||
pub fn is_whitespace_only(&self) -> bool {
|
pub fn is_whitespace_only(&self) -> bool {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
UnscannedTextBox(ref text_box_info) => text_box_info.text.is_whitespace(),
|
UnscannedTextBox(ref text_box_info) => is_whitespace_not_nbsp(text_box_info.text),
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,7 @@ use style::ComputedValues;
|
||||||
use servo_util::namespace;
|
use servo_util::namespace;
|
||||||
use servo_util::url::parse_url;
|
use servo_util::url::parse_url;
|
||||||
use servo_util::url::is_image_data;
|
use servo_util::url::is_image_data;
|
||||||
|
use servo_util::str::is_whitespace_not_nbsp;
|
||||||
|
|
||||||
use extra::url::Url;
|
use extra::url::Url;
|
||||||
use extra::arc::Arc;
|
use extra::arc::Arc;
|
||||||
|
@ -724,10 +725,7 @@ impl<'ln> NodeUtils for ThreadSafeLayoutNode<'ln> {
|
||||||
match self.type_id() {
|
match self.type_id() {
|
||||||
TextNodeTypeId => {
|
TextNodeTypeId => {
|
||||||
unsafe {
|
unsafe {
|
||||||
if !self.with_text(|text| text.characterdata
|
if !self.with_text(|text| is_whitespace_not_nbsp(text.characterdata.data)) {
|
||||||
.data
|
|
||||||
.chars()
|
|
||||||
.all(|c| c.is_whitespace())) {
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,3 +19,6 @@ pub fn null_str_as_empty_ref<'a>(s: &'a Option<DOMString>) -> &'a str {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_whitespace_not_nbsp(s: &str) -> bool {
|
||||||
|
s.chars().all(|c| c.is_whitespace() && c != '\xa0')
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue