summaryrefslogtreecommitdiffstats
path: root/WebCore/html/HTMLTitleElement.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-04-27 16:31:00 +0100
committerSteve Block <steveblock@google.com>2010-05-11 14:42:12 +0100
commitdcc8cf2e65d1aa555cce12431a16547e66b469ee (patch)
tree92a8d65cd5383bca9749f5327fb5e440563926e6 /WebCore/html/HTMLTitleElement.cpp
parentccac38a6b48843126402088a309597e682f40fe6 (diff)
downloadexternal_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip
external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz
external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'WebCore/html/HTMLTitleElement.cpp')
-rw-r--r--WebCore/html/HTMLTitleElement.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/WebCore/html/HTMLTitleElement.cpp b/WebCore/html/HTMLTitleElement.cpp
index b9a8de7..81ecd10 100644
--- a/WebCore/html/HTMLTitleElement.cpp
+++ b/WebCore/html/HTMLTitleElement.cpp
@@ -84,10 +84,15 @@ void HTMLTitleElement::setText(const String &value)
if (numChildren == 1 && firstChild()->isTextNode())
static_cast<Text*>(firstChild())->setData(value, ec);
else {
+ // We make a copy here because entity of "value" argument can be Document::m_title,
+ // which goes empty during removeChildren() invocation below,
+ // which causes HTMLTitleElement::childrenChanged(), which ends up Document::setTitle().
+ String valueCopy(value);
+
if (numChildren > 0)
removeChildren();
-
- appendChild(document()->createTextNode(value.impl()), ec);
+
+ appendChild(document()->createTextNode(valueCopy.impl()), ec);
}
}