Changeset 243505 in webkit
- Timestamp:
- Mar 26, 2019, 10:57:58 AM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp (modified) (2 diffs)
-
UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r243499 r243505 1 2019-03-26 Tomoki Imai <Tomoki.Imai@sony.com> 2 3 Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyCoordinatedGraphics::incorporateUpdate when forceCompositingMode is turned on 4 https://bugs.webkit.org/show_bug.cgi?id=195879 5 6 Reviewed by Carlos Garcia Campos. 7 8 The root cause is that DrawingAreaProxyCoordinatedGraphics::isInAcceleratedCompositingMode checks both of alwaysUseCompositing() and !m_layerTreeContext.isEmpty(). 9 alwaysUseCompositing() refers preferences, which is written by the application (UIProcess). 10 On the other hand, m_layerTreeContext is changed when it receives enterAcceleratedCompositingMode/exitAcceleratedCompositingMode from WebProcess. 11 12 It results when we set forceCompositingMode and acceleratedCompositingEnabled to true, WebProcess and UIProcess is out of sync until WebProcess sends enterAcceleratedCompositingMode message. 13 In such situation, WebProcess sends incorporateUpdate to UIProcess because WebProcess is in non-AC mode, but isInAcceleratedCompositingMode becomes true in UIProcess side. 14 15 * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: 16 (WebKit::DrawingAreaProxyCoordinatedGraphics::~DrawingAreaProxyCoordinatedGraphics): Should call exitAcceleratedCompositingMode even when alwaysUseCompositing is true. 17 (WebKit::DrawingAreaProxyCoordinatedGraphics::enterAcceleratedCompositingMode): enterAcceleratedCompositingMode should check enterAcceleratedCompositingMode is not called twice. 18 * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h: Remove alwaysUseCompositing from isInAcceleratedCompositingMode 19 1 20 2019-03-26 Antoine Quint <graouts@apple.com> 2 21 -
trunk/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
r243094 r243505 68 68 { 69 69 // Make sure to exit accelerated compositing mode. 70 if (isInAcceleratedCompositingMode() && !alwaysUseCompositing())70 if (isInAcceleratedCompositingMode()) 71 71 exitAcceleratedCompositingMode(); 72 72 } … … 270 270 void DrawingAreaProxyCoordinatedGraphics::enterAcceleratedCompositingMode(const LayerTreeContext& layerTreeContext) 271 271 { 272 ASSERT( alwaysUseCompositing() ||!isInAcceleratedCompositingMode());272 ASSERT(!isInAcceleratedCompositingMode()); 273 273 #if !PLATFORM(WPE) 274 274 m_backingStore = nullptr; -
trunk/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
r242346 r243505 48 48 #endif 49 49 50 bool isInAcceleratedCompositingMode() const { return alwaysUseCompositing() ||!m_layerTreeContext.isEmpty(); }50 bool isInAcceleratedCompositingMode() const { return !m_layerTreeContext.isEmpty(); } 51 51 52 52 #if USE(TEXTURE_MAPPER_GL) && PLATFORM(GTK) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW)
Note:
See TracChangeset
for help on using the changeset viewer.