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

Side by Side Diff: Source/core/rendering/RenderLineBoxList.cpp

Issue 16896019: Replace RenderArena with PartitionAlloc. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 14 matching lines...) Expand all
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #include "config.h" 29 #include "config.h"
30 #include "core/rendering/RenderLineBoxList.h" 30 #include "core/rendering/RenderLineBoxList.h"
31 31
32 #include "core/rendering/HitTestResult.h" 32 #include "core/rendering/HitTestResult.h"
33 #include "core/rendering/InlineTextBox.h" 33 #include "core/rendering/InlineTextBox.h"
34 #include "core/rendering/PaintInfo.h" 34 #include "core/rendering/PaintInfo.h"
35 #include "core/rendering/RenderArena.h"
36 #include "core/rendering/RenderInline.h" 35 #include "core/rendering/RenderInline.h"
37 #include "core/rendering/RootInlineBox.h" 36 #include "core/rendering/RootInlineBox.h"
38 37
39 using namespace std; 38 using namespace std;
40 39
41 namespace WebCore { 40 namespace WebCore {
42 41
43 #ifndef NDEBUG 42 #ifndef NDEBUG
44 RenderLineBoxList::~RenderLineBoxList() 43 RenderLineBoxList::~RenderLineBoxList()
45 { 44 {
(...skipping 10 matching lines...) Expand all
56 m_firstLineBox = m_lastLineBox = box; 55 m_firstLineBox = m_lastLineBox = box;
57 else { 56 else {
58 m_lastLineBox->setNextLineBox(box); 57 m_lastLineBox->setNextLineBox(box);
59 box->setPreviousLineBox(m_lastLineBox); 58 box->setPreviousLineBox(m_lastLineBox);
60 m_lastLineBox = box; 59 m_lastLineBox = box;
61 } 60 }
62 61
63 checkConsistency(); 62 checkConsistency();
64 } 63 }
65 64
66 void RenderLineBoxList::deleteLineBoxTree(RenderArena* arena) 65 void RenderLineBoxList::deleteLineBoxTree()
67 { 66 {
68 InlineFlowBox* line = m_firstLineBox; 67 InlineFlowBox* line = m_firstLineBox;
69 InlineFlowBox* nextLine; 68 InlineFlowBox* nextLine;
70 while (line) { 69 while (line) {
71 nextLine = line->nextLineBox(); 70 nextLine = line->nextLineBox();
72 line->deleteLine(arena); 71 line->deleteLine();
73 line = nextLine; 72 line = nextLine;
74 } 73 }
75 m_firstLineBox = m_lastLineBox = 0; 74 m_firstLineBox = m_lastLineBox = 0;
76 } 75 }
77 76
78 void RenderLineBoxList::extractLineBox(InlineFlowBox* box) 77 void RenderLineBoxList::extractLineBox(InlineFlowBox* box)
79 { 78 {
80 checkConsistency(); 79 checkConsistency();
81 80
82 m_lastLineBox = box->prevLineBox(); 81 m_lastLineBox = box->prevLineBox();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 if (box == m_lastLineBox) 118 if (box == m_lastLineBox)
120 m_lastLineBox = box->prevLineBox(); 119 m_lastLineBox = box->prevLineBox();
121 if (box->nextLineBox()) 120 if (box->nextLineBox())
122 box->nextLineBox()->setPreviousLineBox(box->prevLineBox()); 121 box->nextLineBox()->setPreviousLineBox(box->prevLineBox());
123 if (box->prevLineBox()) 122 if (box->prevLineBox())
124 box->prevLineBox()->setNextLineBox(box->nextLineBox()); 123 box->prevLineBox()->setNextLineBox(box->nextLineBox());
125 124
126 checkConsistency(); 125 checkConsistency();
127 } 126 }
128 127
129 void RenderLineBoxList::deleteLineBoxes(RenderArena* arena) 128 void RenderLineBoxList::deleteLineBoxes()
130 { 129 {
131 if (m_firstLineBox) { 130 if (m_firstLineBox) {
132 InlineFlowBox* next; 131 InlineFlowBox* next;
133 for (InlineFlowBox* curr = m_firstLineBox; curr; curr = next) { 132 for (InlineFlowBox* curr = m_firstLineBox; curr; curr = next) {
134 next = curr->nextLineBox(); 133 next = curr->nextLineBox();
135 curr->destroy(arena); 134 curr->destroy();
136 } 135 }
137 m_firstLineBox = 0; 136 m_firstLineBox = 0;
138 m_lastLineBox = 0; 137 m_lastLineBox = 0;
139 } 138 }
140 } 139 }
141 140
142 void RenderLineBoxList::dirtyLineBoxes() 141 void RenderLineBoxList::dirtyLineBoxes()
143 { 142 {
144 for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox()) 143 for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox())
145 curr->dirtyLineBoxes(); 144 curr->dirtyLineBoxes();
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 ASSERT(child->prevLineBox() == prev); 370 ASSERT(child->prevLineBox() == prev);
372 prev = child; 371 prev = child;
373 } 372 }
374 ASSERT(prev == m_lastLineBox); 373 ASSERT(prev == m_lastLineBox);
375 #endif 374 #endif
376 } 375 }
377 376
378 #endif 377 #endif
379 378
380 } 379 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698