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

Side by Side Diff: Source/core/rendering/RenderView.h

Issue 20231002: Replace RenderArena with PartitionAlloc (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderText.cpp ('k') | Source/core/rendering/RenderView.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2006 Apple Computer, Inc. 3 * Copyright (C) 2006 Apple Computer, Inc.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 // These functions may only be accessed by LayoutStateMaintainer. 219 // These functions may only be accessed by LayoutStateMaintainer.
220 bool pushLayoutState(RenderBox* renderer, const LayoutSize& offset, LayoutUn it pageHeight = 0, bool pageHeightChanged = false, ColumnInfo* colInfo = 0) 220 bool pushLayoutState(RenderBox* renderer, const LayoutSize& offset, LayoutUn it pageHeight = 0, bool pageHeightChanged = false, ColumnInfo* colInfo = 0)
221 { 221 {
222 // We push LayoutState even if layoutState is disabled because it stores layoutDelta too. 222 // We push LayoutState even if layoutState is disabled because it stores layoutDelta too.
223 if (!doingFullRepaint() || m_layoutState->isPaginated() || renderer->has Columns() || renderer->flowThreadContainingBlock() 223 if (!doingFullRepaint() || m_layoutState->isPaginated() || renderer->has Columns() || renderer->flowThreadContainingBlock()
224 || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != Re nderStyle::initialLineGrid() && renderer->isBlockFlow()) 224 || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != Re nderStyle::initialLineGrid() && renderer->isBlockFlow())
225 || (renderer->isRenderBlock() && toRenderBlock(renderer)->shapeInsid eInfo()) 225 || (renderer->isRenderBlock() && toRenderBlock(renderer)->shapeInsid eInfo())
226 || (m_layoutState->shapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsShapeInsideInfoSharing()) 226 || (m_layoutState->shapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsShapeInsideInfoSharing())
227 ) { 227 ) {
228 m_layoutState = new (renderArena()) LayoutState(m_layoutState, rende rer, offset, pageHeight, pageHeightChanged, colInfo); 228 m_layoutState = new LayoutState(m_layoutState, renderer, offset, pag eHeight, pageHeightChanged, colInfo);
229 return true; 229 return true;
230 } 230 }
231 return false; 231 return false;
232 } 232 }
233 233
234 void popLayoutState() 234 void popLayoutState()
235 { 235 {
236 LayoutState* state = m_layoutState; 236 LayoutState* state = m_layoutState;
237 m_layoutState = state->m_next; 237 m_layoutState = state->m_next;
238 state->destroy(renderArena()); 238 delete state;
239 } 239 }
240 240
241 // Suspends the LayoutState optimization. Used under transforms that cannot be represented by 241 // Suspends the LayoutState optimization. Used under transforms that cannot be represented by
242 // LayoutState (common in SVG) and when manipulating the render tree during layout in ways 242 // LayoutState (common in SVG) and when manipulating the render tree during layout in ways
243 // that can trigger repaint of a non-child (e.g. when a list item moves its list marker around). 243 // that can trigger repaint of a non-child (e.g. when a list item moves its list marker around).
244 // Note that even when disabled, LayoutState is still used to store layoutDe lta. 244 // Note that even when disabled, LayoutState is still used to store layoutDe lta.
245 // These functions may only be accessed by LayoutStateMaintainer or LayoutSt ateDisabler. 245 // These functions may only be accessed by LayoutStateMaintainer or LayoutSt ateDisabler.
246 void disableLayoutState() { m_layoutStateDisableCount++; } 246 void disableLayoutState() { m_layoutStateDisableCount++; }
247 void enableLayoutState() { ASSERT(m_layoutStateDisableCount > 0); m_layoutSt ateDisableCount--; } 247 void enableLayoutState() { ASSERT(m_layoutStateDisableCount > 0); m_layoutSt ateDisableCount--; }
248 248
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 RenderObject::FlowThreadState m_flowThreadState; 401 RenderObject::FlowThreadState m_flowThreadState;
402 bool m_fragmenting; 402 bool m_fragmenting;
403 #ifndef NDEBUG 403 #ifndef NDEBUG
404 LayoutState* m_layoutState; 404 LayoutState* m_layoutState;
405 #endif 405 #endif
406 }; 406 };
407 407
408 } // namespace WebCore 408 } // namespace WebCore
409 409
410 #endif // RenderView_h 410 #endif // RenderView_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderText.cpp ('k') | Source/core/rendering/RenderView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698