| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 } | 837 } |
| 838 | 838 |
| 839 inline void InlineFlowBox::addReplacedChildOverflow(const InlineBox* inlineBox,
LayoutRect& logicalLayoutOverflow, LayoutRect& logicalVisualOverflow) | 839 inline void InlineFlowBox::addReplacedChildOverflow(const InlineBox* inlineBox,
LayoutRect& logicalLayoutOverflow, LayoutRect& logicalVisualOverflow) |
| 840 { | 840 { |
| 841 RenderBox& box = toRenderBox(inlineBox->renderer()); | 841 RenderBox& box = toRenderBox(inlineBox->renderer()); |
| 842 | 842 |
| 843 // Visual overflow only propagates if the box doesn't have a self-painting l
ayer. This rectangle does not include | 843 // Visual overflow only propagates if the box doesn't have a self-painting l
ayer. This rectangle does not include |
| 844 // transforms or relative positioning (since those objects always have self-
painting layers), but it does need to be adjusted | 844 // transforms or relative positioning (since those objects always have self-
painting layers), but it does need to be adjusted |
| 845 // for writing-mode differences. | 845 // for writing-mode differences. |
| 846 if (!box.hasSelfPaintingLayer()) { | 846 if (!box.hasSelfPaintingLayer()) { |
| 847 LayoutRect childLogicalVisualOverflow = box.logicalVisualOverflowRectFor
Propagation(renderer().style()); | 847 LayoutRect childLogicalVisualOverflow = box.visualOverflowRect(); |
| 848 childLogicalVisualOverflow.move(inlineBox->logicalLeft(), inlineBox->log
icalTop()); | 848 childLogicalVisualOverflow.move(inlineBox->logicalLeft(), inlineBox->log
icalTop()); |
| 849 logicalVisualOverflow.unite(childLogicalVisualOverflow); | 849 logicalVisualOverflow.unite(childLogicalVisualOverflow); |
| 850 } | 850 } |
| 851 | 851 |
| 852 // Layout overflow internal to the child box only propagates if the child bo
x doesn't have overflow clip set. | 852 // Layout overflow internal to the child box only propagates if the child bo
x doesn't have overflow clip set. |
| 853 // Otherwise the child border box propagates as layout overflow. This recta
ngle must include transforms and relative positioning | 853 // Otherwise the child border box propagates as layout overflow. This recta
ngle must include transforms and relative positioning |
| 854 // and be adjusted for writing-mode differences. | 854 // and be adjusted for writing-mode differences. |
| 855 LayoutRect childLogicalLayoutOverflow = box.logicalLayoutOverflowRectForProp
agation(renderer().style()); | 855 LayoutRect childLogicalLayoutOverflow = box.layoutOverflowRectForPropagation
(); |
| 856 childLogicalLayoutOverflow.move(inlineBox->logicalLeft(), inlineBox->logical
Top()); | 856 childLogicalLayoutOverflow.move(inlineBox->logicalLeft(), inlineBox->logical
Top()); |
| 857 logicalLayoutOverflow.unite(childLogicalLayoutOverflow); | 857 logicalLayoutOverflow.unite(childLogicalLayoutOverflow); |
| 858 } | 858 } |
| 859 | 859 |
| 860 void InlineFlowBox::computeOverflow(LayoutUnit lineTop, LayoutUnit lineBottom, G
lyphOverflowAndFallbackFontsMap& textBoxDataMap) | 860 void InlineFlowBox::computeOverflow(LayoutUnit lineTop, LayoutUnit lineBottom, G
lyphOverflowAndFallbackFontsMap& textBoxDataMap) |
| 861 { | 861 { |
| 862 // If we know we have no overflow, we can just bail. | 862 // If we know we have no overflow, we can just bail. |
| 863 if (knownToHaveNoOverflow()) { | 863 if (knownToHaveNoOverflow()) { |
| 864 ASSERT(!m_overflow); | 864 ASSERT(!m_overflow); |
| 865 return; | 865 return; |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1478 ASSERT(child->prevOnLine() == prev); | 1478 ASSERT(child->prevOnLine() == prev); |
| 1479 prev = child; | 1479 prev = child; |
| 1480 } | 1480 } |
| 1481 ASSERT(prev == m_lastChild); | 1481 ASSERT(prev == m_lastChild); |
| 1482 #endif | 1482 #endif |
| 1483 } | 1483 } |
| 1484 | 1484 |
| 1485 #endif | 1485 #endif |
| 1486 | 1486 |
| 1487 } // namespace blink | 1487 } // namespace blink |
| OLD | NEW |