| Index: Source/core/rendering/RenderLayer.cpp
|
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
|
| index c47be6490ca11ad4b7035a408ddf811fd9988690..bf0ca8532c64ade336c2d1b92f4ed091aa250edd 100644
|
| --- a/Source/core/rendering/RenderLayer.cpp
|
| +++ b/Source/core/rendering/RenderLayer.cpp
|
| @@ -1185,11 +1185,12 @@ RenderLayer* RenderLayer::enclosingFilterLayer(IncludeSelfOrNot includeSelf) con
|
| return 0;
|
| }
|
|
|
| -void RenderLayer::setCompositingReasons(CompositingReasons reasons)
|
| +void RenderLayer::setCompositingReasons(CompositingReasons reasons, CompositingReasons mask)
|
| {
|
| - if (m_compositingProperties.compositingReasons == reasons)
|
| + ASSERT(reasons == (reasons & mask));
|
| + if ((m_compositingProperties.compositingReasons & mask) == (reasons & mask))
|
| return;
|
| - m_compositingProperties.compositingReasons = reasons;
|
| + m_compositingProperties.compositingReasons = (reasons & mask) | (m_compositingProperties.compositingReasons & ~mask);
|
| m_clipper.setCompositingClipRectsDirty();
|
| }
|
|
|
| @@ -3908,6 +3909,8 @@ void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle* oldStyle
|
| updateFilters(oldStyle, renderer()->style());
|
| }
|
|
|
| + compositor()->updateStyleDeterminedCompositingReasons(this);
|
| +
|
| // FIXME: Remove incremental compositing updates after fixing the chicken/egg issues
|
| // https://code.google.com/p/chromium/issues/detail?id=343756
|
| DisableCompositingQueryAsserts disabler;
|
|
|