| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 , m_usedTransparency(false) | 110 , m_usedTransparency(false) |
| 111 , m_visibleContentStatusDirty(true) | 111 , m_visibleContentStatusDirty(true) |
| 112 , m_hasVisibleContent(false) | 112 , m_hasVisibleContent(false) |
| 113 , m_visibleDescendantStatusDirty(false) | 113 , m_visibleDescendantStatusDirty(false) |
| 114 , m_hasVisibleDescendant(false) | 114 , m_hasVisibleDescendant(false) |
| 115 , m_hasVisibleNonLayerContent(false) | 115 , m_hasVisibleNonLayerContent(false) |
| 116 , m_isPaginated(false) | 116 , m_isPaginated(false) |
| 117 , m_3DTransformedDescendantStatusDirty(true) | 117 , m_3DTransformedDescendantStatusDirty(true) |
| 118 , m_has3DTransformedDescendant(false) | 118 , m_has3DTransformedDescendant(false) |
| 119 , m_containsDirtyOverlayScrollbars(false) | 119 , m_containsDirtyOverlayScrollbars(false) |
| 120 , m_canSkipRepaintRectsUpdateOnScroll(renderer->isTableCell()) | |
| 121 , m_hasFilterInfo(false) | 120 , m_hasFilterInfo(false) |
| 122 , m_needsCompositingInputsUpdate(true) | 121 , m_needsCompositingInputsUpdate(true) |
| 123 , m_childNeedsCompositingInputsUpdate(true) | 122 , m_childNeedsCompositingInputsUpdate(true) |
| 124 , m_hasCompositingDescendant(false) | 123 , m_hasCompositingDescendant(false) |
| 125 , m_hasNonCompositedChild(false) | 124 , m_hasNonCompositedChild(false) |
| 126 , m_shouldIsolateCompositedDescendants(false) | 125 , m_shouldIsolateCompositedDescendants(false) |
| 127 , m_lostGroupedMapping(false) | 126 , m_lostGroupedMapping(false) |
| 128 , m_viewportConstrainedNotCompositedReason(NoNotCompositedReason) | 127 , m_viewportConstrainedNotCompositedReason(NoNotCompositedReason) |
| 129 , m_renderer(renderer) | 128 , m_renderer(renderer) |
| 130 , m_parent(0) | 129 , m_parent(0) |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 | 375 |
| 377 if ((flags & HasChangedAncestor) || (flags & HasSeenViewportConstrainedAnces
tor) || (flags & IsOverflowScroll)) | 376 if ((flags & HasChangedAncestor) || (flags & HasSeenViewportConstrainedAnces
tor) || (flags & IsOverflowScroll)) |
| 378 m_clipper.clearClipRects(); | 377 m_clipper.clearClipRects(); |
| 379 | 378 |
| 380 if (renderer()->style()->hasViewportConstrainedPosition()) | 379 if (renderer()->style()->hasViewportConstrainedPosition()) |
| 381 flags |= HasSeenViewportConstrainedAncestor; | 380 flags |= HasSeenViewportConstrainedAncestor; |
| 382 | 381 |
| 383 if (renderer()->hasOverflowClip()) | 382 if (renderer()->hasOverflowClip()) |
| 384 flags |= HasSeenAncestorWithOverflowClip; | 383 flags |= HasSeenAncestorWithOverflowClip; |
| 385 | 384 |
| 386 if ((flags & IsOverflowScroll) && (flags & HasSeenAncestorWithOverflowClip)
&& !m_canSkipRepaintRectsUpdateOnScroll) { | 385 if ((flags & IsOverflowScroll) && (flags & HasSeenAncestorWithOverflowClip)
&& !renderer()->isTableCell()) { |
| 387 // FIXME: We could track the repaint container as we walk down the tree. | 386 // FIXME: We could track the repaint container as we walk down the tree. |
| 388 m_renderer->setPreviousPaintInvalidationRect(m_renderer->boundsRectForPa
intInvalidation(m_renderer->containerForPaintInvalidation())); | 387 m_renderer->setPreviousPaintInvalidationRect(m_renderer->boundsRectForPa
intInvalidation(m_renderer->containerForPaintInvalidation())); |
| 389 } else { | |
| 390 // Check that RenderLayerRepainter's cached rects are correct. | |
| 391 // FIXME: re-enable these assertions when the issue with table cells is
resolved: https://bugs.webkit.org/show_bug.cgi?id=103432 | |
| 392 // ASSERT(repainter().m_repaintRect == renderer()->clippedOverflowRectFo
rPaintInvalidation(renderer()->containerForPaintInvalidation())); | |
| 393 } | 388 } |
| 394 | 389 |
| 395 for (RenderLayer* child = firstChild(); child; child = child->nextSibling()) | 390 for (RenderLayer* child = firstChild(); child; child = child->nextSibling()) |
| 396 child->updateLayerPositionsAfterScroll(flags); | 391 child->updateLayerPositionsAfterScroll(flags); |
| 397 | 392 |
| 398 // We don't update our reflection as scrolling is a translation which does n
ot change the size() | 393 // We don't update our reflection as scrolling is a translation which does n
ot change the size() |
| 399 // of an object, thus RenderReplica will still repaint itself properly as th
e layer position was | 394 // of an object, thus RenderReplica will still repaint itself properly as th
e layer position was |
| 400 // updated above. | 395 // updated above. |
| 401 } | 396 } |
| 402 | 397 |
| (...skipping 3347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3750 } | 3745 } |
| 3751 } | 3746 } |
| 3752 | 3747 |
| 3753 void showLayerTree(const WebCore::RenderObject* renderer) | 3748 void showLayerTree(const WebCore::RenderObject* renderer) |
| 3754 { | 3749 { |
| 3755 if (!renderer) | 3750 if (!renderer) |
| 3756 return; | 3751 return; |
| 3757 showLayerTree(renderer->enclosingLayer()); | 3752 showLayerTree(renderer->enclosingLayer()); |
| 3758 } | 3753 } |
| 3759 #endif | 3754 #endif |
| OLD | NEW |