WebKit Bugzilla
Attachment 369491 Details for
Bug 197695
: fast/hidpi/video-controls-in-hidpi.html sometimes asserts in WK1
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197695-20190509071428.patch (text/plain), 2.94 KB, created by
Simon Fraser (smfr)
on 2019-05-09 07:14:29 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2019-05-09 07:14:29 PDT
Size:
2.94 KB
patch
obsolete
>Subversion Revision: 245058 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 14147c59987058b8c6ba525dba2e582dedb8fc37..9e083ce5b8324f0c6b12e170475c0478ac8b287d 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,26 @@ >+2019-05-09 Simon Fraser <simon.fraser@apple.com> >+ >+ fast/hidpi/video-controls-in-hidpi.html sometimes asserts in WK1 >+ https://bugs.webkit.org/show_bug.cgi?id=197695 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ With the backing-sharing changes that landed in r245058, some WebKit1 tests with media controls asserted in >+ RenderLayerBacking::computeParentGraphicsLayerRect() because a layer would have a m_ancestorClippingLayer, >+ but backgroundClipRect() would return an infinite rect. >+ >+ This happened when a layer tree change caused the layer's compositing ancestor to no longer isolate >+ composited blending (which affects the behavior of RenderLayerCompositor:clippedByAncestor()), but we failed >+ to mark its composited children as needing the configuration update which would eliminate their m_ancestorClippingLayers. >+ >+ The fix is to call setChildrenNeedCompositingGeometryUpdate() when isolatesCompositedBlending changes. We don't haev >+ setChildrenNeedCompositingConfigurationUpdate(), but setChildrenNeedCompositingGeometryUpdate() has the desired side-effect. >+ >+ I was unable to make a standalone test case for this, but the code is exercised by media control tests. >+ >+ * rendering/RenderLayerCompositor.cpp: >+ (WebCore::RenderLayerCompositor::computeCompositingRequirements): >+ > 2019-05-08 Simon Fraser <simon.fraser@apple.com> > > Implement backing-sharing in compositing layers, allowing overlap layers to paint into the backing store of another layer >diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp >index 15479365f2edf9776a01e4f4e70c792921824975..e3a4c9f3f87abeb4ebe4024fec1e69ac51648d36 100644 >--- a/Source/WebCore/rendering/RenderLayerCompositor.cpp >+++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp >@@ -1022,7 +1022,13 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* ancestor > addToOverlapMap(overlapMap, layer, layerExtent); > > #if ENABLE(CSS_COMPOSITING) >+ bool isolatedCompositedBlending = layer.isolatesCompositedBlending(); > layer.setHasNotIsolatedCompositedBlendingDescendants(childState.hasNotIsolatedCompositedBlendingDescendants); >+ if (layer.isolatesCompositedBlending() != isolatedCompositedBlending) { >+ // isolatedCompositedBlending affects the result of clippedByAncestor(). >+ layer.setChildrenNeedCompositingGeometryUpdate(); >+ } >+ > ASSERT(!layer.hasNotIsolatedCompositedBlendingDescendants() || layer.hasNotIsolatedBlendingDescendants()); > #endif > // Now check for reasons to become composited that depend on the state of descendant layers.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197695
: 369491