Changeset 202590 in webkit
- Timestamp:
- Jun 28, 2016 2:35:37 PM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r202588 r202590 1 2016-06-28 Geoffrey Garen <ggaren@apple.com> 2 3 CrashTracer beneath JSC::MarkedBlock::specializedSweep 4 https://bugs.webkit.org/show_bug.cgi?id=159223 5 6 Reviewed by Saam Barati. 7 8 This crash is caused by a media element re-entering JS during the GC 9 sweep phase. 10 11 In theory, other CachedResourceClients in the DOM might also trigger 12 similar bugs, but our data only implicates the media elements, so this 13 fix targets them. 14 15 * html/HTMLDocument.h: Document has no reason to inherit from 16 CachedResourceClient. I found this becuase I had to search for all 17 CachedResourceClients in researching this patch. 18 19 * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: 20 (WebCore::WebCoreAVCFResourceLoader::invalidate): Delay our call to 21 stopLoading because it might re-enter JS, and we might have been called 22 by the GC sweep phase destroying a media element. 23 24 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: 25 (WebCore::WebCoreAVFResourceLoader::invalidate): Ditto. 26 1 27 2016-06-28 Saam Barati <sbarati@apple.com> 2 28 -
trunk/Source/WebCore/html/HTMLDocument.h
r197566 r202590 24 24 #define HTMLDocument_h 25 25 26 #include "CachedResourceClient.h"27 26 #include "Document.h" 28 27 #include <wtf/HashCountedSet.h> … … 30 29 namespace WebCore { 31 30 32 class HTMLDocument : public Document , public CachedResourceClient{31 class HTMLDocument : public Document { 33 32 public: 34 33 static Ref<HTMLDocument> create(Frame* frame, const URL& url) -
trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp
r196089 r202590 100 100 void WebCoreAVCFResourceLoader::invalidate() 101 101 { 102 if (!m_parent) 103 return; 104 102 105 m_parent = nullptr; 103 stopLoading(); 106 107 callOnMainThread([protectedThis = Ref<WebCoreAVCFResourceLoader>(*this)] () mutable { 108 protectedThis->stopLoading(); 109 }); 104 110 } 105 111 -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm
r201615 r202590 97 97 void WebCoreAVFResourceLoader::invalidate() 98 98 { 99 if (!m_parent) 100 return; 101 99 102 m_parent = nullptr; 100 stopLoading(); 103 104 callOnMainThread([protectedThis = Ref<WebCoreAVFResourceLoader>(*this)] () mutable { 105 protectedThis->stopLoading(); 106 }); 101 107 } 102 108
Note: See TracChangeset
for help on using the changeset viewer.