| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 { | 349 { |
| 350 // Scrollbar layers use this layer for relative positioning, so don't clip. | 350 // Scrollbar layers use this layer for relative positioning, so don't clip. |
| 351 if (layerForHorizontalScrollbar() || layerForVerticalScrollbar()) | 351 if (layerForHorizontalScrollbar() || layerForVerticalScrollbar()) |
| 352 return false; | 352 return false; |
| 353 | 353 |
| 354 if (layerOrAncestorIsTransformedOrUsingCompositedScrolling(&m_owningLayer)) | 354 if (layerOrAncestorIsTransformedOrUsingCompositedScrolling(&m_owningLayer)) |
| 355 return false; | 355 return false; |
| 356 | 356 |
| 357 // Scrolled composited layers are clipped by their ancestor clipping layer, | 357 // Scrolled composited layers are clipped by their ancestor clipping layer, |
| 358 // so don't clip these, either. | 358 // so don't clip these, either. |
| 359 if (!compositor()->clippedByAncestor(&m_owningLayer)) | 359 if (compositor()->clippedByNonAncestorInStackingTree(&m_owningLayer) |
| 360 return true; | 360 && m_owningLayer.renderer()->containingBlock()->enclosingLayer() == m_ow
ningLayer.ancestorScrollingLayer()) |
| 361 return false; |
| 361 | 362 |
| 362 if (m_owningLayer.renderer()->containingBlock()->enclosingLayer() != m_ownin
gLayer.ancestorScrollingLayer()) | 363 return true; |
| 363 return true; | |
| 364 | |
| 365 return false; | |
| 366 } | 364 } |
| 367 | 365 |
| 368 void CompositedLayerMapping::updateCompositedBounds(GraphicsLayerUpdater::Update
Type updateType) | 366 void CompositedLayerMapping::updateCompositedBounds(GraphicsLayerUpdater::Update
Type updateType) |
| 369 { | 367 { |
| 370 if (!shouldUpdateGraphicsLayer(updateType)) | 368 if (!shouldUpdateGraphicsLayer(updateType)) |
| 371 return; | 369 return; |
| 372 | 370 |
| 373 // We need to know if we draw content in order to update our bounds (this ha
s an effect | 371 // We need to know if we draw content in order to update our bounds (this ha
s an effect |
| 374 // on whether or not descendands will paint into our backing). Update this v
alue now. | 372 // on whether or not descendands will paint into our backing). Update this v
alue now. |
| 375 updateDrawsContent(); | 373 updateDrawsContent(); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 if (updateForegroundLayer(compositor->needsContentsCompositingLayer(&m_ownin
gLayer))) | 451 if (updateForegroundLayer(compositor->needsContentsCompositingLayer(&m_ownin
gLayer))) |
| 454 layerConfigChanged = true; | 452 layerConfigChanged = true; |
| 455 | 453 |
| 456 bool needsDescendantsClippingLayer = compositor->clipsCompositingDescendants
(&m_owningLayer); | 454 bool needsDescendantsClippingLayer = compositor->clipsCompositingDescendants
(&m_owningLayer); |
| 457 | 455 |
| 458 // Our scrolling layer will clip. | 456 // Our scrolling layer will clip. |
| 459 if (m_owningLayer.needsCompositedScrolling()) | 457 if (m_owningLayer.needsCompositedScrolling()) |
| 460 needsDescendantsClippingLayer = false; | 458 needsDescendantsClippingLayer = false; |
| 461 | 459 |
| 462 RenderLayer* scrollParent = compositor->acceleratedCompositingForOverflowScr
ollEnabled() ? m_owningLayer.scrollParent() : 0; | 460 RenderLayer* scrollParent = compositor->acceleratedCompositingForOverflowScr
ollEnabled() ? m_owningLayer.scrollParent() : 0; |
| 463 bool needsAncestorClip = compositor->clippedByAncestor(&m_owningLayer); | 461 bool needsAncestorClip = compositor->clippedByNonAncestorInStackingTree(&m_o
wningLayer); |
| 464 if (scrollParent) { | 462 if (scrollParent) { |
| 465 // If our containing block is our ancestor scrolling layer, then we'll a
lready be clipped | 463 // If our containing block is our ancestor scrolling layer, then we'll a
lready be clipped |
| 466 // to it via our scroll parent and we don't need an ancestor clipping la
yer. | 464 // to it via our scroll parent and we don't need an ancestor clipping la
yer. |
| 467 if (m_owningLayer.renderer()->containingBlock()->enclosingLayer() == m_o
wningLayer.ancestorCompositedScrollingLayer()) | 465 if (m_owningLayer.renderer()->containingBlock()->enclosingLayer() == m_o
wningLayer.ancestorCompositedScrollingLayer()) |
| 468 needsAncestorClip = false; | 466 needsAncestorClip = false; |
| 469 } | 467 } |
| 470 | 468 |
| 471 if (updateClippingLayers(needsAncestorClip, needsDescendantsClippingLayer)) | 469 if (updateClippingLayers(needsAncestorClip, needsDescendantsClippingLayer)) |
| 472 layerConfigChanged = true; | 470 layerConfigChanged = true; |
| 473 | 471 |
| (...skipping 1683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2157 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { | 2155 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { |
| 2158 name = "Scrolling Contents Layer"; | 2156 name = "Scrolling Contents Layer"; |
| 2159 } else { | 2157 } else { |
| 2160 ASSERT_NOT_REACHED(); | 2158 ASSERT_NOT_REACHED(); |
| 2161 } | 2159 } |
| 2162 | 2160 |
| 2163 return name; | 2161 return name; |
| 2164 } | 2162 } |
| 2165 | 2163 |
| 2166 } // namespace WebCore | 2164 } // namespace WebCore |
| OLD | NEW |