Index: third_party/WebKit/Source/core/dom/CharacterData.cpp |
diff --git a/third_party/WebKit/Source/core/dom/CharacterData.cpp b/third_party/WebKit/Source/core/dom/CharacterData.cpp |
index a9ab5e34caaa358c846824a725e62aa88bc512f9..28890a0510e1d78ed67dd5923b93e0f21a1db75b 100644 |
--- a/third_party/WebKit/Source/core/dom/CharacterData.cpp |
+++ b/third_party/WebKit/Source/core/dom/CharacterData.cpp |
@@ -46,6 +46,8 @@ void CharacterData::setData(const String& data) |
if (m_data == nonNullData) |
return; |
+ document().dataWillChange(*this); |
+ |
unsigned oldLength = length(); |
setDataAndUpdate(nonNullData, 0, oldLength, nonNullData.length(), UpdateFromNonParser); |
@@ -159,6 +161,9 @@ void CharacterData::setNodeValue(const String& nodeValue) |
void CharacterData::setDataAndUpdate(const String& newData, unsigned offsetOfReplacedData, unsigned oldLength, unsigned newLength, UpdateSource source, RecalcStyleBehavior recalcStyleBehavior) |
{ |
+ if (source != UpdateFromParser) |
+ document().dataWillChange(*this); |
+ |
String oldData = m_data; |
m_data = newData; |