Index: Source/core/dom/PseudoElement.cpp |
diff --git a/Source/core/dom/PseudoElement.cpp b/Source/core/dom/PseudoElement.cpp |
index 9e3d981ea39d84921a1f192a096b052e1c2636c4..559b1742fd5bb4e43ba40de4f827900c7eade58f 100644 |
--- a/Source/core/dom/PseudoElement.cpp |
+++ b/Source/core/dom/PseudoElement.cpp |
@@ -27,6 +27,7 @@ |
#include "config.h" |
#include "core/dom/PseudoElement.h" |
+#include "core/dom/FirstLetterPseudoElement.h" |
#include "core/inspector/InspectorInstrumentation.h" |
#include "core/rendering/RenderObject.h" |
#include "core/rendering/RenderQuote.h" |
@@ -34,6 +35,11 @@ |
namespace blink { |
+PassRefPtrWillBeRawPtr<PseudoElement> PseudoElement::create(Element* parent, PseudoId pseudoId) |
+{ |
+ return adoptRefWillBeNoop(new PseudoElement(parent, pseudoId)); |
+} |
+ |
const QualifiedName& pseudoElementTagName(PseudoId pseudoId) |
{ |
switch (pseudoId) { |
@@ -49,6 +55,10 @@ const QualifiedName& pseudoElementTagName(PseudoId pseudoId) |
DEFINE_STATIC_LOCAL(QualifiedName, backdrop, (nullAtom, "<pseudo:backdrop>", nullAtom)); |
return backdrop; |
} |
+ case FIRST_LETTER: { |
+ DEFINE_STATIC_LOCAL(QualifiedName, firstLetter, (nullAtom, "<pseudo:first-letter>", nullAtom)); |
+ return firstLetter; |
+ } |
default: { |
ASSERT_NOT_REACHED(); |
} |
@@ -109,6 +119,7 @@ void PseudoElement::attach(const AttachContext& context) |
RenderObject* renderer = this->renderer(); |
if (!renderer) |
return; |
+ |
RenderStyle* style = renderer->style(); |
if (style->styleType() != BEFORE && style->styleType() != AFTER) |
return; |
@@ -143,10 +154,6 @@ void PseudoElement::didRecalcStyle(StyleRecalcChange) |
if (!child->isText() && !child->isQuote() && !child->isImage()) |
continue; |
- // The style for the RenderTextFragment for first letter is managed by an enclosing block, not by us. |
- if (child->style()->styleType() == FIRST_LETTER) |
- continue; |
- |
child->setPseudoStyle(renderer->style()); |
} |
} |