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 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple 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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 // background color will only cause a layout on the first rollover. | 204 // background color will only cause a layout on the first rollover. |
205 if (alwaysCreateLineBoxes()) | 205 if (alwaysCreateLineBoxes()) |
206 return; | 206 return; |
207 | 207 |
208 const ComputedStyle& parentStyle = parent()->styleRef(); | 208 const ComputedStyle& parentStyle = parent()->styleRef(); |
209 LayoutInline* parentLayoutInline = parent()->isLayoutInline() ? toLayoutInli
ne(parent()) : 0; | 209 LayoutInline* parentLayoutInline = parent()->isLayoutInline() ? toLayoutInli
ne(parent()) : 0; |
210 bool checkFonts = document().inNoQuirksMode(); | 210 bool checkFonts = document().inNoQuirksMode(); |
211 bool alwaysCreateLineBoxesNew = (parentLayoutInline && parentLayoutInline->a
lwaysCreateLineBoxes()) | 211 bool alwaysCreateLineBoxesNew = (parentLayoutInline && parentLayoutInline->a
lwaysCreateLineBoxes()) |
212 || (parentLayoutInline && parentStyle.verticalAlign() != BASELINE) | 212 || (parentLayoutInline && parentStyle.verticalAlign() != BASELINE) |
213 || style()->verticalAlign() != BASELINE | 213 || style()->verticalAlign() != BASELINE |
214 || style()->textEmphasisMark() != TextEmphasisMarkNone | 214 || style()->getTextEmphasisMark() != TextEmphasisMarkNone |
215 || (checkFonts && (!parentStyle.font().fontMetrics().hasIdenticalAscentD
escentAndLineGap(style()->font().fontMetrics()) | 215 || (checkFonts && (!parentStyle.font().fontMetrics().hasIdenticalAscentD
escentAndLineGap(style()->font().fontMetrics()) |
216 || parentStyle.lineHeight() != style()->lineHeight())); | 216 || parentStyle.lineHeight() != style()->lineHeight())); |
217 | 217 |
218 if (!alwaysCreateLineBoxesNew && checkFonts && document().styleEngine().uses
FirstLineRules()) { | 218 if (!alwaysCreateLineBoxesNew && checkFonts && document().styleEngine().uses
FirstLineRules()) { |
219 // Have to check the first line style as well. | 219 // Have to check the first line style as well. |
220 const ComputedStyle& firstLineParentStyle = parent()->styleRef(true); | 220 const ComputedStyle& firstLineParentStyle = parent()->styleRef(true); |
221 const ComputedStyle& childStyle = styleRef(true); | 221 const ComputedStyle& childStyle = styleRef(true); |
222 alwaysCreateLineBoxesNew = !firstLineParentStyle.font().fontMetrics().ha
sIdenticalAscentDescentAndLineGap(childStyle.font().fontMetrics()) | 222 alwaysCreateLineBoxesNew = !firstLineParentStyle.font().fontMetrics().ha
sIdenticalAscentDescentAndLineGap(childStyle.font().fontMetrics()) |
223 || childStyle.verticalAlign() != BASELINE | 223 || childStyle.verticalAlign() != BASELINE |
224 || firstLineParentStyle.lineHeight() != childStyle.lineHeight(); | 224 || firstLineParentStyle.lineHeight() != childStyle.lineHeight(); |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1388 | 1388 |
1389 void LayoutInline::invalidateDisplayItemClients(const LayoutBoxModelObject& pain
tInvalidationContainer, PaintInvalidationReason invalidationReason) const | 1389 void LayoutInline::invalidateDisplayItemClients(const LayoutBoxModelObject& pain
tInvalidationContainer, PaintInvalidationReason invalidationReason) const |
1390 { | 1390 { |
1391 LayoutBoxModelObject::invalidateDisplayItemClients(paintInvalidationContaine
r, invalidationReason); | 1391 LayoutBoxModelObject::invalidateDisplayItemClients(paintInvalidationContaine
r, invalidationReason); |
1392 | 1392 |
1393 for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox()) | 1393 for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox()) |
1394 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box, in
validationReason); | 1394 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box, in
validationReason); |
1395 } | 1395 } |
1396 | 1396 |
1397 } // namespace blink | 1397 } // namespace blink |
OLD | NEW |