Changeset 205999 in webkit
- Timestamp:
- Sep 15, 2016 3:13:11 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r205996 r205999 1 2016-09-15 Zalan Bujtas <zalan@apple.com> 2 3 ASSERTION FAILED: willBeComposited == needsToBeComposited(layer) in WebCore::RenderLayerCompositor::computeCompositingRequirements 4 https://bugs.webkit.org/show_bug.cgi?id=151097 5 <rdar://problem/27711678> 6 7 Reviewed by Simon Fraser. 8 9 * compositing/assert-on-will-change-transform-with-composited-descendant-expected.txt: Added. 10 * compositing/assert-on-will-change-transform-with-composited-descendant.html: Added. 11 1 12 2016-09-15 Ryan Haddad <ryanhaddad@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r205997 r205999 1 2016-09-15 Zalan Bujtas <zalan@apple.com> 2 3 ASSERTION FAILED: willBeComposited == needsToBeComposited(layer) in WebCore::RenderLayerCompositor::computeCompositingRequirements 4 https://bugs.webkit.org/show_bug.cgi?id=151097 5 <rdar://problem/27711678> 6 7 Reviewed by Simon Fraser. 8 9 This patch ensures that when will-change property triggers stacking context, we make the associated layer a non-normal flow layer. 10 (This is similar to what any other stacking context-triggering CSS property does.) 11 12 Test: compositing/assert-on-will-change-transform-with-composited-descendant.html 13 14 * rendering/RenderLayer.cpp: 15 (WebCore::RenderLayer::calculateClipRects): 16 1 17 2016-09-15 Zalan Bujtas <zalan@apple.com> 2 18 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r205970 r205999 6465 6465 } 6466 6466 6467 static bool mayCreateGraphicalGroup(const RenderElement& renderer) 6468 { 6469 bool createsGraphicalGroup = renderer.hasClipPath() 6467 static bool createsStackingContext(const RenderLayer& layer) 6468 { 6469 auto& renderer = layer.renderer(); 6470 return renderer.hasTransformRelatedProperty() 6471 || renderer.hasClipPath() 6470 6472 || renderer.hasFilter() 6473 || renderer.hasMask() 6471 6474 || renderer.hasBackdropFilter() 6472 6475 #if ENABLE(CSS_COMPOSITING) … … 6474 6477 #endif 6475 6478 || renderer.isTransparent() 6476 || renderer.hasMask();6477 return createsGraphicalGroup || (renderer.style().willChange() && renderer.style().willChange()->canCreateGraphicalGroup());6478 }6479 6480 static bool createsStackingContext(const RenderLayer& layer)6481 {6482 auto& renderer = layer.renderer();6483 return renderer.hasTransformRelatedProperty()6484 6479 || renderer.isPositioned() 6485 || layer.needsCompositedScrolling()6486 6480 || renderer.style().hasFlowFrom() 6487 6481 || renderer.hasReflection() 6488 6482 || renderer.style().hasIsolation() 6483 || layer.needsCompositedScrolling() 6489 6484 #if PLATFORM(IOS) 6490 6485 || layer.hasAcceleratedTouchScrolling() 6491 6486 #endif 6492 // FIXME: Check if willChange()->canCreateStackingContext() is more accurate here. 6493 || mayCreateGraphicalGroup(renderer); 6487 || (renderer.style().willChange() && renderer.style().willChange()->canCreateStackingContext()); 6494 6488 } 6495 6489 -
trunk/Source/WebCore/rendering/style/WillChangeData.cpp
r205277 r205999 100 100 } 101 101 102 static bool propertyCreatesGraphicalGroup(CSSPropertyID property)103 {104 switch (property) {105 case CSSPropertyClipPath:106 case CSSPropertyWebkitClipPath:107 case CSSPropertyMask:108 case CSSPropertyOpacity:109 #if ENABLE(CSS_COMPOSITING)110 case CSSPropertyMixBlendMode:111 case CSSPropertyIsolation:112 #endif113 case CSSPropertyFilter:114 #if ENABLE(FILTERS_LEVEL_2)115 case CSSPropertyWebkitBackdropFilter:116 #endif117 case CSSPropertyWebkitMask:118 case CSSPropertyWebkitMaskImage:119 case CSSPropertyWebkitMaskBoxImage:120 return true;121 default:122 return false;123 }124 }125 126 102 static bool propertyTriggersCompositing(CSSPropertyID property) 127 103 { … … 162 138 m_canTriggerCompositingOnInline |= propertyTriggersCompositing(propertyID); 163 139 m_canTriggerCompositing |= m_canTriggerCompositingOnInline | propertyTriggersCompositingOnBoxesOnly(propertyID); 164 165 m_canCreateGraphicalGroup |= propertyCreatesGraphicalGroup(propertyID);166 140 } 167 141 -
trunk/Source/WebCore/rendering/style/WillChangeData.h
r205277 r205999 58 58 bool canTriggerCompositing() const { return m_canTriggerCompositing; } 59 59 bool canTriggerCompositingOnInline() const { return m_canTriggerCompositingOnInline; } 60 bool canCreateGraphicalGroup() const { return m_canCreateGraphicalGroup; }61 60 62 61 enum Feature { … … 126 125 bool m_canTriggerCompositing { false }; 127 126 bool m_canTriggerCompositingOnInline { false }; 128 bool m_canCreateGraphicalGroup { false };129 127 }; 130 128
Note: See TracChangeset
for help on using the changeset viewer.