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

Unified Diff: Source/core/rendering/RenderBlockLineLayout.cpp

Issue 20231002: Replace RenderArena with PartitionAlloc (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 7 years, 5 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/RenderBox.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderBlockLineLayout.cpp
diff --git a/Source/core/rendering/RenderBlockLineLayout.cpp b/Source/core/rendering/RenderBlockLineLayout.cpp
index 4d9d6ec67f46868d8ead9513096ecd35230bce04..7792ac9a0fb2cb554b6d78c1a93fbe575b3c5af0 100644
--- a/Source/core/rendering/RenderBlockLineLayout.cpp
+++ b/Source/core/rendering/RenderBlockLineLayout.cpp
@@ -427,7 +427,7 @@ static inline void ensureCharacterGetsLineBox(LineMidpointState& lineMidpointSta
static inline BidiRun* createRun(int start, int end, RenderObject* obj, InlineBidiResolver& resolver)
{
- return new (obj->renderArena()) BidiRun(start, end, obj, resolver.context(), resolver.dir());
+ return new BidiRun(start, end, obj, resolver.context(), resolver.dir());
}
void RenderBlock::appendRunsForObject(BidiRunList<BidiRun>& runs, int start, int end, RenderObject* obj, InlineBidiResolver& resolver)
@@ -1203,7 +1203,7 @@ inline BidiRun* RenderBlock::handleTrailingSpaces(BidiRunList<BidiRun>& bidiRuns
while (BidiContext* parent = baseContext->parent())
baseContext = parent;
- BidiRun* newTrailingRun = new (renderArena()) BidiRun(firstSpace, trailingSpaceRun->m_stop, trailingSpaceRun->m_object, baseContext, OtherNeutral);
+ BidiRun* newTrailingRun = new BidiRun(firstSpace, trailingSpaceRun->m_stop, trailingSpaceRun->m_object, baseContext, OtherNeutral);
trailingSpaceRun->m_stop = firstSpace;
if (direction == LTR)
bidiRuns.addRun(newTrailingRun);
@@ -1481,15 +1481,15 @@ private:
RenderFlowThread* m_flowThread;
};
-static void deleteLineRange(LineLayoutState& layoutState, RenderArena* arena, RootInlineBox* startLine, RootInlineBox* stopLine = 0)
+static void deleteLineRange(LineLayoutState& layoutState, RootInlineBox* startLine, RootInlineBox* stopLine = 0)
{
RootInlineBox* boxToDelete = startLine;
while (boxToDelete && boxToDelete != stopLine) {
layoutState.updateRepaintRangeFromBox(boxToDelete);
- // Note: deleteLineRange(renderArena(), firstRootBox()) is not identical to deleteLineBoxTree().
+ // Note: deleteLineRange(firstRootBox()) is not identical to deleteLineBoxTree().
// deleteLineBoxTree uses nextLineBox() instead of nextRootBox() when traversing.
RootInlineBox* next = boxToDelete->nextRootBox();
- boxToDelete->deleteLine(arena);
+ boxToDelete->deleteLine();
boxToDelete = next;
}
}
@@ -1534,7 +1534,7 @@ void RenderBlock::layoutRunsAndFloats(LineLayoutState& layoutState, bool hasInli
if (startLine) {
if (!layoutState.usesRepaintBounds())
layoutState.setRepaintRange(logicalHeight());
- deleteLineRange(layoutState, renderArena(), startLine);
+ deleteLineRange(layoutState, startLine);
}
if (!layoutState.isFullLayout() && lastRootBox() && lastRootBox()->endsWithBreak()) {
@@ -1847,7 +1847,7 @@ void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, Inlin
if (availableLogicalWidthForLine(oldLogicalHeight + adjustment, layoutState.lineInfo().isFirstLine()) != oldLineWidth) {
// We have to delete this line, remove all floats that got added, and let line layout re-run.
- lineBox->deleteLine(renderArena());
+ lineBox->deleteLine();
end = restartLayoutRunsAndFloatsInRange(oldLogicalHeight, oldLogicalHeight + adjustment, lastFloatFromPreviousLine, resolver, oldEnd);
continue;
}
@@ -1987,7 +1987,7 @@ void RenderBlock::linkToEndLineIfNeeded(LineLayoutState& layoutState)
setLogicalHeight(lastRootBox()->lineBottomWithLeading());
} else {
// Delete all the remaining lines.
- deleteLineRange(layoutState, renderArena(), layoutState.endLine());
+ deleteLineRange(layoutState, layoutState.endLine());
}
}
@@ -1998,7 +1998,7 @@ void RenderBlock::linkToEndLineIfNeeded(LineLayoutState& layoutState)
if (layoutState.checkForFloatsFromLastLine()) {
LayoutUnit bottomVisualOverflow = lastRootBox()->logicalBottomVisualOverflow();
LayoutUnit bottomLayoutOverflow = lastRootBox()->logicalBottomLayoutOverflow();
- TrailingFloatsRootInlineBox* trailingFloatsLineBox = new (renderArena()) TrailingFloatsRootInlineBox(this);
+ TrailingFloatsRootInlineBox* trailingFloatsLineBox = new TrailingFloatsRootInlineBox(this);
m_lineBoxes.appendLineBox(trailingFloatsLineBox);
trailingFloatsLineBox->setConstructed();
GlyphOverflowAndFallbackFontsMap textBoxDataMap;
@@ -2061,7 +2061,7 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, LayoutUnit& repain
LineLayoutState layoutState(isFullLayout, repaintLogicalTop, repaintLogicalBottom, flowThread);
if (isFullLayout)
- lineBoxes()->deleteLineBoxes(renderArena());
+ lineBoxes()->deleteLineBoxes();
// Text truncation kicks in in two cases:
// 1) If your overflow isn't visible and your text-overflow-mode isn't clip.
@@ -2229,12 +2229,11 @@ RootInlineBox* RenderBlock::determineStartPosition(LineLayoutState& layoutState,
if (layoutState.isFullLayout()) {
// FIXME: This should just call deleteLineBoxTree, but that causes
// crashes for fast/repaint tests.
- RenderArena* arena = renderArena();
curr = firstRootBox();
while (curr) {
// Note: This uses nextRootBox() insted of nextLineBox() like deleteLineBoxTree does.
RootInlineBox* next = curr->nextRootBox();
- curr->deleteLine(arena);
+ curr->deleteLine();
curr = next;
}
ASSERT(!firstLineBox() && !lastLineBox());
@@ -2413,7 +2412,7 @@ bool RenderBlock::matchedEndLine(LineLayoutState& layoutState, const InlineBidiR
}
// Now delete the lines that we failed to sync.
- deleteLineRange(layoutState, renderArena(), originalEndLine, result);
+ deleteLineRange(layoutState, originalEndLine, result);
return matched;
}
}
@@ -3552,7 +3551,7 @@ void RenderBlock::layoutLineGridBox()
setLineGridBox(0);
- RootInlineBox* lineGridBox = new (renderArena()) RootInlineBox(this);
+ RootInlineBox* lineGridBox = new RootInlineBox(this);
lineGridBox->setHasTextChildren(); // Needed to make the line ascent/descent actually be honored in quirks mode.
lineGridBox->setConstructed();
GlyphOverflowAndFallbackFontsMap textBoxDataMap;
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698