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 ...@@ -156,11 +156,6 @@ RenderObject* FirstLetterPseudoElement::firstLetterTextRenderer(const Element& e
return firstLetterTextRenderer; return firstLetterTextRenderer;
} }
PassRefPtrWillBeRawPtr<FirstLetterPseudoElement> FirstLetterPseudoElement::create(Element* parent)
{
return adoptRefWillBeNoop(new FirstLetterPseudoElement(parent));
}
FirstLetterPseudoElement::FirstLetterPseudoElement(Element* parent) FirstLetterPseudoElement::FirstLetterPseudoElement(Element* parent)
: PseudoElement(parent, FIRST_LETTER) : PseudoElement(parent, FIRST_LETTER)
, m_remainingTextRenderer(nullptr) , m_remainingTextRenderer(nullptr)
...@@ -168,6 +163,16 @@ FirstLetterPseudoElement::FirstLetterPseudoElement(Element* parent) ...@@ -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() void FirstLetterPseudoElement::setNeedsUpdate()
{ {
m_needsUpdate = true; m_needsUpdate = true;
......
...@@ -32,11 +32,18 @@ namespace blink { ...@@ -32,11 +32,18 @@ namespace blink {
class Element; class Element;
class RenderObject; class RenderObject;
class RenderTextFragment;
class FirstLetterPseudoElement final : public PseudoElement { class FirstLetterPseudoElement final : public PseudoElement {
WTF_MAKE_NONCOPYABLE(FirstLetterPseudoElement); WTF_MAKE_NONCOPYABLE(FirstLetterPseudoElement);
public: 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 RenderObject* firstLetterTextRenderer(const Element&);
static unsigned firstLetterLength(const String&); static unsigned firstLetterLength(const String&);
...@@ -51,14 +58,14 @@ public: ...@@ -51,14 +58,14 @@ public:
virtual void detach(const AttachContext& = AttachContext()) override; virtual void detach(const AttachContext& = AttachContext()) override;
private: private:
FirstLetterPseudoElement(Element*); explicit FirstLetterPseudoElement(Element*);
virtual void didRecalcStyle(StyleRecalcChange) override; virtual void didRecalcStyle(StyleRecalcChange) override;
void attachFirstLetterTextRenderers(); void attachFirstLetterTextRenderers();
RenderStyle* styleForFirstLetter(RenderObject*); RenderStyle* styleForFirstLetter(RenderObject*);
RenderTextFragment* m_remainingTextRenderer; RawPtrWillBeMember<RenderTextFragment> m_remainingTextRenderer;
bool m_needsUpdate; bool m_needsUpdate;
}; };
......
...@@ -32,8 +32,6 @@ ...@@ -32,8 +32,6 @@
namespace blink { namespace blink {
class RenderTextFragment;
class PseudoElement : public Element { class PseudoElement : public Element {
public: public:
static PassRefPtrWillBeRawPtr<PseudoElement> create(Element* parent, PseudoId); static PassRefPtrWillBeRawPtr<PseudoElement> create(Element* parent, PseudoId);
......
...@@ -53,9 +53,11 @@ RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str) ...@@ -53,9 +53,11 @@ RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str)
RenderTextFragment::~RenderTextFragment() RenderTextFragment::~RenderTextFragment()
{ {
#if !ENABLE(OILPAN)
if (m_isRemainingTextRenderer && m_firstLetterPseudoElement) if (m_isRemainingTextRenderer && m_firstLetterPseudoElement)
m_firstLetterPseudoElement->setRemainingTextRenderer(nullptr); m_firstLetterPseudoElement->setRemainingTextRenderer(nullptr);
m_firstLetterPseudoElement = nullptr; m_firstLetterPseudoElement = nullptr;
#endif
} }
void RenderTextFragment::trace(Visitor* visitor) 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