| OLD | NEW |
| 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 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 | 214 |
| 215 // These functions may only be accessed by LayoutStateMaintainer. | 215 // These functions may only be accessed by LayoutStateMaintainer. |
| 216 bool pushLayoutState(RenderBox* renderer, const LayoutSize& offset, LayoutUn
it pageHeight = 0, bool pageHeightChanged = false, ColumnInfo* colInfo = 0) | 216 bool pushLayoutState(RenderBox* renderer, const LayoutSize& offset, LayoutUn
it pageHeight = 0, bool pageHeightChanged = false, ColumnInfo* colInfo = 0) |
| 217 { | 217 { |
| 218 // We push LayoutState even if layoutState is disabled because it stores
layoutDelta too. | 218 // We push LayoutState even if layoutState is disabled because it stores
layoutDelta too. |
| 219 if (!doingFullRepaint() || m_layoutState->isPaginated() || renderer->has
Columns() || renderer->flowThreadContainingBlock() | 219 if (!doingFullRepaint() || m_layoutState->isPaginated() || renderer->has
Columns() || renderer->flowThreadContainingBlock() |
| 220 || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != Re
nderStyle::initialLineGrid() && renderer->isBlockFlow()) | 220 || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != Re
nderStyle::initialLineGrid() && renderer->isBlockFlow()) |
| 221 || (renderer->isRenderBlock() && toRenderBlock(renderer)->exclusionS
hapeInsideInfo()) | 221 || (renderer->isRenderBlock() && toRenderBlock(renderer)->exclusionS
hapeInsideInfo()) |
| 222 || (m_layoutState->exclusionShapeInsideInfo() && renderer->isRenderB
lock() && !toRenderBlock(renderer)->allowsExclusionShapeInsideInfoSharing()) | 222 || (m_layoutState->exclusionShapeInsideInfo() && renderer->isRenderB
lock() && !toRenderBlock(renderer)->allowsExclusionShapeInsideInfoSharing()) |
| 223 ) { | 223 ) { |
| 224 m_layoutState = new (renderArena()) LayoutState(m_layoutState, rende
rer, offset, pageHeight, pageHeightChanged, colInfo); | 224 m_layoutState = new LayoutState(m_layoutState, renderer, offset, pag
eHeight, pageHeightChanged, colInfo); |
| 225 return true; | 225 return true; |
| 226 } | 226 } |
| 227 return false; | 227 return false; |
| 228 } | 228 } |
| 229 | 229 |
| 230 void popLayoutState() | 230 void popLayoutState() |
| 231 { | 231 { |
| 232 LayoutState* state = m_layoutState; | 232 LayoutState* state = m_layoutState; |
| 233 m_layoutState = state->m_next; | 233 m_layoutState = state->m_next; |
| 234 state->destroy(renderArena()); | 234 state->destroy(); |
| 235 } | 235 } |
| 236 | 236 |
| 237 // Suspends the LayoutState optimization. Used under transforms that cannot
be represented by | 237 // Suspends the LayoutState optimization. Used under transforms that cannot
be represented by |
| 238 // LayoutState (common in SVG) and when manipulating the render tree during
layout in ways | 238 // LayoutState (common in SVG) and when manipulating the render tree during
layout in ways |
| 239 // that can trigger repaint of a non-child (e.g. when a list item moves its
list marker around). | 239 // that can trigger repaint of a non-child (e.g. when a list item moves its
list marker around). |
| 240 // Note that even when disabled, LayoutState is still used to store layoutDe
lta. | 240 // Note that even when disabled, LayoutState is still used to store layoutDe
lta. |
| 241 // These functions may only be accessed by LayoutStateMaintainer or LayoutSt
ateDisabler. | 241 // These functions may only be accessed by LayoutStateMaintainer or LayoutSt
ateDisabler. |
| 242 void disableLayoutState() { m_layoutStateDisableCount++; } | 242 void disableLayoutState() { m_layoutStateDisableCount++; } |
| 243 void enableLayoutState() { ASSERT(m_layoutStateDisableCount > 0); m_layoutSt
ateDisableCount--; } | 243 void enableLayoutState() { ASSERT(m_layoutStateDisableCount > 0); m_layoutSt
ateDisableCount--; } |
| 244 | 244 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 RenderObject::FlowThreadState m_flowThreadState; | 399 RenderObject::FlowThreadState m_flowThreadState; |
| 400 bool m_fragmenting; | 400 bool m_fragmenting; |
| 401 #ifndef NDEBUG | 401 #ifndef NDEBUG |
| 402 LayoutState* m_layoutState; | 402 LayoutState* m_layoutState; |
| 403 #endif | 403 #endif |
| 404 }; | 404 }; |
| 405 | 405 |
| 406 } // namespace WebCore | 406 } // namespace WebCore |
| 407 | 407 |
| 408 #endif // RenderView_h | 408 #endif // RenderView_h |
| OLD | NEW |