Changeset 252070 in webkit
- Timestamp:
- Nov 5, 2019, 12:11:32 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/compositing/shared-backing/clipping-and-shared-backing-expected.html (added)
-
LayoutTests/compositing/shared-backing/clipping-and-shared-backing.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderLayerBacking.cpp (modified) (1 diff)
-
Source/WebCore/rendering/RenderLayerCompositor.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r252069 r252070 1 2019-11-05 Simon Fraser <simon.fraser@apple.com> 2 3 Content can disappear with a combination of <video> with controls and clipping 4 https://bugs.webkit.org/show_bug.cgi?id=203834 5 6 Reviewed by Zalan Bujtas. 7 8 * compositing/shared-backing/clipping-and-shared-backing-expected.html: Added. 9 * compositing/shared-backing/clipping-and-shared-backing.html: Added. 10 1 11 2019-11-05 Said Abou-Hallawa <sabouhallawa@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r252069 r252070 1 2019-11-05 Simon Fraser <simon.fraser@apple.com> 2 3 Content can disappear with a combination of <video> with controls and clipping 4 https://bugs.webkit.org/show_bug.cgi?id=203834 5 rdar://problem/56559648 6 7 Reviewed by Zalan Bujtas. 8 9 <video> with controls triggered a bug where a backing-sharing layer also claimed 10 that it didn't need any backing store. RenderLayerCompositor::requiresOwnBackingStore() 11 could early-return with 'false' if a layer had an indirect compositing reason of "Clipping", 12 while also backing-sharing. We need to check for backing-sharing first. 13 14 Test: compositing/shared-backing/clipping-and-shared-backing.html 15 16 * rendering/RenderLayerBacking.cpp: 17 (WebCore::RenderLayerBacking::setBackingSharingLayers): 18 * rendering/RenderLayerCompositor.cpp: 19 (WebCore::RenderLayerCompositor::requiresOwnBackingStore const): 20 1 21 2019-11-05 Said Abou-Hallawa <sabouhallawa@apple.com> 2 22 -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r251385 r252070 295 295 clearBackingSharingLayerProviders(m_backingSharingLayers); 296 296 297 if (sharingLayers != m_backingSharingLayers) 297 if (sharingLayers != m_backingSharingLayers) { 298 if (sharingLayers.size()) 299 setRequiresOwnBackingStore(true); 298 300 setContentsNeedDisplay(); // This could be optimized to only repaint rects for changed layers. 301 } 299 302 300 303 auto oldSharingLayers = WTFMove(m_backingSharingLayers); -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r251273 r252070 2423 2423 return true; 2424 2424 2425 if (layer.isComposited() && layer.backing()->hasBackingSharingLayers()) 2426 return true; 2427 2425 2428 if (layer.mustCompositeForIndirectReasons()) { 2426 2429 IndirectCompositingReason reason = layer.indirectCompositingReason(); … … 2433 2436 } 2434 2437 2438 // FIXME: We really need to keep track of the ancestor layer that has its own backing store. 2435 2439 if (!ancestorCompositedBounds.contains(layerCompositedBoundsInAncestor)) 2436 return true;2437 2438 if (layer.isComposited() && layer.backing()->hasBackingSharingLayers())2439 2440 return true; 2440 2441
Note:
See TracChangeset
for help on using the changeset viewer.