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 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 { | 739 { |
740 if (m_hasVisibleContent && !m_visibleContentStatusDirty) { | 740 if (m_hasVisibleContent && !m_visibleContentStatusDirty) { |
741 ASSERT(!parent() || parent()->hasVisibleDescendant()); | 741 ASSERT(!parent() || parent()->hasVisibleDescendant()); |
742 return; | 742 return; |
743 } | 743 } |
744 | 744 |
745 m_hasVisibleContent = true; | 745 m_hasVisibleContent = true; |
746 m_visibleContentStatusDirty = false; | 746 m_visibleContentStatusDirty = false; |
747 | 747 |
748 setNeedsToUpdateAncestorDependentProperties(); | 748 setNeedsToUpdateAncestorDependentProperties(); |
749 | |
750 repainter().computeRepaintRects(); | 749 repainter().computeRepaintRects(); |
751 if (!m_stackingNode->isNormalFlowOnly()) { | |
752 // We don't collect invisible layers in z-order lists if we are not in c
ompositing mode. | |
753 // As we became visible, we need to dirty our stacking containers ancest
ors to be properly | |
754 // collected. FIXME: When compositing, we could skip this dirtying phase
. | |
755 for (RenderLayerStackingNode* sc = m_stackingNode->ancestorStackingConte
xtNode(); sc; sc = sc->ancestorStackingContextNode()) { | |
756 sc->dirtyZOrderLists(); | |
757 if (sc->layer()->hasVisibleContent()) | |
758 break; | |
759 } | |
760 } | |
761 | 750 |
762 if (parent()) | 751 if (parent()) |
763 parent()->setAncestorChainHasVisibleDescendant(); | 752 parent()->setAncestorChainHasVisibleDescendant(); |
764 } | 753 } |
765 | 754 |
766 void RenderLayer::dirtyVisibleContentStatus() | 755 void RenderLayer::dirtyVisibleContentStatus() |
767 { | 756 { |
768 m_visibleContentStatusDirty = true; | 757 m_visibleContentStatusDirty = true; |
769 if (parent()) | 758 if (parent()) |
770 parent()->dirtyAncestorChainVisibleDescendantStatus(); | 759 parent()->dirtyAncestorChainVisibleDescendantStatus(); |
(...skipping 3129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3900 } | 3889 } |
3901 } | 3890 } |
3902 | 3891 |
3903 void showLayerTree(const WebCore::RenderObject* renderer) | 3892 void showLayerTree(const WebCore::RenderObject* renderer) |
3904 { | 3893 { |
3905 if (!renderer) | 3894 if (!renderer) |
3906 return; | 3895 return; |
3907 showLayerTree(renderer->enclosingLayer()); | 3896 showLayerTree(renderer->enclosingLayer()); |
3908 } | 3897 } |
3909 #endif | 3898 #endif |
OLD | NEW |