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 1614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1625 } else { | 1625 } else { |
1626 for (RenderBox* box = firstChildBox(); box; box = box->nextSiblingBox())
{ | 1626 for (RenderBox* box = firstChildBox(); box; box = box->nextSiblingBox())
{ |
1627 if (!box->isOutOfFlowPositioned()) | 1627 if (!box->isOutOfFlowPositioned()) |
1628 box->layoutIfNeeded(); | 1628 box->layoutIfNeeded(); |
1629 } | 1629 } |
1630 } | 1630 } |
1631 } | 1631 } |
1632 | 1632 |
1633 bool RenderBlock::simplifiedLayout() | 1633 bool RenderBlock::simplifiedLayout() |
1634 { | 1634 { |
1635 if ((!posChildNeedsLayout() && !needsSimplifiedNormalFlowLayout()) || normal
ChildNeedsLayout() || selfNeedsLayout()) | 1635 if ((!posChildNeedsLayout() && !needsSimplifiedNormalFlowLayout() && !needsR
esizeLayout()) |
| 1636 || normalChildNeedsLayout() || selfNeedsLayout()) |
1636 return false; | 1637 return false; |
1637 | 1638 |
1638 | 1639 |
1639 { | 1640 { |
1640 // LayoutStateMaintainer needs this deliberate scope to pop before repai
nt | 1641 // LayoutStateMaintainer needs this deliberate scope to pop before repai
nt |
1641 LayoutStateMaintainer statePusher(*this, locationOffset()); | 1642 LayoutStateMaintainer statePusher(*this, locationOffset()); |
1642 | 1643 |
1643 if (needsPositionedMovementLayout() && !tryLayoutDoingPositionedMovement
Only()) | 1644 if (needsPositionedMovementLayout() && !tryLayoutDoingPositionedMovement
Only()) |
1644 return false; | 1645 return false; |
1645 | 1646 |
| 1647 if (needsResizeLayout() && !tryLayoutDoingResizeOnly()) |
| 1648 return false; |
| 1649 |
1646 FastTextAutosizer::LayoutScope fastTextAutosizerLayoutScope(this); | 1650 FastTextAutosizer::LayoutScope fastTextAutosizerLayoutScope(this); |
1647 | 1651 |
1648 // Lay out positioned descendants or objects that just need to recompute
overflow. | 1652 // Lay out positioned descendants or objects that just need to recompute
overflow. |
1649 if (needsSimplifiedNormalFlowLayout()) | 1653 if (needsSimplifiedNormalFlowLayout()) |
1650 simplifiedNormalFlowLayout(); | 1654 simplifiedNormalFlowLayout(); |
1651 | 1655 |
1652 // Make sure a forced break is applied after the content if we are a flo
w thread in a simplified layout. | 1656 // Make sure a forced break is applied after the content if we are a flo
w thread in a simplified layout. |
1653 // This ensures the size information is correctly computed for the last
auto-height region receiving content. | 1657 // This ensures the size information is correctly computed for the last
auto-height region receiving content. |
1654 if (isRenderFlowThread()) | 1658 if (isRenderFlowThread()) |
1655 toRenderFlowThread(this)->applyBreakAfterContent(clientLogicalBottom
()); | 1659 toRenderFlowThread(this)->applyBreakAfterContent(clientLogicalBottom
()); |
(...skipping 3369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5025 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 5029 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
5026 { | 5030 { |
5027 showRenderObject(); | 5031 showRenderObject(); |
5028 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 5032 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
5029 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 5033 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
5030 } | 5034 } |
5031 | 5035 |
5032 #endif | 5036 #endif |
5033 | 5037 |
5034 } // namespace WebCore | 5038 } // namespace WebCore |
OLD | NEW |