| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 // Note, we don't want to early out here using shouldCheckForInvalidationAft
erLayout as | 370 // Note, we don't want to early out here using shouldCheckForInvalidationAft
erLayout as |
| 371 // we have to make sure we go through any positioned objects as they won't b
e seen in | 371 // we have to make sure we go through any positioned objects as they won't b
e seen in |
| 372 // the normal tree walk. | 372 // the normal tree walk. |
| 373 | 373 |
| 374 if (shouldCheckForPaintInvalidationAfterLayout()) | 374 if (shouldCheckForPaintInvalidationAfterLayout()) |
| 375 RenderBox::invalidateTreeAfterLayout(invalidationContainer); | 375 RenderBox::invalidateTreeAfterLayout(invalidationContainer); |
| 376 | 376 |
| 377 // Take care of positioned objects. This is required as LayoutState keeps a
single clip rect. | 377 // Take care of positioned objects. This is required as LayoutState keeps a
single clip rect. |
| 378 if (TrackedRendererListHashSet* positionedObjects = this->positionedObjects(
)) { | 378 if (TrackedRendererListHashSet* positionedObjects = this->positionedObjects(
)) { |
| 379 TrackedRendererListHashSet::iterator end = positionedObjects->end(); | 379 TrackedRendererListHashSet::iterator end = positionedObjects->end(); |
| 380 LayoutStateMaintainer statePusher(*this, isTableRow() ? LayoutSize() : l
ocationOffset()); | 380 LayoutState state(*this, isTableRow() ? LayoutSize() : locationOffset())
; |
| 381 for (TrackedRendererListHashSet::iterator it = positionedObjects->begin(
); it != end; ++it) { | 381 for (TrackedRendererListHashSet::iterator it = positionedObjects->begin(
); it != end; ++it) { |
| 382 RenderBox* box = *it; | 382 RenderBox* box = *it; |
| 383 | 383 |
| 384 // One of the renderers we're skipping over here may be the child's
repaint container, | 384 // One of the renderers we're skipping over here may be the child's
repaint container, |
| 385 // so we can't pass our own repaint container along. | 385 // so we can't pass our own repaint container along. |
| 386 const RenderLayerModelObject& repaintContainerForChild = *box->conta
inerForPaintInvalidation(); | 386 const RenderLayerModelObject& repaintContainerForChild = *box->conta
inerForPaintInvalidation(); |
| 387 | 387 |
| 388 // If the positioned renderer is absolutely positioned and it is ins
ide | 388 // If the positioned renderer is absolutely positioned and it is ins
ide |
| 389 // a relatively positioend inline element, we need to account for | 389 // a relatively positioend inline element, we need to account for |
| 390 // the inline elements position in LayoutState. | 390 // the inline elements position in LayoutState. |
| (...skipping 1175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1566 // Check if we need to do a full layout. | 1566 // Check if we need to do a full layout. |
| 1567 if (normalChildNeedsLayout() || selfNeedsLayout()) | 1567 if (normalChildNeedsLayout() || selfNeedsLayout()) |
| 1568 return false; | 1568 return false; |
| 1569 | 1569 |
| 1570 // Check that we actually need to do a simplified layout. | 1570 // Check that we actually need to do a simplified layout. |
| 1571 if (!posChildNeedsLayout() && !(needsSimplifiedNormalFlowLayout() || needsPo
sitionedMovementLayout())) | 1571 if (!posChildNeedsLayout() && !(needsSimplifiedNormalFlowLayout() || needsPo
sitionedMovementLayout())) |
| 1572 return false; | 1572 return false; |
| 1573 | 1573 |
| 1574 | 1574 |
| 1575 { | 1575 { |
| 1576 // LayoutStateMaintainer needs this deliberate scope to pop before repai
nt | 1576 // LayoutState needs this deliberate scope to pop before repaint |
| 1577 LayoutStateMaintainer statePusher(*this, locationOffset()); | 1577 LayoutState state(*this, locationOffset()); |
| 1578 | 1578 |
| 1579 if (needsPositionedMovementLayout() && !tryLayoutDoingPositionedMovement
Only()) | 1579 if (needsPositionedMovementLayout() && !tryLayoutDoingPositionedMovement
Only()) |
| 1580 return false; | 1580 return false; |
| 1581 | 1581 |
| 1582 FastTextAutosizer::LayoutScope fastTextAutosizerLayoutScope(this); | 1582 FastTextAutosizer::LayoutScope fastTextAutosizerLayoutScope(this); |
| 1583 | 1583 |
| 1584 // Lay out positioned descendants or objects that just need to recompute
overflow. | 1584 // Lay out positioned descendants or objects that just need to recompute
overflow. |
| 1585 if (needsSimplifiedNormalFlowLayout()) | 1585 if (needsSimplifiedNormalFlowLayout()) |
| 1586 simplifiedNormalFlowLayout(); | 1586 simplifiedNormalFlowLayout(); |
| 1587 | 1587 |
| (...skipping 3449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5037 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 5037 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
| 5038 { | 5038 { |
| 5039 showRenderObject(); | 5039 showRenderObject(); |
| 5040 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 5040 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
| 5041 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 5041 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
| 5042 } | 5042 } |
| 5043 | 5043 |
| 5044 #endif | 5044 #endif |
| 5045 | 5045 |
| 5046 } // namespace WebCore | 5046 } // namespace WebCore |
| OLD | NEW |