Bug 27402
| Summary: | Page will never finish loading if ResourceHandle::create() fails | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Grace Kloba <klobag> |
| Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
| Status: | UNCONFIRMED | ||
| Severity: | Normal | ||
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | PC | ||
| OS: | OS X 10.5 | ||
Grace Kloba
The frame is not completed until all the outstanding requests are finished. In loader.cpp load(...), it calls incrementRequestCount(). decrementRequestCount() will be called when a resource is fulled loaded or failed.
In Loader::Host::servePendingRequests(..), SubresourceLoader::create(..) calls into ResourceLoader::load(..). If ResourceHandle::create(..) fails, it still returns true.
If this ever happen, the page will always think that there is outstanding requests.
I don't have a way to reproduce it. But if you can hard code ResourceHandle::start(..) to return false, you can see the bug.
I think the return of ResourceLoader::load(..) should be "m_handle != NULL".
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |