OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights |
3 * reserved. | 3 * reserved. |
4 * | 4 * |
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
6 * | 6 * |
7 * Other contributors: | 7 * Other contributors: |
8 * Robert O'Callahan <roc+@cs.cmu.edu> | 8 * Robert O'Callahan <roc+@cs.cmu.edu> |
9 * David Baron <dbaron@fas.harvard.edu> | 9 * David Baron <dbaron@fas.harvard.edu> |
10 * Christian Biesinger <cbiesinger@web.de> | 10 * Christian Biesinger <cbiesinger@web.de> |
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 } | 691 } |
692 | 692 |
693 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() && | 693 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() && |
694 oldHasNonIsolatedDescendantWithBlendMode != | 694 oldHasNonIsolatedDescendantWithBlendMode != |
695 static_cast<bool>(m_hasNonIsolatedDescendantWithBlendMode)) | 695 static_cast<bool>(m_hasNonIsolatedDescendantWithBlendMode)) |
696 layoutObject()->setNeedsPaintPropertyUpdate(); | 696 layoutObject()->setNeedsPaintPropertyUpdate(); |
697 m_needsDescendantDependentFlagsUpdate = false; | 697 m_needsDescendantDependentFlagsUpdate = false; |
698 } | 698 } |
699 | 699 |
700 bool previouslyHasVisibleContent = m_hasVisibleContent; | 700 bool previouslyHasVisibleContent = m_hasVisibleContent; |
701 if (layoutObject()->style()->visibility() == EVisibility::Visible) { | 701 if (layoutObject()->style()->visibility() == EVisibility::kVisible) { |
702 m_hasVisibleContent = true; | 702 m_hasVisibleContent = true; |
703 } else { | 703 } else { |
704 // layer may be hidden but still have some visible content, check for this | 704 // layer may be hidden but still have some visible content, check for this |
705 m_hasVisibleContent = false; | 705 m_hasVisibleContent = false; |
706 LayoutObject* r = layoutObject()->slowFirstChild(); | 706 LayoutObject* r = layoutObject()->slowFirstChild(); |
707 while (r) { | 707 while (r) { |
708 if (r->style()->visibility() == EVisibility::Visible && | 708 if (r->style()->visibility() == EVisibility::kVisible && |
709 (!r->hasLayer() || !r->enclosingLayer()->isSelfPaintingLayer())) { | 709 (!r->hasLayer() || !r->enclosingLayer()->isSelfPaintingLayer())) { |
710 m_hasVisibleContent = true; | 710 m_hasVisibleContent = true; |
711 break; | 711 break; |
712 } | 712 } |
713 LayoutObject* layoutObjectFirstChild = r->slowFirstChild(); | 713 LayoutObject* layoutObjectFirstChild = r->slowFirstChild(); |
714 if (layoutObjectFirstChild && | 714 if (layoutObjectFirstChild && |
715 (!r->hasLayer() || !r->enclosingLayer()->isSelfPaintingLayer())) { | 715 (!r->hasLayer() || !r->enclosingLayer()->isSelfPaintingLayer())) { |
716 r = layoutObjectFirstChild; | 716 r = layoutObjectFirstChild; |
717 } else if (r->nextSibling()) { | 717 } else if (r->nextSibling()) { |
718 r = r->nextSibling(); | 718 r = r->nextSibling(); |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1268 compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree); | 1268 compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
1269 | 1269 |
1270 if (oldChild->stackingNode()->isStacked() || oldChild->firstChild()) { | 1270 if (oldChild->stackingNode()->isStacked() || oldChild->firstChild()) { |
1271 // Dirty the z-order list in which we are contained. When called via the | 1271 // Dirty the z-order list in which we are contained. When called via the |
1272 // reattachment process in removeOnlyThisLayer, the layer may already be | 1272 // reattachment process in removeOnlyThisLayer, the layer may already be |
1273 // disconnected from the main layer tree, so we need to null-check the | 1273 // disconnected from the main layer tree, so we need to null-check the |
1274 // |stackingContext| value. | 1274 // |stackingContext| value. |
1275 oldChild->stackingNode()->dirtyStackingContextZOrderLists(); | 1275 oldChild->stackingNode()->dirtyStackingContextZOrderLists(); |
1276 } | 1276 } |
1277 | 1277 |
1278 if (layoutObject()->style()->visibility() != EVisibility::Visible) | 1278 if (layoutObject()->style()->visibility() != EVisibility::kVisible) |
1279 dirtyVisibleContentStatus(); | 1279 dirtyVisibleContentStatus(); |
1280 | 1280 |
1281 oldChild->setPreviousSibling(0); | 1281 oldChild->setPreviousSibling(0); |
1282 oldChild->setNextSibling(0); | 1282 oldChild->setNextSibling(0); |
1283 oldChild->m_parent = 0; | 1283 oldChild->m_parent = 0; |
1284 | 1284 |
1285 // Remove any ancestor overflow layers which descended into the removed child. | 1285 // Remove any ancestor overflow layers which descended into the removed child. |
1286 if (oldChild->ancestorOverflowLayer()) | 1286 if (oldChild->ancestorOverflowLayer()) |
1287 oldChild->removeAncestorOverflowLayer(oldChild->ancestorOverflowLayer()); | 1287 oldChild->removeAncestorOverflowLayer(oldChild->ancestorOverflowLayer()); |
1288 | 1288 |
(...skipping 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2702 } | 2702 } |
2703 | 2703 |
2704 bool PaintLayer::backgroundIsKnownToBeOpaqueInRect( | 2704 bool PaintLayer::backgroundIsKnownToBeOpaqueInRect( |
2705 const LayoutRect& localRect) const { | 2705 const LayoutRect& localRect) const { |
2706 if (paintsWithTransparency(GlobalPaintNormalPhase)) | 2706 if (paintsWithTransparency(GlobalPaintNormalPhase)) |
2707 return false; | 2707 return false; |
2708 | 2708 |
2709 // We can't use hasVisibleContent(), because that will be true if our | 2709 // We can't use hasVisibleContent(), because that will be true if our |
2710 // layoutObject is hidden, but some child is visible and that child doesn't | 2710 // layoutObject is hidden, but some child is visible and that child doesn't |
2711 // cover the entire rect. | 2711 // cover the entire rect. |
2712 if (layoutObject()->style()->visibility() != EVisibility::Visible) | 2712 if (layoutObject()->style()->visibility() != EVisibility::kVisible) |
2713 return false; | 2713 return false; |
2714 | 2714 |
2715 if (paintsWithFilters() && | 2715 if (paintsWithFilters() && |
2716 layoutObject()->style()->filter().hasFilterThatAffectsOpacity()) | 2716 layoutObject()->style()->filter().hasFilterThatAffectsOpacity()) |
2717 return false; | 2717 return false; |
2718 | 2718 |
2719 // FIXME: Handle simple transforms. | 2719 // FIXME: Handle simple transforms. |
2720 if (transform() && compositingState() != PaintsIntoOwnBacking) | 2720 if (transform() && compositingState() != PaintsIntoOwnBacking) |
2721 return false; | 2721 return false; |
2722 | 2722 |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3223 } | 3223 } |
3224 | 3224 |
3225 void showLayerTree(const blink::LayoutObject* layoutObject) { | 3225 void showLayerTree(const blink::LayoutObject* layoutObject) { |
3226 if (!layoutObject) { | 3226 if (!layoutObject) { |
3227 LOG(INFO) << "Cannot showLayerTree. Root is (nil)"; | 3227 LOG(INFO) << "Cannot showLayerTree. Root is (nil)"; |
3228 return; | 3228 return; |
3229 } | 3229 } |
3230 showLayerTree(layoutObject->enclosingLayer()); | 3230 showLayerTree(layoutObject->enclosingLayer()); |
3231 } | 3231 } |
3232 #endif | 3232 #endif |
OLD | NEW |