Changeset 280694 in webkit
- Timestamp:
- Aug 5, 2021, 9:26:55 AM (5 years ago)
- Location:
- branches/safari-612.1.27.0-branch/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
-
branches/safari-612.1.27.0-branch/Source/WebKit/ChangeLog
r280692 r280694 1 2021-08-05 Russell Epstein <repstein@apple.com> 2 3 Cherry-pick r280639. rdar://problem/81568951 4 5 [GPU Process] REGRESSION: iCloud Photos Web app may crash WebProcess once the GPUProcess is relaunched 6 https://bugs.webkit.org/show_bug.cgi?id=228665 7 8 Reviewed by Simon Fraser. 9 10 When the GPUProcess is relaunched, ensure NativeImage is detached from 11 the RemoteResourceCacheProxy once it is removed from its m_nativeImages. 12 13 Otherwise the NativeImage later will ask RemoteResourceCacheProxy to 14 release its corresponding NativeImage from RemoteResourceCache even 15 though it was destroyed when the GPUProcess was relaunched. 16 17 * WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: 18 (WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy): 19 (WebKit::RemoteResourceCacheProxy::clearNativeImageMap): 20 (WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed): 21 * WebProcess/GPU/graphics/RemoteResourceCacheProxy.h: 22 23 24 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280639 268f45cc-cd09-0410-ab3c-d52691b4dbfc 25 26 2021-08-04 Said Abou-Hallawa <said@apple.com> 27 28 [GPU Process] REGRESSION: iCloud Photos Web app may crash WebProcess once the GPUProcess is relaunched 29 https://bugs.webkit.org/show_bug.cgi?id=228665 30 31 Reviewed by Simon Fraser. 32 33 When the GPUProcess is relaunched, ensure NativeImage is detached from 34 the RemoteResourceCacheProxy once it is removed from its m_nativeImages. 35 36 Otherwise the NativeImage later will ask RemoteResourceCacheProxy to 37 release its corresponding NativeImage from RemoteResourceCache even 38 though it was destroyed when the GPUProcess was relaunched. 39 40 * WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: 41 (WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy): 42 (WebKit::RemoteResourceCacheProxy::clearNativeImageMap): 43 (WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed): 44 * WebProcess/GPU/graphics/RemoteResourceCacheProxy.h: 45 1 46 2021-08-05 Russell Epstein <repstein@apple.com> 2 47 -
branches/safari-612.1.27.0-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp
r280401 r280694 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 } -
branches/safari-612.1.27.0-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h
r280401 r280694 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.