I see the following assertion failure at some web sites. > ASSERTION FAILED: !frameIsCompleteAtIndex(index) || !frameHasDecodedNativeImageCompatibleWithOptionsAtIndex(index, subsamplingLevel, decodingOptions) > C:\webkit\ga\Source\WebCore\platform\graphics\ImageFrameCache.cpp(250) : WebCore::ImageFrameCache::cacheAsyncFrameNativeImageAtIndex Callstack: > WTF.dll!WTFCrash() Line 292 C++ > WebKit.dll!WebCore::ImageFrameCache::cacheAsyncFrameNativeImageAtIndex(WTF::RefPtr<_cairo_surface> && nativeImage, unsigned __int64 index, WebCore::SubsamplingLevel subsamplingLevel, const WebCore::DecodingOptions & decodingOptions) Line 250 C++ > WebKit.dll!WebCore::ImageFrameCache::startAsyncDecodingQueue::__l2::void <lambda>(void)::__l4::<lambda>() Line 301 C++ > WebKit.dll!WTF::Function<void __cdecl(void)>::CallableWrapper<void <lambda>(void) >::call() Line 89 C++ > WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 52 C++ > WTF.dll!WTF::dispatchFunctionsFromMainThread() Line 131 C++ > WTF.dll!WTF::ThreadingWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 47 C++ > [External Code] > WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 97 C++ > MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 189 C++ > MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 857 C++ > MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 249 C++ > [External Code] I tested with WinCairo port, debug build, trunk@216673. https://play.google.com/ https://www.sony.co.jp/
Created attachment 309864 [details] WIP patch I think this patch solves the problem. How do you think, Said?
I am not sure how you verified your patch. The async image decoding for large images has been disabled for almost two weeks now and the animated images does not start decoding until all the data is received. The change <http://trac.webkit.org/changeset/216471> caused another regression which is being addressed in https://bugs.webkit.org/show_bug.cgi?id=171900. I suggested in the attached patch removing this particular assertion for now. I suggested also changing function ImageFrameCache::requestFrameAsyncDecodingAtIndex() to let the caller decide whether async image decoding is needed or not.
I don't see this assertion failure after fixing bug 171900. Thank you.