OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. |
3 * All rights reserved. | 3 * All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1131 LayoutRect& logical_layout_overflow, | 1131 LayoutRect& logical_layout_overflow, |
1132 LayoutRect& logical_visual_overflow) { | 1132 LayoutRect& logical_visual_overflow) { |
1133 LineLayoutBox box = LineLayoutBox(inline_box->GetLineLayoutItem()); | 1133 LineLayoutBox box = LineLayoutBox(inline_box->GetLineLayoutItem()); |
1134 | 1134 |
1135 // Visual overflow only propagates if the box doesn't have a self-painting | 1135 // Visual overflow only propagates if the box doesn't have a self-painting |
1136 // layer. This rectangle does not include transforms or relative positioning | 1136 // layer. This rectangle does not include transforms or relative positioning |
1137 // (since those objects always have self-painting layers), but it does need to | 1137 // (since those objects always have self-painting layers), but it does need to |
1138 // be adjusted for writing-mode differences. | 1138 // be adjusted for writing-mode differences. |
1139 if (!box.HasSelfPaintingLayer()) { | 1139 if (!box.HasSelfPaintingLayer()) { |
1140 LayoutRect child_logical_visual_overflow = | 1140 LayoutRect child_logical_visual_overflow = |
1141 box.LogicalVisualOverflowRectForPropagation( | 1141 box.LogicalVisualOverflowRectForPropagation(); |
1142 GetLineLayoutItem().StyleRef()); | |
1143 child_logical_visual_overflow.Move(inline_box->LogicalLeft(), | 1142 child_logical_visual_overflow.Move(inline_box->LogicalLeft(), |
1144 inline_box->LogicalTop()); | 1143 inline_box->LogicalTop()); |
1145 logical_visual_overflow.Unite(child_logical_visual_overflow); | 1144 logical_visual_overflow.Unite(child_logical_visual_overflow); |
1146 } | 1145 } |
1147 | 1146 |
1148 // Layout overflow internal to the child box only propagates if the child box | 1147 // Layout overflow internal to the child box only propagates if the child box |
1149 // doesn't have overflow clip set. Otherwise the child border box propagates | 1148 // doesn't have overflow clip set. Otherwise the child border box propagates |
1150 // as layout overflow. This rectangle must include transforms and relative | 1149 // as layout overflow. This rectangle must include transforms and relative |
1151 // positioning and be adjusted for writing-mode differences. | 1150 // positioning and be adjusted for writing-mode differences. |
1152 LayoutRect child_logical_layout_overflow = | 1151 LayoutRect child_logical_layout_overflow = |
1153 box.LogicalLayoutOverflowRectForPropagation( | 1152 box.LogicalLayoutOverflowRectForPropagation(); |
1154 GetLineLayoutItem().StyleRef()); | |
1155 child_logical_layout_overflow.Move(inline_box->LogicalLeft(), | 1153 child_logical_layout_overflow.Move(inline_box->LogicalLeft(), |
1156 inline_box->LogicalTop()); | 1154 inline_box->LogicalTop()); |
1157 logical_layout_overflow.Unite(child_logical_layout_overflow); | 1155 logical_layout_overflow.Unite(child_logical_layout_overflow); |
1158 } | 1156 } |
1159 | 1157 |
1160 static void ComputeGlyphOverflow( | 1158 static void ComputeGlyphOverflow( |
1161 InlineTextBox* text, | 1159 InlineTextBox* text, |
1162 const LineLayoutText& layout_text, | 1160 const LineLayoutText& layout_text, |
1163 GlyphOverflowAndFallbackFontsMap& text_box_data_map) { | 1161 GlyphOverflowAndFallbackFontsMap& text_box_data_map) { |
1164 HashSet<const SimpleFontData*> fallback_fonts; | 1162 HashSet<const SimpleFontData*> fallback_fonts; |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1733 DCHECK_EQ(child->prevOnLine(), prev); | 1731 DCHECK_EQ(child->prevOnLine(), prev); |
1734 prev = child; | 1732 prev = child; |
1735 } | 1733 } |
1736 DCHECK_EQ(prev, m_lastChild); | 1734 DCHECK_EQ(prev, m_lastChild); |
1737 #endif | 1735 #endif |
1738 } | 1736 } |
1739 | 1737 |
1740 #endif | 1738 #endif |
1741 | 1739 |
1742 } // namespace blink | 1740 } // namespace blink |
OLD | NEW |