Changeset 149208 in webkit
- Timestamp:
- Apr 26, 2013, 2:13:22 PM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r149204 r149208 1 2013-04-26 Simon Fraser <simon.fraser@apple.com> 2 3 Inspector window is often blank when opened 4 https://bugs.webkit.org/show_bug.cgi?id=115220 5 6 Reviewed by Tim Horton. 7 8 After disabling tiled scrolling and accelerated drawing in r149006, the 9 Inspector window was often missing its content after opening. This only 10 happened when the user has a preference on disk to use accelerated drawing 11 in the Inspector. 12 13 The missing content was caused by a failure to connect the correct contextID 14 for remote layer hosting. On window creation, we hook up a context using 15 WindowServer layer hosting (the default), but then switch back to app-hosted 16 layers for the Inspector window. This switching happens in didUpdateBackingStoreState(), 17 but that can be re-entered via its call to sendUpdateBackingStoreState(). In 18 that cause, on unwinding the stack it would call enterAcceleratedCompositingMode() 19 with a stale layerTreeContext. 20 21 Fix by moving the code that exits/enters accelerated compositing mode to before 22 the call to sendUpdateBackingStoreState() that can cause re-entrancy. That avoids 23 use of a possibly stale layerTreeContext. 24 25 * UIProcess/DrawingAreaProxyImpl.cpp: 26 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): 27 1 28 2013-04-26 Alexey Proskuryakov <ap@apple.com> 2 29 -
trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
r142160 r149208 194 194 m_webPageProxy->process()->responsivenessTimer()->stop(); 195 195 196 if (m_nextBackingStoreStateID != m_currentBackingStoreStateID)197 sendUpdateBackingStoreState(RespondImmediately);198 else199 m_hasReceivedFirstUpdate = true;200 201 196 #if USE(ACCELERATED_COMPOSITING) 202 197 if (layerTreeContext != m_layerTreeContext) { … … 211 206 } 212 207 } 213 208 #endif 209 210 if (m_nextBackingStoreStateID != m_currentBackingStoreStateID) 211 sendUpdateBackingStoreState(RespondImmediately); 212 else 213 m_hasReceivedFirstUpdate = true; 214 215 #if USE(ACCELERATED_COMPOSITING) 214 216 if (isInAcceleratedCompositingMode()) { 215 217 ASSERT(!m_backingStore);
Note:
See TracChangeset
for help on using the changeset viewer.