OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc.
All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 // layout, so we know that our bounds didn't change. This code is just makin
g up for | 180 // layout, so we know that our bounds didn't change. This code is just makin
g up for |
181 // the fact that we did not invalidate paints in setStyle() because we had a
layout hint. | 181 // the fact that we did not invalidate paints in setStyle() because we had a
layout hint. |
182 // We cannot call repaint() because our clippedOverflowRectForRepaint() is t
aken from the | 182 // We cannot call repaint() because our clippedOverflowRectForRepaint() is t
aken from the |
183 // parent table, and being mid-layout, that is invalid. Instead, we issue pa
int invalidations for our cells. | 183 // parent table, and being mid-layout, that is invalid. Instead, we issue pa
int invalidations for our cells. |
184 if (selfNeedsLayout() && checkForRepaint()) { | 184 if (selfNeedsLayout() && checkForRepaint()) { |
185 for (RenderTableCell* cell = firstCell(); cell; cell = cell->nextCell())
{ | 185 for (RenderTableCell* cell = firstCell(); cell; cell = cell->nextCell())
{ |
186 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled()) { | 186 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled()) { |
187 // FIXME: Is this needed with Repaint After Layout? | 187 // FIXME: Is this needed with Repaint After Layout? |
188 cell->setShouldDoFullPaintInvalidationAfterLayout(true); | 188 cell->setShouldDoFullPaintInvalidationAfterLayout(true); |
189 } else { | 189 } else { |
190 cell->repaint(); | 190 cell->paintInvalidationForWholeRenderer(); |
191 } | 191 } |
192 } | 192 } |
193 } | 193 } |
194 | 194 |
195 // RenderTableSection::layoutRows will set our logical height and width late
r, so it calls updateLayerTransform(). | 195 // RenderTableSection::layoutRows will set our logical height and width late
r, so it calls updateLayerTransform(). |
196 clearNeedsLayout(); | 196 clearNeedsLayout(); |
197 } | 197 } |
198 | 198 |
199 // Hit Testing | 199 // Hit Testing |
200 bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& r
esult, const HitTestLocation& locationInContainer, const LayoutPoint& accumulate
dOffset, HitTestAction action) | 200 bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& r
esult, const HitTestLocation& locationInContainer, const LayoutPoint& accumulate
dOffset, HitTestAction action) |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 if (paintInfo.phase == PaintPhaseBlockBackground || paintInfo.phase == P
aintPhaseChildBlockBackground) | 237 if (paintInfo.phase == PaintPhaseBlockBackground || paintInfo.phase == P
aintPhaseChildBlockBackground) |
238 cell->paintBackgroundsBehindCell(paintInfo, paintOffset, this); | 238 cell->paintBackgroundsBehindCell(paintInfo, paintOffset, this); |
239 if (!cell->hasSelfPaintingLayer()) | 239 if (!cell->hasSelfPaintingLayer()) |
240 cell->paint(paintInfo, paintOffset); | 240 cell->paint(paintInfo, paintOffset); |
241 } | 241 } |
242 } | 242 } |
243 | 243 |
244 void RenderTableRow::imageChanged(WrappedImagePtr, const IntRect*) | 244 void RenderTableRow::imageChanged(WrappedImagePtr, const IntRect*) |
245 { | 245 { |
246 // FIXME: Examine cells and repaint only the rect the image paints in. | 246 // FIXME: Examine cells and repaint only the rect the image paints in. |
247 repaint(); | 247 paintInvalidationForWholeRenderer(); |
248 } | 248 } |
249 | 249 |
250 RenderTableRow* RenderTableRow::createAnonymous(Document* document) | 250 RenderTableRow* RenderTableRow::createAnonymous(Document* document) |
251 { | 251 { |
252 RenderTableRow* renderer = new RenderTableRow(0); | 252 RenderTableRow* renderer = new RenderTableRow(0); |
253 renderer->setDocumentForAnonymous(document); | 253 renderer->setDocumentForAnonymous(document); |
254 return renderer; | 254 return renderer; |
255 } | 255 } |
256 | 256 |
257 RenderTableRow* RenderTableRow::createAnonymousWithParentRenderer(const RenderOb
ject* parent) | 257 RenderTableRow* RenderTableRow::createAnonymousWithParentRenderer(const RenderOb
ject* parent) |
258 { | 258 { |
259 RenderTableRow* newRow = RenderTableRow::createAnonymous(&parent->document()
); | 259 RenderTableRow* newRow = RenderTableRow::createAnonymous(&parent->document()
); |
260 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay(
parent->style(), TABLE_ROW); | 260 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay(
parent->style(), TABLE_ROW); |
261 newRow->setStyle(newStyle.release()); | 261 newRow->setStyle(newStyle.release()); |
262 return newRow; | 262 return newRow; |
263 } | 263 } |
264 | 264 |
265 } // namespace WebCore | 265 } // namespace WebCore |
OLD | NEW |