aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/characterdata.rs13
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003a.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003b.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/run-in-basic-017.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/run-in-text-between-003.htm.ini3
5 files changed, 11 insertions, 14 deletions
diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs
index 2983ca1ea51..58f71d40d7c 100644
--- a/components/script/dom/characterdata.rs
+++ b/components/script/dom/characterdata.rs
@@ -15,7 +15,7 @@ use dom::bindings::js::{LayoutJS, Root};
use dom::document::Document;
use dom::element::Element;
use dom::eventtarget::{EventTarget, EventTargetTypeId};
-use dom::node::{Node, NodeTypeId};
+use dom::node::{Node, NodeDamage, NodeTypeId};
use std::borrow::ToOwned;
use std::cell::Ref;
use util::str::DOMString;
@@ -54,6 +54,7 @@ impl CharacterDataMethods for CharacterData {
// https://dom.spec.whatwg.org/#dom-characterdata-data
fn SetData(&self, data: DOMString) {
*self.data.borrow_mut() = data;
+ self.content_changed();
}
// https://dom.spec.whatwg.org/#dom-characterdata-length
@@ -117,6 +118,7 @@ impl CharacterDataMethods for CharacterData {
new_data
};
*self.data.borrow_mut() = new_data;
+ self.content_changed();
// FIXME: Once we have `Range`, we should implement step 8 to step 11
Ok(())
}
@@ -171,7 +173,14 @@ impl CharacterData {
}
#[inline]
pub fn append_data(&self, data: &str) {
- self.data.borrow_mut().push_str(data)
+ self.data.borrow_mut().push_str(data);
+ self.content_changed();
+ }
+
+ fn content_changed(&self) {
+ let node = NodeCast::from_ref(self);
+ let document = node.owner_doc();
+ document.r().content_changed(node, NodeDamage::OtherNodeDamage);
}
}
diff --git a/tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003a.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003a.htm.ini
deleted file mode 100644
index f6c4c8d90d6..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003a.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[first-letter-dynamic-003a.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003b.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003b.htm.ini
deleted file mode 100644
index 95499887574..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/first-letter-dynamic-003b.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[first-letter-dynamic-003b.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/run-in-basic-017.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/run-in-basic-017.htm.ini
deleted file mode 100644
index 9e2f33bfcec..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/run-in-basic-017.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[run-in-basic-017.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/run-in-text-between-003.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/run-in-text-between-003.htm.ini
deleted file mode 100644
index a09ef7bedc0..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/run-in-text-between-003.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[run-in-text-between-003.htm]
- type: reftest
- expected: FAIL