[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