| Index: Source/core/dom/Text.cpp
|
| diff --git a/Source/core/dom/Text.cpp b/Source/core/dom/Text.cpp
|
| index 2426009c6edb92702b679096b4140bc7abb6aa20..63211b8c42749958bac027082893064c5baa02d7 100644
|
| --- a/Source/core/dom/Text.cpp
|
| +++ b/Source/core/dom/Text.cpp
|
| @@ -239,6 +239,9 @@ PassRefPtrWillBeRawPtr<Node> Text::cloneNode(bool /*deep*/)
|
|
|
| bool Text::textRendererIsNeeded(const RenderStyle& style, const RenderObject& parent)
|
| {
|
| + if (!parent.canHaveChildren())
|
| + return false;
|
| +
|
| if (isEditingText())
|
| return true;
|
|
|
| @@ -304,7 +307,12 @@ RenderText* Text::createTextRenderer(RenderStyle* style)
|
|
|
| void Text::attach(const AttachContext& context)
|
| {
|
| - RenderTreeBuilder(this, context.resolvedStyle).createRendererForTextIfNeeded();
|
| + if (ContainerNode* renderingParent = NodeRenderingTraversal::parent(this)) {
|
| + if (RenderObject* parentRenderer = renderingParent->renderer()) {
|
| + if (textRendererIsNeeded(*parentRenderer->style(), *parentRenderer))
|
| + RenderTreeBuilderForText(this, parentRenderer).createRenderer();
|
| + }
|
| + }
|
| CharacterData::attach(context);
|
| }
|
|
|
|
|