[Webkit-unassigned] [Bug 100791] ResourceLoader can start itself in cancel()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 31 07:28:16 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=100791





--- Comment #6 from Yong Li <yoli at rim.com>  2012-10-31 07:29:36 PST ---
(In reply to comment #3)
> > I've seen ResourceLoader starting itself in when cancelling.
> > 
> > The sequence is like:
> > 
> > DocumentLoader::stopLoading() cancels a ResourceLoader for a subresource which hasn't been started yet.
> > ResourceLoader::cancel() calls releaseResources() which is a virtual function
> > SubresourceLoader::releaseResources() triggers CachedResourceLoader::loadDone()
> > CachedResourceLoader::loadDone() triggers ResourceLoadScheduler::servePendingRequests() which starts the same job
> > ResourceLoader::start() is called..
> > ...
> > SubresourceLoader::releaseResources() calls ResourceLoader::releaseResources() at the end
> > ResourceLoader::releaseResources() removes itself from ResourceLoadScheduler's list, however, it is too late!
> > ResourceLoader::releaseResources() clears ResourceHandle's client but it doesn't cancel the job. So the real networking job could still be performed, depending on the implementation.
> > 
> 
> To be absolutely clear - This backtrace is the *same* ResourceLoader in ::cancel() as it is in ::start()?  And not a different ResourceLoader start()ing as a result of a different one cancel()ing?

Yes. It is exactly same ResourceLoader...

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list