Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2014 Google Inc. All rights reserved. | 3 * Copyright (C) 2014 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 96 ASSERT(compositingContainer == layer.enclosingLayerWithCompositedLay erMapping(ExcludeSelf)); | 96 ASSERT(compositingContainer == layer.enclosingLayerWithCompositedLay erMapping(ExcludeSelf)); |
| 97 | 97 |
| 98 if (mapping->updateGraphicsLayerConfiguration()) | 98 if (mapping->updateGraphicsLayerConfiguration()) |
| 99 m_needsRebuildTree = true; | 99 m_needsRebuildTree = true; |
| 100 | 100 |
| 101 mapping->updateGraphicsLayerGeometry(compositingContainer, context.c ompositingStackingContext(), layersNeedingPaintInvalidation); | 101 mapping->updateGraphicsLayerGeometry(compositingContainer, context.c ompositingStackingContext(), layersNeedingPaintInvalidation); |
| 102 if (PaintLayerScrollableArea* scrollableArea = layer.getScrollableAr ea()) | 102 if (PaintLayerScrollableArea* scrollableArea = layer.getScrollableAr ea()) |
| 103 scrollableArea->positionOverflowControls(); | 103 scrollableArea->positionOverflowControls(); |
| 104 updateType = mapping->updateTypeForChildren(updateType); | 104 updateType = mapping->updateTypeForChildren(updateType); |
| 105 mapping->clearNeedsGraphicsLayerUpdate(); | 105 mapping->clearNeedsGraphicsLayerUpdate(); |
| 106 | |
| 107 const ComputedStyle& style = layer.layoutObject()->styleRef(); | |
| 108 if (style.preserves3D() && style.hasOpacity() && layer.has3DTransfor medDescendant()) | |
|
chrishtr
2016/05/18 23:16:03
Does this account for whether the child flattens i
chrishtr
2016/05/18 23:22:10
Also, I was expecting this usecounter to be in CLM
trchen
2016/05/19 00:33:28
Done.
| |
| 109 UseCounter::count(layer.layoutObject()->document(), UseCounter:: OpacityWithPreserve3DQuirk); | |
| 106 } | 110 } |
| 107 } | 111 } |
| 108 | 112 |
| 109 UpdateContext childContext(context, layer); | 113 UpdateContext childContext(context, layer); |
| 110 for (PaintLayer* child = layer.firstChild(); child; child = child->nextSibli ng()) | 114 for (PaintLayer* child = layer.firstChild(); child; child = child->nextSibli ng()) |
| 111 updateRecursive(*child, updateType, childContext, layersNeedingPaintInva lidation); | 115 updateRecursive(*child, updateType, childContext, layersNeedingPaintInva lidation); |
| 112 } | 116 } |
| 113 | 117 |
| 114 #if ENABLE(ASSERT) | 118 #if ENABLE(ASSERT) |
| 115 | 119 |
| 116 void GraphicsLayerUpdater::assertNeedsToUpdateGraphicsLayerBitsCleared(PaintLaye r& layer) | 120 void GraphicsLayerUpdater::assertNeedsToUpdateGraphicsLayerBitsCleared(PaintLaye r& layer) |
| 117 { | 121 { |
| 118 if (layer.hasCompositedLayerMapping()) | 122 if (layer.hasCompositedLayerMapping()) |
| 119 layer.compositedLayerMapping()->assertNeedsToUpdateGraphicsLayerBitsClea red(); | 123 layer.compositedLayerMapping()->assertNeedsToUpdateGraphicsLayerBitsClea red(); |
| 120 | 124 |
| 121 for (PaintLayer* child = layer.firstChild(); child; child = child->nextSibli ng()) | 125 for (PaintLayer* child = layer.firstChild(); child; child = child->nextSibli ng()) |
| 122 assertNeedsToUpdateGraphicsLayerBitsCleared(*child); | 126 assertNeedsToUpdateGraphicsLayerBitsCleared(*child); |
| 123 } | 127 } |
| 124 | 128 |
| 125 #endif | 129 #endif |
| 126 | 130 |
| 127 } // namespace blink | 131 } // namespace blink |
| OLD | NEW |