[Webkit-unassigned] [Bug 92272] ProgressTracker never completes if iframe detached during parsing
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 25 11:19:55 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=92272
--- Comment #2 from Charles Reis <creis at chromium.org> 2012-07-25 11:20:00 PST ---
Some observations about why this seems to be happening:
We call ProgressTracker::progressStarted() when the iframe starts loading, but we don't call ProgressTracker::progressCompleted() when the iframe gets to MainResourceLoader::didFinishLoading(). This is because FrameLoader::checkLoadCompleteForThisFrame() calls DocumentLoader::isLoadingInAPISense(), which returns true because we're still parsing the document.
The iframe later calls the parent's removeChild() on itself during parsing, so we get to FrameLoader::frameDetached. From there, we get to DocumentLoader::stopLoading(), which returns early because isLoading() is false (even though isLoadingInAPISense() is true).
One way to fix this bug is by checking isLoadingInAPISense() instead of isLoading() in DocumentLoader::stopLoading(). I'm not familiar enough with this code to be certain, but that does seem like a reasonable approach to me.
--
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