summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-09-10 04:32:15 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-10 04:32:15 -0700
commit48c3fafefe720cb153f52c69ea70e95c86d28e89 (patch)
tree7b1f5fc7102543d3c6abcf8259159c89954b8835 /WebCore
parent9836c30e301e8c144507e06ef2482d33c89a7d1c (diff)
parenteea2457721313546f0b5ddab3836282e338847b9 (diff)
downloadexternal_webkit-48c3fafefe720cb153f52c69ea70e95c86d28e89.zip
external_webkit-48c3fafefe720cb153f52c69ea70e95c86d28e89.tar.gz
external_webkit-48c3fafefe720cb153f52c69ea70e95c86d28e89.tar.bz2
am eea24577: Cherry-pick security fix in WebKit change 62134
Merge commit 'eea2457721313546f0b5ddab3836282e338847b9' into gingerbread-plus-aosp * commit 'eea2457721313546f0b5ddab3836282e338847b9': Cherry-pick security fix in WebKit change 62134
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/dom/CharacterData.cpp8
-rw-r--r--WebCore/dom/Text.cpp2
2 files changed, 5 insertions, 5 deletions
diff --git a/WebCore/dom/CharacterData.cpp b/WebCore/dom/CharacterData.cpp
index 3c3dc37..cb12184 100644
--- a/WebCore/dom/CharacterData.cpp
+++ b/WebCore/dom/CharacterData.cpp
@@ -46,15 +46,15 @@ void CharacterData::setData(const String& data, ExceptionCode&)
int oldLength = length();
RefPtr<StringImpl> oldStr = m_data;
m_data = dataImpl;
-
+
if ((!renderer() || !rendererIsNeeded(renderer()->style())) && attached()) {
detach();
attach();
} else if (renderer())
- toRenderText(renderer())->setText(m_data);
-
+ toRenderText(renderer())->setTextWithOffset(m_data, 0, oldLength);
+
dispatchModifiedEvent(oldStr.get());
-
+
document()->textRemoved(this, 0, oldLength);
}
diff --git a/WebCore/dom/Text.cpp b/WebCore/dom/Text.cpp
index 1ce074a..229fa88 100644
--- a/WebCore/dom/Text.cpp
+++ b/WebCore/dom/Text.cpp
@@ -77,7 +77,7 @@ PassRefPtr<Text> Text::splitText(unsigned offset, ExceptionCode& ec)
document()->textNodeSplit(this);
if (renderer())
- toRenderText(renderer())->setText(dataImpl());
+ toRenderText(renderer())->setTextWithOffset(dataImpl(), 0, oldStr->length());
return newText.release();
}