summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/Text.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/dom/Text.cpp')
-rw-r--r--WebCore/dom/Text.cpp36
1 files changed, 13 insertions, 23 deletions
diff --git a/WebCore/dom/Text.cpp b/WebCore/dom/Text.cpp
index 04e499a..bbd926b 100644
--- a/WebCore/dom/Text.cpp
+++ b/WebCore/dom/Text.cpp
@@ -260,6 +260,19 @@ RenderObject *Text::createRenderer(RenderArena* arena, RenderStyle*)
void Text::attach()
{
+#if ENABLE(WML)
+ if (document()->isWMLDocument() && !containsOnlyWhitespace()) {
+ String text = m_data;
+ ASSERT(!text.isEmpty());
+
+ text = substituteVariableReferences(text, document());
+
+ ExceptionCode code = 0;
+ setData(text, code);
+ ASSERT(!code);
+ }
+#endif
+
createRendererIfNeeded();
CharacterData::attach();
}
@@ -319,29 +332,6 @@ PassRefPtr<Text> Text::createWithLengthLimit(Document* doc, const String& text,
return new Text(doc, nodeText);
}
-#if ENABLE(WML)
-void Text::insertedIntoDocument()
-{
- CharacterData::insertedIntoDocument();
-
- if (!parentNode()->isWMLElement() || !length())
- return;
-
- WMLPageState* pageState = wmlPageStateForDocument(document());
- if (!pageState->hasVariables())
- return;
-
- String text = data();
- if (!text.impl() || text.impl()->containsOnlyWhitespace())
- return;
-
- text = substituteVariableReferences(text, document());
-
- ExceptionCode ec;
- setData(text, ec);
-}
-#endif
-
#ifndef NDEBUG
void Text::formatForDebugger(char *buffer, unsigned length) const
{