Changeset 238523 in webkit
- Timestamp:
- Nov 26, 2018, 2:22:07 PM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
rendering/RenderLayer.cpp (modified) (7 diffs)
-
rendering/RenderLayerCompositor.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r238522 r238523 1 2018-11-26 Truitt Savell <tsavell@apple.com> 2 3 Unreviewed, rolling out r238357. 4 5 Casued three css tests to fail and crash on ios sim 6 7 Reverted changeset: 8 9 "Avoid triggering compositing updates when only the root layer 10 is composited" 11 https://bugs.webkit.org/show_bug.cgi?id=191813 12 https://trac.webkit.org/changeset/238357 13 1 14 2018-11-26 Daniel Bates <dabates@apple.com> 2 15 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r238463 r238523 406 406 setAncestorChainHasSelfPaintingLayerDescendant(); 407 407 408 if (compositor(). hasContentCompositingLayers())408 if (compositor().usesCompositing()) 409 409 setDescendantsNeedCompositingRequirementsTraversal(); 410 410 … … 452 452 dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); 453 453 454 if (compositor(). hasContentCompositingLayers())454 if (compositor().usesCompositing()) 455 455 setDescendantsNeedCompositingRequirementsTraversal(); 456 456 … … 1578 1578 setLocation(localPoint); 1579 1579 1580 if (positionOrOffsetChanged && compositor(). hasContentCompositingLayers()) {1580 if (positionOrOffsetChanged && compositor().usesCompositing()) { 1581 1581 if (isComposited()) 1582 1582 setNeedsCompositingGeometryUpdate(); … … 2431 2431 2432 2432 bool requiresRepaint = true; 2433 if ( usesCompositedScrolling()) {2433 if (compositor().usesCompositing() && usesCompositedScrolling()) { 2434 2434 setNeedsCompositingGeometryUpdate(); 2435 2435 setDescendantsNeedUpdateBackingAndHierarchyTraversal(); … … 2581 2581 void RenderLayer::updateCompositingLayersAfterScroll() 2582 2582 { 2583 if (compositor(). hasContentCompositingLayers()) {2583 if (compositor().usesCompositing()) { 2584 2584 // Our stacking container is guaranteed to contain all of our descendants that may need 2585 2585 // repositioning, so update compositing layers from there. … … 6644 6644 { 6645 6645 stream.nextLine(); 6646 stream << "(S)tacking Context, (N)ormal flow only, (O)verflow clip, (A)lpha (opacity or mask), has (B)lend mode, (I)solates blending, (T)ransform-ish, (F)ilter, Fi(X)ed position, (C)omposited , (c)omposited descendant\n"6646 stream << "(S)tacking Context, (N)ormal flow only, (O)verflow clip, (A)lpha (opacity or mask), has (B)lend mode, (I)solates blending, (T)ransform-ish, (F)ilter, Fi(X)ed position, (C)omposited\n" 6647 6647 "Dirty (z)-lists, Dirty (n)ormal flow lists\n" 6648 6648 "Descendant needs overlap (t)raversal, Descendant needs (b)acking or hierarchy update, All descendants need (r)equirements traversal, All (s)ubsequent layers need requirements traversal, All descendants need (h)ierarchy traversal\n" … … 6671 6671 stream << (layer.renderer().isFixedPositioned() ? "X" : "-"); 6672 6672 stream << (layer.isComposited() ? "C" : "-"); 6673 stream << (layer.hasCompositingDescendant() ? "c" : "-");6674 6673 6675 6674 stream << " "; -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r238357 r238523 1171 1171 Vector<Ref<GraphicsLayer>> layerChildren; 1172 1172 auto& childList = layerBacking ? layerChildren : childLayersOfEnclosingLayer; 1173 1174 bool requireDescendantTraversal = layer.hasDescendantNeedingUpdateBackingOrHierarchyTraversal() 1175 || (layer.hasCompositingDescendant() && (!layerBacking || layer.needsCompositingLayerConnection() || !updateLevel.isEmpty())); 1173 // FIXME: why the !layerBacking check? 1174 bool requireDescendantTraversal = !layerBacking || layer.needsCompositingLayerConnection() || layer.hasDescendantNeedingUpdateBackingOrHierarchyTraversal() || !updateLevel.isEmpty(); 1176 1175 1177 1176 #if !ASSERT_DISABLED … … 1179 1178 #endif 1180 1179 1181 auto appendForegroundLayerIfNecessary = [&] { 1182 // If a negative z-order child is compositing, we get a foreground layer which needs to get parented. 1180 if (requireDescendantTraversal) { 1181 for (auto* renderLayer : layer.negativeZOrderLayers()) 1182 updateBackingAndHierarchy(*renderLayer, childList, updateLevel, depth + 1); 1183 1184 // If a negative z-order child is compositing, we get a foreground layer which needs to get parented. 1183 1185 if (layer.negativeZOrderLayers().size()) { 1184 1186 if (layerBacking && layerBacking->foregroundLayer()) 1185 1187 childList.append(*layerBacking->foregroundLayer()); 1186 1188 } 1187 };1188 1189 if (requireDescendantTraversal) {1190 for (auto* renderLayer : layer.negativeZOrderLayers())1191 updateBackingAndHierarchy(*renderLayer, childList, updateLevel, depth + 1);1192 1193 appendForegroundLayerIfNecessary();1194 1189 1195 1190 for (auto* renderLayer : layer.normalFlowLayers()) … … 1198 1193 for (auto* renderLayer : layer.positiveZOrderLayers()) 1199 1194 updateBackingAndHierarchy(*renderLayer, childList, updateLevel, depth + 1); 1200 } else 1201 appendForegroundLayerIfNecessary(); 1195 } 1202 1196 1203 1197 if (layerBacking) { … … 1377 1371 layer.setNeedsPostLayoutCompositingUpdate(); 1378 1372 1379 if (diff >= StyleDifference::LayoutPositionedMovementOnly && hasContentCompositingLayers()) {1373 if (diff >= StyleDifference::LayoutPositionedMovementOnly && usesCompositing()) { 1380 1374 layer.setNeedsPostLayoutCompositingUpdate(); 1381 1375 layer.setNeedsCompositingGeometryUpdate();
Note:
See TracChangeset
for help on using the changeset viewer.