@@ -696,7 +696,7 @@ void CompositedLayerMapping::updateGraphicsLayerGeometry()
696
696
m_backgroundLayer->setOffsetFromRenderer (m_graphicsLayer->offsetFromRenderer ());
697
697
}
698
698
699
- if (m_owningLayer->reflectionLayer () && m_owningLayer->reflectionLayer ()->compositedLayerMapping ()) {
699
+ if (m_owningLayer->reflectionLayer () && m_owningLayer->reflectionLayer ()->isComposited ()) {
700
700
CompositedLayerMapping* reflectionCompositedLayerMapping = m_owningLayer->reflectionLayer ()->compositedLayerMapping ();
701
701
reflectionCompositedLayerMapping->updateGraphicsLayerGeometry ();
702
702
@@ -1197,16 +1197,9 @@ float CompositedLayerMapping::compositingOpacity(float rendererOpacity) const
1197
1197
if (!curr->isStackingContainer ())
1198
1198
continue ;
1199
1199
1200
- // If we found a composited layer, regardless of whether it actually
1201
- // paints into it, we want to compute opacity relative to it. So we can
1202
- // break here.
1203
- //
1204
- // FIXME: with grouped backings, a composited descendant will have to
1205
- // continue past the grouped (squashed) layers that its parents may
1206
- // contribute to. This whole confusion can be avoided by specifying
1207
- // explicitly the composited ancestor where we would stop accumulating
1208
- // opacity.
1209
- if (curr->compositingState () == PaintsIntoOwnBacking || curr->compositingState () == HasOwnBackingButPaintsIntoAncestor)
1200
+ // If we found a compositing layer, we want to compute opacity
1201
+ // relative to it. So we can break here.
1202
+ if (curr->isComposited ())
1210
1203
break ;
1211
1204
1212
1205
finalOpacity *= curr->renderer ()->opacity ();
@@ -1344,7 +1337,7 @@ static bool hasVisibleNonCompositingDescendant(RenderLayer* parent)
1344
1337
size_t listSize = normalFlowList->size ();
1345
1338
for (size_t i = 0 ; i < listSize; ++i) {
1346
1339
RenderLayer* curLayer = normalFlowList->at (i);
1347
- if (!curLayer->compositedLayerMapping ()
1340
+ if (!curLayer->isComposited ()
1348
1341
&& (curLayer->hasVisibleContent () || hasVisibleNonCompositingDescendant (curLayer)))
1349
1342
return true ;
1350
1343
}
@@ -1359,7 +1352,7 @@ static bool hasVisibleNonCompositingDescendant(RenderLayer* parent)
1359
1352
size_t listSize = negZOrderList->size ();
1360
1353
for (size_t i = 0 ; i < listSize; ++i) {
1361
1354
RenderLayer* curLayer = negZOrderList->at (i);
1362
- if (!curLayer->compositedLayerMapping ()
1355
+ if (!curLayer->isComposited ()
1363
1356
&& (curLayer->hasVisibleContent () || hasVisibleNonCompositingDescendant (curLayer)))
1364
1357
return true ;
1365
1358
}
@@ -1369,7 +1362,7 @@ static bool hasVisibleNonCompositingDescendant(RenderLayer* parent)
1369
1362
size_t listSize = posZOrderList->size ();
1370
1363
for (size_t i = 0 ; i < listSize; ++i) {
1371
1364
RenderLayer* curLayer = posZOrderList->at (i);
1372
- if (!curLayer->compositedLayerMapping ()
1365
+ if (!curLayer->isComposited ()
1373
1366
&& (curLayer->hasVisibleContent () || hasVisibleNonCompositingDescendant (curLayer)))
1374
1367
return true ;
1375
1368
}
@@ -1379,9 +1372,7 @@ static bool hasVisibleNonCompositingDescendant(RenderLayer* parent)
1379
1372
return false ;
1380
1373
}
1381
1374
1382
- // FIXME: By name the implementation is correct. But the code that uses this function means something
1383
- // very slightly different - the implementation needs to also include composited descendants that
1384
- // don't paint into their own backing, and instead paint into this backing.
1375
+ // Conservative test for having no rendered children.
1385
1376
bool CompositedLayerMapping::hasVisibleNonCompositingDescendantLayers () const
1386
1377
{
1387
1378
return hasVisibleNonCompositingDescendant (m_owningLayer);
0 commit comments