RESOLVED FIXED 102459
[Chromium] DRT on Windows crashes when a testcase has a progress element in indeterminate state.
https://bugs.webkit.org/show_bug.cgi?id=102459
Summary [Chromium] DRT on Windows crashes when a testcase has a progress element in i...
Shinya Kawanaka
Reported 2012-11-15 20:24:41 PST
I found this when testing Bug 101903. I would like to thank yosin for confirming it on Windows! WebThemeControlDRTWin does not handle with indeterminate state correctly. STDERR: Backtrace: STDERR: WebThemeControlDRTWin::markState [0x004729B4+452] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webthemecontroldrtwin.cpp:275) STDERR: WebThemeControlDRTWin::drawProgressBar [0x004723E1+273] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webthemecontroldrtwin.cpp:527) STDERR: drawProgressBar [0x0047370D+189] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webthemeenginedrtwin.cpp:87) STDERR: WebThemeEngineDRTWin::paintProgressBar [0x00474448+88] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webthemeenginedrtwin.cpp:785) STDERR: WebCore::PlatformSupport::paintProgressBar [0x00BE0E69+137] (d:\src\w\crwk\src\third_party\webkit\source\webkit\chromium\src\platformsupport.cpp:300) STDERR: WebCore::RenderThemeChromiumWin::paintProgressBar [0x022D3567+471] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderthemechromiumwin.cpp:806) STDERR: WebCore::RenderTheme::paint [0x0175F580+464] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\rendertheme.cpp:320) STDERR: WebCore::RenderBox::paintBoxDecorations [0x013C1453+435] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderbox.cpp:875) STDERR: WebCore::RenderBlock::paintObject [0x026FADD3+115] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:3030) STDERR: WebCore::RenderBlock::paint [0x026F8029+233] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2770) STDERR: WebCore::InlineBox::paint [0x02E63D40+304] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\inlinebox.cpp:233) STDERR: WebCore::InlineFlowBox::paint [0x01B1253D+893] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\inlineflowbox.cpp:1089) STDERR: WebCore::RootInlineBox::paint [0x02002255+69] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\rootinlinebox.cpp:212) STDERR: WebCore::RenderLineBoxList::paint [0x01912BC1+1313] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlineboxlist.cpp:264) STDERR: WebCore::RenderBlock::paintContents [0x026FA5CD+125] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2937) STDERR: WebCore::RenderBlock::paintObject [0x026FAEC5+357] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:3059) STDERR: WebCore::RenderBlock::paint [0x026F8029+233] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2770) STDERR: WebCore::RenderBlock::paintChild [0x026F85CA+570] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2987) STDERR: WebCore::RenderBlock::paintChildren [0x026F88D2+82] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2956) STDERR: WebCore::RenderBlock::paintContents [0x026FA683+307] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2949) STDERR: WebCore::RenderBlock::paintObject [0x026FAEC5+357] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:3059) STDERR: WebCore::RenderBlock::paint [0x026F8029+233] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2770) STDERR: WebCore::RenderBlock::paintChild [0x026F85CA+570] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2987) STDERR: WebCore::RenderBlock::paintChildren [0x026F88D2+82] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2956) STDERR: WebCore::RenderBlock::paintContents [0x026FA683+307] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2949) STDERR: WebCore::RenderBlock::paintObject [0x026FAEC5+357] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:3059) STDERR: WebCore::RenderBlock::paint [0x026F8029+233] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderblock.cpp:2770) STDERR: WebCore::RenderLayer::paintLayerContents [0x016A21BF+3103] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3358) STDERR: WebCore::RenderLayer::paintLayerContentsAndReflection [0x016A2CB6+214] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3163) STDERR: WebCore::RenderLayer::paintLayer [0x016A12F7+1287] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3145) STDERR: WebCore::RenderLayer::paintList [0x016A2DC7+199] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3447) STDERR: WebCore::RenderLayer::paintLayerContents [0x016A2346+3494] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3384) STDERR: WebCore::RenderLayer::paintLayerContentsAndReflection [0x016A2CB6+214] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3163) STDERR: WebCore::RenderLayer::paintLayer [0x016A12F7+1287] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:3145) STDERR: WebCore::RenderLayer::paint [0x0169FF12+178] (d:\src\w\crwk\src\third_party\webkit\source\webcore\rendering\renderlayer.cpp:2950) STDERR: WebCore::FrameView::paintContents [0x02A74488+1048] (d:\src\w\crwk\src\third_party\webkit\source\webcore\page\frameview.cpp:3247) STDERR: WebCore::ScrollView::paint [0x02683711+897] (d:\src\w\crwk\src\third_party\webkit\source\webcore\platform\scrollview.cpp:1079) STDERR: WebKit::PageWidgetDelegate::paint [0x00BDB59C+396] (d:\src\w\crwk\src\third_party\webkit\source\webkit\chromium\src\pagewidgetdelegate.cpp:99) STDERR: WebKit::WebViewImpl::paint [0x00CDBC75+485] (d:\src\w\crwk\src\third_party\webkit\source\webkit\chromium\src\webviewimpl.cpp:1832) STDERR: WebViewHost::paintRect [0x00487A6F+335] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp:1784) STDERR: WebViewHost::paintInvalidatedRegion [0x0048746A+506] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp:1817) STDERR: TestShell::dump [0x00462CF3+1971] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\testshell.cpp:655) STDERR: TestShell::testFinished [0x00468296+54] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\testshell.cpp:386) STDERR: DRTTestRunner::WorkQueue::processWorkSoon [0x0042B6D2+210] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\drttestrunner.cpp:321) STDERR: DRTTestRunner::locationChangeDone [0x004284D4+84] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\drttestrunner.cpp:724) STDERR: WebViewHost::locationChangeDone [0x004869F4+52] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp:1625) STDERR: WebViewHost::didFinishLoad [0x00482C92+146] (d:\src\w\crwk\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp:1120) STDERR: WebKit::FrameLoaderClientImpl::dispatchDidFinishLoad [0x00BA6490+176] (d:\src\w\crwk\src\third_party\webkit\source\webkit\chromium\src\frameloaderclientimpl.cpp:865) STDERR: WebCore::FrameLoader::checkLoadCompleteForThisFrame [0x0265D6DC+1436] (d:\src\w\crwk\src\third_party\webkit\source\webcore\loader\frameloader.cpp:2166) STDERR: WebCore::FrameLoader::checkLoadComplete [0x0265D04D+333] (d:\src\w\crwk\src\third_party\webkit\source\webcore\loader\frameloader.cpp:2336) STDERR: WebCore::DocumentLoader::finishedLoading [0x017E1A92+226] (d:\src\w\crwk\src\third_party\webkit\source\webcore\loader\documentloader.cpp:304) STDERR: WebCore::MainResourceLoader::didFinishLoading [0x02A5E18A+378] (d:\src\w\crwk\src\third_party\webkit\source\webcore\loader\mainresourceloader.cpp:529) STDERR: WebCore::ResourceLoader::didFinishLoading [0x0173366B+43] (d:\src\w\crwk\src\third_party\webkit\source\webcore\loader\resourceloader.cpp:453) STDERR: WebCore::ResourceHandleInternal::didFinishLoading [0x02FBA790+144] (d:\src\w\crwk\src\third_party\webkit\source\webcore\platform\network\chromium\resourcehandle.cpp:156) STDERR: webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest [0x098978F7+855] (d:\src\w\crwk\src\webkit\glue\weburlloader_impl.cc:673) STDERR: `anonymous namespace'::RequestProxy::NotifyCompletedRequest [0x0057277B+59] (d:\src\w\crwk\src\webkit\tools\test_shell\simple_resource_loader_bridge.cc:405) STDERR: base::internal::RunnableAdapter<void (__thiscall `anonymous namespace'::RequestProxy::*)(int,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,base::TimeTicks const &)>::Run [0x00574B3C+76] (d:\src\w\crwk\src\base\bind_internal.h:311) STDERR: base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__thiscall `anonymous namespace'::RequestProxy::*)(int,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,base::TimeTicks const &)>,void __cdecl(`anonymous [0x00572211+65] (d:\src\w\crwk\src\base\bind_internal.h:960) STDERR: base::internal::Invoker<4,base::internal::BindState<base::internal::RunnableAdapter<void (__thiscall `anonymous namespace'::RequestProxy::*)(int,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,base::TimeTicks const &)>,void __ [0x0057490C+172] (d:\src\w\crwk\src\base\bind_internal.h:1571) STDERR: base::Callback<void __cdecl(void)>::Run [0x10069F2F+47] (d:\src\w\crwk\src\base\callback.h:391) STDERR: MessageLoop::RunTask [0x100FE2BC+764] (d:\src\w\crwk\src\base\message_loop.cc:472) STDERR: MessageLoop::DeferOrRunPendingTask [0x100FAE84+52] (d:\src\w\crwk\src\base\message_loop.cc:485)
Attachments
Patch (3.74 KB, patch)
2012-11-15 20:55 PST, Shinya Kawanaka
no flags
Patch for landing (3.51 KB, patch)
2012-12-05 22:15 PST, Shinya Kawanaka
no flags
Shinya Kawanaka
Comment 1 2012-11-15 20:55:48 PST
yosin
Comment 2 2012-11-15 21:35:19 PST
Comment on attachment 174603 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=174603&action=review > LayoutTests/fast/dom/HTMLProgressElement/progress-element-indeterminate-crash.html:1 > +<!DOCTYPE html> nit: We could smaller code when using js-test-pre.js and js-test-post. Or just "<progress indeterminate=true></progress>PASS"
Dimitri Glazkov (Google)
Comment 3 2012-12-03 10:49:07 PST
Comment on attachment 174603 [details] Patch yosin has a good suggestion.
Shinya Kawanaka
Comment 4 2012-12-05 22:15:59 PST
Created attachment 177934 [details] Patch for landing
WebKit Review Bot
Comment 5 2012-12-05 22:34:05 PST
Comment on attachment 177934 [details] Patch for landing Clearing flags on attachment: 177934 Committed r136806: <http://trac.webkit.org/changeset/136806>
WebKit Review Bot
Comment 6 2012-12-05 22:34:08 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.