It's possible to hit the assertion in ResourceHandle::setDefersLoading() in the following sequence
- We create a ResourceLoader (subresource loader) with defersLoading = false
- But the ResourceLoader hasn't been added to the subresource list in DocumentLoader and instead is sitting the pending requests list in ResourceLoadScheduler.
- Page::setDefersLoading(true) gets called which changes the flag on all subresources except those sitting in the pending requests list.
- Later, the request in the pending request list get started which adds them into the subresource list in DocumentLoader
- A subsequent call to Page::setDefersLoading() triggers the assert.
Created attachment 130704 [details]
Comment on attachment 130704 [details]
Committed r110349: <http://trac.webkit.org/changeset/110349>