Changeset 280639 in webkit
- Timestamp:
- Aug 4, 2021, 10:43:14 AM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp (modified) (3 diffs)
-
WebProcess/GPU/graphics/RemoteResourceCacheProxy.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r280628 r280639 1 2021-08-04 Said Abou-Hallawa <said@apple.com> 2 3 [GPU Process] REGRESSION: iCloud Photos Web app may crash WebProcess once the GPUProcess is relaunched 4 https://bugs.webkit.org/show_bug.cgi?id=228665 5 6 Reviewed by Simon Fraser. 7 8 When the GPUProcess is relaunched, ensure NativeImage is detached from 9 the RemoteResourceCacheProxy once it is removed from its m_nativeImages. 10 11 Otherwise the NativeImage later will ask RemoteResourceCacheProxy to 12 release its corresponding NativeImage from RemoteResourceCache even 13 though it was destroyed when the GPUProcess was relaunched. 14 15 * WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: 16 (WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy): 17 (WebKit::RemoteResourceCacheProxy::clearNativeImageMap): 18 (WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed): 19 * WebProcess/GPU/graphics/RemoteResourceCacheProxy.h: 20 1 21 2021-08-03 Jean-Yves Avenard <jya@apple.com> 2 22 -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp
r280401 r280639 42 42 RemoteResourceCacheProxy::~RemoteResourceCacheProxy() 43 43 { 44 for (auto& nativeImageState : m_nativeImages.values()) 45 nativeImageState.image->removeObserver(*this); 44 clearNativeImageMap(); 46 45 } 47 46 … … 152 151 153 152 m_remoteRenderingBackendProxy.releaseRemoteResource(renderingResourceIdentifier, useCount); 153 } 154 155 void RemoteResourceCacheProxy::clearNativeImageMap() 156 { 157 for (auto& nativeImageState : m_nativeImages.values()) 158 nativeImageState.image->removeObserver(*this); 159 m_nativeImages.clear(); 154 160 } 155 161 … … 205 211 item.imageBuffer->clearBackend(); 206 212 } 207 m_nativeImages.clear();213 clearNativeImageMap(); 208 214 clearFontMap(); 209 215 } -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h
r280401 r280639 80 80 81 81 void releaseNativeImage(WebCore::RenderingResourceIdentifier) override; 82 void clearNativeImageMap(); 83 82 84 void finalizeRenderingUpdateForFonts(); 83 85 void prepareForNextRenderingUpdate();
Note:
See TracChangeset
for help on using the changeset viewer.