Commit a22b7d9e authored by sigbjornf@opera.com's avatar sigbjornf@opera.com

Oilpan: fix build after r183913.

TBR=oilpan-reviews,haraken
BUG=391288
NOTRY=true

Review URL: https://codereview.chromium.org/659953004

git-svn-id: svn://svn.chromium.org/blink/trunk@183928 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 3441d012
......@@ -156,11 +156,6 @@ RenderObject* FirstLetterPseudoElement::firstLetterTextRenderer(const Element& e
return firstLetterTextRenderer;
}
PassRefPtrWillBeRawPtr<FirstLetterPseudoElement> FirstLetterPseudoElement::create(Element* parent)
{
return adoptRefWillBeNoop(new FirstLetterPseudoElement(parent));
}
FirstLetterPseudoElement::FirstLetterPseudoElement(Element* parent)
: PseudoElement(parent, FIRST_LETTER)
, m_remainingTextRenderer(nullptr)
......@@ -168,6 +163,16 @@ FirstLetterPseudoElement::FirstLetterPseudoElement(Element* parent)
{
}
FirstLetterPseudoElement::~FirstLetterPseudoElement()
{
}
void FirstLetterPseudoElement::trace(Visitor* visitor)
{
visitor->trace(m_remainingTextRenderer);
PseudoElement::trace(visitor);
}
void FirstLetterPseudoElement::setNeedsUpdate()
{
m_needsUpdate = true;
......
......@@ -32,11 +32,18 @@ namespace blink {
class Element;
class RenderObject;
class RenderTextFragment;
class FirstLetterPseudoElement final : public PseudoElement {
WTF_MAKE_NONCOPYABLE(FirstLetterPseudoElement);
WTF_MAKE_NONCOPYABLE(FirstLetterPseudoElement);
public:
static PassRefPtrWillBeRawPtr<FirstLetterPseudoElement> create(Element* parent);
static PassRefPtrWillBeRawPtr<FirstLetterPseudoElement> create(Element* parent)
{
return adoptRefWillBeNoop(new FirstLetterPseudoElement(parent));
}
virtual ~FirstLetterPseudoElement();
virtual void trace(Visitor*) override;
static RenderObject* firstLetterTextRenderer(const Element&);
static unsigned firstLetterLength(const String&);
......@@ -51,14 +58,14 @@ public:
virtual void detach(const AttachContext& = AttachContext()) override;
private:
FirstLetterPseudoElement(Element*);
explicit FirstLetterPseudoElement(Element*);
virtual void didRecalcStyle(StyleRecalcChange) override;
void attachFirstLetterTextRenderers();
RenderStyle* styleForFirstLetter(RenderObject*);
RenderTextFragment* m_remainingTextRenderer;
RawPtrWillBeMember<RenderTextFragment> m_remainingTextRenderer;
bool m_needsUpdate;
};
......
......@@ -32,8 +32,6 @@
namespace blink {
class RenderTextFragment;
class PseudoElement : public Element {
public:
static PassRefPtrWillBeRawPtr<PseudoElement> create(Element* parent, PseudoId);
......
......@@ -53,9 +53,11 @@ RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str)
RenderTextFragment::~RenderTextFragment()
{
#if !ENABLE(OILPAN)
if (m_isRemainingTextRenderer && m_firstLetterPseudoElement)
m_firstLetterPseudoElement->setRemainingTextRenderer(nullptr);
m_firstLetterPseudoElement = nullptr;
#endif
}
void RenderTextFragment::trace(Visitor* visitor)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment