run-webkit-tests fast/images/svg-as-background.html Testing 1 test cases. fast/images .ASSERTION FAILED: URL (/Users/ap/WebKit/WebCore/loader/mac/WebDataProtocol.mm:223 +[WebDataProtocol _webIsDataProtocolURL:]) Segmentation fault Thread 0 Crashed: 0 com.apple.WebCore 0x01482b84 +[WebDataProtocol _webIsDataProtocolURL:] + 92 1 com.apple.WebCore 0x01483b14 WebCore::DocumentLoader::urlForHistory() const + 132 (DocumentLoaderMac.mm:533) 2 com.apple.WebCore 0x014b94e8 WebCore::FrameLoader::updateHistoryForStandardLoad() + 208 (FrameLoader.cpp:2978) 3 com.apple.WebCore 0x014bcdf0 WebCore::FrameLoader::transitionToCommitted(WTF::PassRefPtr<WebCore::PageCache>) + 848 (FrameLoader.cpp:2024) 4 com.apple.WebCore 0x014bd420 WebCore::FrameLoader::commitProvisionalLoad(WTF::PassRefPtr<WebCore::PageCache>) + 224 (FrameLoader.cpp:1933) 5 com.apple.WebCore 0x0151fc80 WebCore::SVGImage::setData(bool) + 1068 (SVGImage.cpp:139) 6 com.apple.WebCore 0x01156c08 WebCore::CachedImage::data(WTF::Vector<char, (unsigned long)0>&, bool) + 116 (CachedImage.cpp:186) 7 com.apple.WebCore 0x0115a8b4 WebCore::Loader::receivedAllData(WebCore::SubresourceLoader*, NSData*) + 344 (loader.cpp:109) 8 com.apple.WebCore 0x014929c8 WebCore::SubresourceLoader::didFinishLoading() + 248 (SubresourceLoaderMac.mm:196) 9 com.apple.WebCore 0x0148d76c WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*) + 60 (ResourceLoaderMac.mm:447) 10 com.apple.WebCore 0x014a1d38 -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 144 (ResourceHandleMac.mm:309) 11 com.apple.Foundation 0x9298f84c -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] + 188
This smells like a problem with SVGImageEmptyClients, or rather the loader depending on a different answer than SVGImageEmptyClients give.
I can confirm the problems, must have happened last night.
I never ran into this yesterday before landing my patch but was hounded with reports of it this morning - I'm taking a look now to see if I can repro...
Created attachment 12203 [details] Proprosed fix
Comment on attachment 12203 [details] Proprosed fix r=me with the comments I discussed with Brady
Committed in r18561 The issue here - faking subresource loads with internal svgs - makes me want to reiterate how disconcerting it is to be faking subresource loads, though my understanding is that we might start doing this in more places than just svg-as-image. Alexey mentioned on #webkit that the work being done in http://bugs.webkit.org/show_bug.cgi?id=10313 is another example of this. If we start doing this more and more, I think we need a much better defined mechanism of how to represent "this is a fake subresource" when we "kick off" the fake load, so history, subresource progress, and other interesting parts of the infrastructure know how to deal with it.