| Index: Source/core/dom/PseudoElement.h
|
| diff --git a/Source/core/dom/PseudoElement.h b/Source/core/dom/PseudoElement.h
|
| index db6671fa6fd5cd9b3088f8f2cead7ebca09c9ec1..14c7cf9a2d06ca4e63d0017d5f07a0a2f7ebb09a 100644
|
| --- a/Source/core/dom/PseudoElement.h
|
| +++ b/Source/core/dom/PseudoElement.h
|
| @@ -32,12 +32,9 @@
|
|
|
| namespace blink {
|
|
|
| -class PseudoElement final : public Element {
|
| +class PseudoElement : public Element {
|
| public:
|
| - static PassRefPtrWillBeRawPtr<PseudoElement> create(Element* parent, PseudoId pseudoId)
|
| - {
|
| - return adoptRefWillBeNoop(new PseudoElement(parent, pseudoId));
|
| - }
|
| + static PassRefPtrWillBeRawPtr<PseudoElement> create(Element* parent, PseudoId);
|
|
|
| virtual PassRefPtr<RenderStyle> customStyleForRenderer() override;
|
| virtual void attach(const AttachContext& = AttachContext()) override;
|
| @@ -49,11 +46,12 @@ public:
|
|
|
| static String pseudoElementNameForEvents(PseudoId);
|
|
|
| - void dispose();
|
| + virtual void dispose();
|
|
|
| -private:
|
| +protected:
|
| PseudoElement(Element*, PseudoId);
|
|
|
| +private:
|
| virtual void didRecalcStyle(StyleRecalcChange) override;
|
|
|
| PseudoId m_pseudoId;
|
| @@ -63,7 +61,13 @@ 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 || style->styleType() == BACKDROP)
|
| + return true;
|
| + return style->contentData();
|
| }
|
|
|
| DEFINE_ELEMENT_TYPE_CASTS(PseudoElement, isPseudoElement());
|
|
|