| 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 1773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1784 return; | 1784 return; |
| 1785 | 1785 |
| 1786 if (hasColumns()) | 1786 if (hasColumns()) |
| 1787 view()->layoutState()->clearPaginationInformation(); // Positioned objec
ts are not part of the column flow, so they don't paginate with the columns. | 1787 view()->layoutState()->clearPaginationInformation(); // Positioned objec
ts are not part of the column flow, so they don't paginate with the columns. |
| 1788 | 1788 |
| 1789 RenderBox* r; | 1789 RenderBox* r; |
| 1790 TrackedRendererListHashSet::iterator end = positionedDescendants->end(); | 1790 TrackedRendererListHashSet::iterator end = positionedDescendants->end(); |
| 1791 for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(
); it != end; ++it) { | 1791 for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(
); it != end; ++it) { |
| 1792 r = *it; | 1792 r = *it; |
| 1793 | 1793 |
| 1794 LayoutRectRecorder recorder(*r); |
| 1795 |
| 1794 SubtreeLayoutScope layoutScope(r); | 1796 SubtreeLayoutScope layoutScope(r); |
| 1795 // A fixed position element with an absolute positioned ancestor has no
way of knowing if the latter has changed position. So | 1797 // A fixed position element with an absolute positioned ancestor has no
way of knowing if the latter has changed position. So |
| 1796 // if this is a fixed position element, mark it for layout if it has an
abspos ancestor and needs to move with that ancestor, i.e. | 1798 // if this is a fixed position element, mark it for layout if it has an
abspos ancestor and needs to move with that ancestor, i.e. |
| 1797 // it has static position. | 1799 // it has static position. |
| 1798 markFixedPositionObjectForLayoutIfNeeded(r, layoutScope); | 1800 markFixedPositionObjectForLayoutIfNeeded(r, layoutScope); |
| 1799 if (fixedPositionObjectsOnly) { | 1801 if (fixedPositionObjectsOnly) { |
| 1800 r->layoutIfNeeded(); | 1802 r->layoutIfNeeded(); |
| 1801 continue; | 1803 continue; |
| 1802 } | 1804 } |
| 1803 | 1805 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1825 LayoutUnit oldLogicalTop = 0; | 1827 LayoutUnit oldLogicalTop = 0; |
| 1826 bool needsBlockDirectionLocationSetBeforeLayout = r->needsLayout() && vi
ew()->layoutState()->needsBlockDirectionLocationSetBeforeLayout(); | 1828 bool needsBlockDirectionLocationSetBeforeLayout = r->needsLayout() && vi
ew()->layoutState()->needsBlockDirectionLocationSetBeforeLayout(); |
| 1827 if (needsBlockDirectionLocationSetBeforeLayout) { | 1829 if (needsBlockDirectionLocationSetBeforeLayout) { |
| 1828 if (isHorizontalWritingMode() == r->isHorizontalWritingMode()) | 1830 if (isHorizontalWritingMode() == r->isHorizontalWritingMode()) |
| 1829 r->updateLogicalHeight(); | 1831 r->updateLogicalHeight(); |
| 1830 else | 1832 else |
| 1831 r->updateLogicalWidth(); | 1833 r->updateLogicalWidth(); |
| 1832 oldLogicalTop = logicalTopForChild(r); | 1834 oldLogicalTop = logicalTopForChild(r); |
| 1833 } | 1835 } |
| 1834 | 1836 |
| 1835 r->layoutIfNeeded(); | 1837 if (r->needsLayout()) |
| 1838 r->layout(); |
| 1839 else |
| 1840 r->setShouldDoFullRepaintAfterLayout(true); |
| 1836 | 1841 |
| 1837 // Lay out again if our estimate was wrong. | 1842 // Lay out again if our estimate was wrong. |
| 1838 if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r)
!= oldLogicalTop) | 1843 if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r)
!= oldLogicalTop) |
| 1839 r->forceChildLayout(); | 1844 r->forceChildLayout(); |
| 1840 } | 1845 } |
| 1841 | 1846 |
| 1842 if (hasColumns()) | 1847 if (hasColumns()) |
| 1843 view()->layoutState()->m_columnInfo = columnInfo(); // FIXME: Kind of gr
oss. We just put this back into the layout state so that pop() will work. | 1848 view()->layoutState()->m_columnInfo = columnInfo(); // FIXME: Kind of gr
oss. We just put this back into the layout state so that pop() will work. |
| 1844 } | 1849 } |
| 1845 | 1850 |
| (...skipping 3640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5486 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 5491 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
| 5487 { | 5492 { |
| 5488 showRenderObject(); | 5493 showRenderObject(); |
| 5489 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 5494 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
| 5490 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 5495 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
| 5491 } | 5496 } |
| 5492 | 5497 |
| 5493 #endif | 5498 #endif |
| 5494 | 5499 |
| 5495 } // namespace WebCore | 5500 } // namespace WebCore |
| OLD | NEW |