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 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1138 } else { | 1138 } else { |
1139 // Paint our background, border and box-shadow. | 1139 // Paint our background, border and box-shadow. |
1140 paintBoxDecorations(paintInfo, paintOffset); | 1140 paintBoxDecorations(paintInfo, paintOffset); |
1141 } | 1141 } |
1142 } | 1142 } |
1143 | 1143 |
1144 if (paintInfo.phase == PaintPhaseMask) | 1144 if (paintInfo.phase == PaintPhaseMask) |
1145 return; | 1145 return; |
1146 | 1146 |
1147 PaintPhase paintPhase = paintInfo.phase == PaintPhaseChildOutlines ? PaintPh
aseOutline : paintInfo.phase; | 1147 PaintPhase paintPhase = paintInfo.phase == PaintPhaseChildOutlines ? PaintPh
aseOutline : paintInfo.phase; |
1148 PaintInfo childInfo(paintInfo); | |
1149 childInfo.phase = paintPhase; | |
1150 childInfo.updatePaintingRootForChildren(&renderer()); | |
1151 | 1148 |
1152 // Paint our children. | 1149 // Paint our children. |
1153 if (paintPhase != PaintPhaseSelfOutline) { | 1150 if (paintPhase != PaintPhaseSelfOutline) { |
| 1151 PaintInfo childInfo(paintInfo); |
| 1152 childInfo.phase = paintPhase; |
| 1153 |
| 1154 if (childInfo.paintingRoot && childInfo.paintingRoot->isDescendantOf(&re
nderer())) |
| 1155 childInfo.paintingRoot = 0; |
| 1156 else |
| 1157 childInfo.updatePaintingRootForChildren(&renderer()); |
| 1158 |
1154 for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { | 1159 for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { |
1155 if (curr->renderer().isText() || !curr->boxModelObject()->hasSelfPai
ntingLayer()) | 1160 if (curr->renderer().isText() || !curr->boxModelObject()->hasSelfPai
ntingLayer()) |
1156 curr->paint(childInfo, paintOffset, lineTop, lineBottom); | 1161 curr->paint(childInfo, paintOffset, lineTop, lineBottom); |
1157 } | 1162 } |
1158 } | 1163 } |
1159 } | 1164 } |
1160 | 1165 |
1161 void InlineFlowBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c,
const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) | 1166 void InlineFlowBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c,
const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) |
1162 { | 1167 { |
1163 if (!fillLayer) | 1168 if (!fillLayer) |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1659 ASSERT(child->prevOnLine() == prev); | 1664 ASSERT(child->prevOnLine() == prev); |
1660 prev = child; | 1665 prev = child; |
1661 } | 1666 } |
1662 ASSERT(prev == m_lastChild); | 1667 ASSERT(prev == m_lastChild); |
1663 #endif | 1668 #endif |
1664 } | 1669 } |
1665 | 1670 |
1666 #endif | 1671 #endif |
1667 | 1672 |
1668 } // namespace WebCore | 1673 } // namespace WebCore |
OLD | NEW |