OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. |
4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 1838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 // Now delete the lines that we failed to sync. | 1849 // Now delete the lines that we failed to sync. |
1850 deleteLineRange(layoutState, originalEndLine, result); | 1850 deleteLineRange(layoutState, originalEndLine, result); |
1851 return matched; | 1851 return matched; |
1852 } | 1852 } |
1853 } | 1853 } |
1854 | 1854 |
1855 return false; | 1855 return false; |
1856 } | 1856 } |
1857 | 1857 |
1858 bool LayoutBlockFlow::generatesLineBoxesForInlineChild(LayoutObject* inlineObj) | 1858 bool LayoutBlockFlow::generatesLineBoxesForInlineChild(LayoutObject* inlineObj) |
| 1859 |
1859 { | 1860 { |
1860 ASSERT(inlineObj->parent() == this); | 1861 ASSERT(inlineObj->parent() == this); |
1861 | 1862 |
1862 InlineIterator it(LineLayoutBlockFlow(this), LineLayoutItem(inlineObj), 0); | 1863 InlineIterator it(LineLayoutBlockFlow(this), LineLayoutItem(inlineObj), 0); |
1863 // FIXME: We should pass correct value for WhitespacePosition. | 1864 // FIXME: We should pass correct value for WhitespacePosition. |
1864 while (!it.atEnd() && !requiresLineBox(it)) | 1865 while (!it.atEnd() && !requiresLineBox(it)) |
1865 it.increment(); | 1866 it.increment(); |
1866 | 1867 |
1867 return !it.atEnd(); | 1868 return !it.atEnd(); |
1868 } | 1869 } |
1869 | 1870 |
| 1871 |
1870 void LayoutBlockFlow::addOverflowFromInlineChildren() | 1872 void LayoutBlockFlow::addOverflowFromInlineChildren() |
1871 { | 1873 { |
1872 LayoutUnit endPadding = hasOverflowClip() ? paddingEnd() : LayoutUnit(); | 1874 LayoutUnit endPadding = hasOverflowClip() ? paddingEnd() : LayoutUnit(); |
| 1875 // FIXME: Need to find another way to do this, since scrollbars could show w
hen we don't want them to. |
| 1876 if (hasOverflowClip() && !endPadding && node() && node()->isRootEditableElem
ent() && style()->isLeftToRightDirection()) |
| 1877 endPadding = 1; |
1873 for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox())
{ | 1878 for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox())
{ |
1874 addLayoutOverflow(curr->paddedLayoutOverflowRect(endPadding)); | 1879 addLayoutOverflow(curr->paddedLayoutOverflowRect(endPadding)); |
1875 LayoutRect visualOverflow = curr->visualOverflowRect(curr->lineTop(), cu
rr->lineBottom()); | 1880 LayoutRect visualOverflow = curr->visualOverflowRect(curr->lineTop(), cu
rr->lineBottom()); |
1876 addContentsVisualOverflow(visualOverflow); | 1881 addContentsVisualOverflow(visualOverflow); |
1877 } | 1882 } |
1878 | 1883 |
1879 if (!containsInlineWithOutlineAndContinuation()) | 1884 if (!containsInlineWithOutlineAndContinuation()) |
1880 return; | 1885 return; |
1881 | 1886 |
1882 // Add outline rects of continuations of descendant inlines into visual over
flow of this block. | 1887 // Add outline rects of continuations of descendant inlines into visual over
flow of this block. |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2054 LayoutUnit logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false); | 2059 LayoutUnit logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false); |
2055 LayoutUnit availableLogicalWidth = logicalRightOffsetForLine(logicalHeight()
, false) - logicalLeft; | 2060 LayoutUnit availableLogicalWidth = logicalRightOffsetForLine(logicalHeight()
, false) - logicalLeft; |
2056 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); | 2061 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); |
2057 | 2062 |
2058 if (!style()->isLeftToRightDirection()) | 2063 if (!style()->isLeftToRightDirection()) |
2059 return logicalWidth() - logicalLeft; | 2064 return logicalWidth() - logicalLeft; |
2060 return logicalLeft; | 2065 return logicalLeft; |
2061 } | 2066 } |
2062 | 2067 |
2063 } | 2068 } |
OLD | NEW |