Index: Source/core/dom/PseudoElement.h |
diff --git a/Source/core/dom/PseudoElement.h b/Source/core/dom/PseudoElement.h |
index 25761531be3d1da66b308d000187aaa62bfb1690..965ac48745408b45185b16a919262a537e83e51c 100644 |
--- a/Source/core/dom/PseudoElement.h |
+++ b/Source/core/dom/PseudoElement.h |
@@ -32,6 +32,8 @@ |
namespace blink { |
+class RenderTextFragment; |
+ |
class PseudoElement FINAL : public Element { |
public: |
static PassRefPtrWillBeRawPtr<PseudoElement> create(Element* parent, PseudoId pseudoId) |
@@ -51,19 +53,35 @@ public: |
void dispose(); |
+ void setRemainingTextRenderer(RenderTextFragment* fragment) { m_remainingTextRenderer = fragment; } |
+ RenderTextFragment* remainingTextRenderer() const { return m_remainingTextRenderer; } |
+ |
private: |
PseudoElement(Element*, PseudoId); |
+ void attachFirstLetterTextRenderers(); |
+ RenderStyle* styleForFirstLetter(RenderObject*); |
virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE; |
PseudoId m_pseudoId; |
+ RenderTextFragment* m_remainingTextRenderer; |
Julien - ping for review
2014/10/01 21:14:47
This screams adding a specialized class and so is
dsinclair
2014/10/04 02:01:34
Done.
|
}; |
const QualifiedName& pseudoElementTagName(); |
inline bool pseudoElementRendererIsNeeded(const RenderStyle* style) |
{ |
- return style && style->display() != NONE && (style->styleType() == BACKDROP || style->contentData()); |
+ if (!style) |
+ return false; |
+ if (style->display() == NONE) |
+ return false; |
+ if (style->styleType() == FIRST_LETTER) |
+ return true; |
+ if (style->styleType() == BACKDROP) |
+ return true; |
+ if (style->contentData()) |
+ return true; |
+ return false; |
} |
DEFINE_ELEMENT_TYPE_CASTS(PseudoElement, isPseudoElement()); |