Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(734)

Unified Diff: Source/core/rendering/RenderBlockFlow.h

Issue 423093002: Oilpan: Prepare to move RenderObject and RenderObjectChildList to Oilpan heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: dispose -> destroy Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderBlockFlow.h
diff --git a/Source/core/rendering/RenderBlockFlow.h b/Source/core/rendering/RenderBlockFlow.h
index 0561c6b5985b1af24446aab13effc6a0fd780753..27be3aec49ae955e4bc9d97fbd60b074d0aa3552 100644
--- a/Source/core/rendering/RenderBlockFlow.h
+++ b/Source/core/rendering/RenderBlockFlow.h
@@ -52,6 +52,7 @@ class RenderBlockFlow : public RenderBlock {
public:
explicit RenderBlockFlow(ContainerNode*);
virtual ~RenderBlockFlow();
+ virtual void trace(Visitor*) OVERRIDE;
static RenderBlockFlow* createAnonymous(Document*);
@@ -167,11 +168,11 @@ public:
return obj->isFloating() || (obj->isOutOfFlowPositioned() && !obj->style()->isOriginalDisplayInlineType() && !obj->container()->isRenderInline());
}
- RenderMultiColumnFlowThread* multiColumnFlowThread() const { return m_rareData ? m_rareData->m_multiColumnFlowThread : 0; }
+ RenderMultiColumnFlowThread* multiColumnFlowThread() const { return m_rareData ? m_rareData->m_multiColumnFlowThread.get() : 0; }
void resetMultiColumnFlowThread()
{
if (m_rareData)
- m_rareData->m_multiColumnFlowThread = 0;
+ m_rareData->m_multiColumnFlowThread = nullptr;
}
void addOverflowFromInlineChildren();
@@ -350,19 +351,20 @@ public:
MarginValues marginValuesForChild(RenderBox* child) const;
// Allocated only when some of these fields have non-default values
- struct RenderBlockFlowRareData {
- WTF_MAKE_NONCOPYABLE(RenderBlockFlowRareData); WTF_MAKE_FAST_ALLOCATED;
+ struct RenderBlockFlowRareData : public NoBaseWillBeGarbageCollected<RenderBlockFlowRareData> {
+ WTF_MAKE_NONCOPYABLE(RenderBlockFlowRareData); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
RenderBlockFlowRareData(const RenderBlockFlow* block)
: m_margins(positiveMarginBeforeDefault(block), negativeMarginBeforeDefault(block), positiveMarginAfterDefault(block), negativeMarginAfterDefault(block))
, m_paginationStrut(0)
- , m_multiColumnFlowThread(0)
+ , m_multiColumnFlowThread(nullptr)
, m_lineBreakToAvoidWidow(-1)
, m_didBreakAtLineToAvoidWidow(false)
, m_discardMarginBefore(false)
, m_discardMarginAfter(false)
{
}
+ void trace(Visitor*);
static LayoutUnit positiveMarginBeforeDefault(const RenderBlockFlow* block)
{
@@ -384,7 +386,7 @@ public:
MarginValues m_margins;
LayoutUnit m_paginationStrut;
- RenderMultiColumnFlowThread* m_multiColumnFlowThread;
+ RawPtrWillBeMember<RenderMultiColumnFlowThread> m_multiColumnFlowThread;
int m_lineBreakToAvoidWidow;
bool m_didBreakAtLineToAvoidWidow : 1;
@@ -452,8 +454,9 @@ private:
LayoutUnit m_repaintLogicalBottom;
virtual bool isSelfCollapsingBlock() const OVERRIDE;
+
protected:
- OwnPtr<RenderBlockFlowRareData> m_rareData;
+ OwnPtrWillBeMember<RenderBlockFlowRareData> m_rareData;
OwnPtr<FloatingObjects> m_floatingObjects;
friend class BreakingContext; // FIXME: It uses insertFloatingObject and positionNewFloatOnLine, if we move those out from the private scope/add a helper to LineBreaker, we can remove this friend
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698