NEW 74070
FrameLoaderClient::dispatchDidFinishLoading is invoked while FrameLoader::isLoading() still returns true
https://bugs.webkit.org/show_bug.cgi?id=74070
Summary FrameLoaderClient::dispatchDidFinishLoading is invoked while FrameLoader::isL...
Bernhard Bauer
Reported 2011-12-08 02:05:16 PST
http://crbug.com/105627 contains the following stack trace: [14867:14867:4346560372:FATAL:missing_plugin.cc(155)] Check failed: !plugin()->web_view()->mainFrame()->isLoading(). Backtrace: base::debug::StackTrace::StackTrace() [0x1960f52] logging::LogMessage::~LogMessage() [0x198a226] MissingPlugin::UpdateMessage() [0x1800dad] MissingPlugin::DidFinishLoading() [0x1801046] webkit::WebViewPlugin::didFinishLoad() [0x3aafd70] WebKit::FrameLoaderClientImpl::dispatchDidFinishLoad() [0x28ecdf7] WebCore::FrameLoader::checkLoadCompleteForThisFrame() [0x311d922] WebCore::FrameLoader::checkLoadComplete() [0x311e0ab] WebCore::FrameLoader::checkCompleted() [0x311607e] WebCore::FrameLoader::loadDone() [0x3115e30] WebCore::CachedResourceLoader::loadDone() [0x3166bfc] WebCore::SubresourceLoader::releaseResources() [0x3148598] WebCore::ResourceLoader::didFinishLoading() [0x3143da9] WebCore::SubresourceLoader::didFinishLoading() [0x314817a] WebCore::ResourceLoader::didFinishLoading() [0x31445b7] WebCore::ResourceHandleInternal::didFinishLoading() [0x29022c6] webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest() [0x3ad7334] webkit_glue::WebURLLoaderImpl::Context::HandleDataURL() [0x3ad7657] base::internal::RunnableAdapter<>::Run() [0x3ad86cf] base::internal::InvokeHelper<>::MakeItSo() [0x3ad8673] base::internal::Invoker<>::Run() [0x3ad85c4] base::Callback<>::Run() [0xa5b211] MessageLoop::RunTask() [0x198fa6b] MessageLoop::DeferOrRunPendingTask() [0x198fb85] MessageLoop::DoWork() [0x19903a7] base::MessagePumpDefault::Run() [0x19984b4] MessageLoop::RunInternal() [0x198f6ed] MessageLoop::RunHandler() [0x198f5a0] MessageLoop::Run() [0x198eeb3] RendererMain() [0x487ae98] (anonymous namespace)::RunZygote() [0x42c84ac] (anonymous namespace)::RunNamedProcessTypeMain() [0x42c8681] content::ContentMain() [0x42c8c16] ChromeTestLauncherDelegate::Run() [0x84c189] test_launcher::LaunchTests() [0x8a46ef] main [0x84bff1] 0x7f525e42ac4d 0x437a59 What happens here is that a check fails because WebFrame::isLoading() returns true after WebFrameClient::didFinishLoad has been called. Is there a subtle difference between "loading" as the WebFrame understands it and as the WebFrameClient does?
Attachments
Brady Eidson
Comment 1 2011-12-08 14:51:32 PST
(In reply to comment #0) > > What happens here is that a check fails because WebFrame::isLoading() returns true after WebFrameClient::didFinishLoad has been called. Is there a subtle difference between "loading" as the WebFrame understands it and as the WebFrameClient does? I don't know what your WebFrame::isLoading() does. That's port specific, in the WebKit layer.
Bernhard Bauer
Comment 2 2012-01-09 04:24:47 PST
WebFrame::isLoading() just returns WebCore::FrameLoader::isLoading(), which is not port specific.
jochen
Comment 3 2012-01-09 04:26:41 PST
isLoading() and didFinishLoading are just forwarding to and from FrameLoader
Note You need to log in before you can comment on or make changes to this bug.