WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
adding compositing reason for isolation
bug-131153-20140403094752.patch (text/plain), 3.50 KB, created by
Ion Rosca
on 2014-04-02 23:48:13 PDT
(
hide
)
Description:
adding compositing reason for isolation
Filename:
MIME Type:
Creator:
Ion Rosca
Created:
2014-04-02 23:48:13 PDT
Size:
3.50 KB
patch
obsolete
>Subversion Revision: 166635 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 876c00333999558c300e38c9047e363fefc2c451..2d8b2b11eb0a3b71b011173a872fa022441650e2 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,5 +1,23 @@ > 2014-04-02 Ion Rosca <rosca@adobe.com> > >+ [CSS Blending] Add compositing reason for isolation in RenderLayerCompositor. >+ https://bugs.webkit.org/show_bug.cgi?id=131153 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ There are 2 reasons involving blend modes for a layer to be composited: >+ 1) the layer has blend mode and has composited descendants: CompositingReasonBlendingWithCompositedDescendants. >+ 2) the layer has to isolate composited blending descendants: CompositingReasonIsolatesCompositedBlendingDescendants >+ >+ No new tests required in WebCore, the reasons are ment to be used here for debug logging. >+ >+ * rendering/RenderLayerCompositor.cpp: >+ (WebCore::RenderLayerCompositor::reasonsForCompositing): setting the correct reason for compositing. >+ (WebCore::RenderLayerCompositor::logReasonsForCompositing): >+ * rendering/RenderLayerCompositor.h: adding the new compositing reason. >+ >+2014-04-02 Ion Rosca <rosca@adobe.com> >+ > [CSS Blending] Compositing requirements for blending are not computed correctly > https://bugs.webkit.org/show_bug.cgi?id=130664 > >diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp >index b55f5e43191af8ae3eaf51dd7cf555e9d6553745..41ae3b4f275775ebdc105d5786ff3fb392308e2e 100644 >--- a/Source/WebCore/rendering/RenderLayerCompositor.cpp >+++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp >@@ -2127,6 +2127,9 @@ CompositingReasons RenderLayerCompositor::reasonsForCompositing(const RenderLaye > > #if ENABLE(CSS_COMPOSITING) > if (layer.isolatesCompositedBlending()) >+ reasons |= CompositingReasonIsolatesCompositedBlendingDescendants; >+ >+ if (layer.hasBlendMode()) > reasons |= CompositingReasonBlendingWithCompositedDescendants; > #endif > >@@ -2202,10 +2205,15 @@ const char* RenderLayerCompositor::logReasonsForCompositing(const RenderLayer& l > > if (reasons & CompositingReasonFilterWithCompositedDescendants) > return "filter with composited descendants"; >- >+ >+#if ENABLE(CSS_COMPOSITING) > if (reasons & CompositingReasonBlendingWithCompositedDescendants) > return "blending with composited descendants"; > >+ if (reasons & CompositingReasonIsolatesCompositedBlendingDescendants) >+ return "isolates composited blending descendants" >+#endif >+ > if (reasons & CompositingReasonPerspective) > return "perspective"; > >diff --git a/Source/WebCore/rendering/RenderLayerCompositor.h b/Source/WebCore/rendering/RenderLayerCompositor.h >index e86561c3f5f35b4bdd2db2ff36ae104651f2d9a0..03952bccb45e2d38655136011f7d9be547b19307 100644 >--- a/Source/WebCore/rendering/RenderLayerCompositor.h >+++ b/Source/WebCore/rendering/RenderLayerCompositor.h >@@ -80,7 +80,8 @@ enum { > CompositingReasonBlendingWithCompositedDescendants = 1 << 20, > CompositingReasonPerspective = 1 << 21, > CompositingReasonPreserve3D = 1 << 22, >- CompositingReasonRoot = 1 << 23 >+ CompositingReasonRoot = 1 << 23, >+ CompositingReasonIsolatesCompositedBlendingDescendants = 1 << 24, > }; > typedef unsigned CompositingReasons; >
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 131153
:
228473
|
228475
|
228532
|
228589