Bug 111915 - FrameView::handleLoadCompleted() is called multiple times per load, before the load is completed
Summary: FrameView::handleLoadCompleted() is called multiple times per load, before th...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-08 18:59 PST by Tim Horton
Modified: 2013-03-09 21:23 PST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Horton 2013-03-08 18:59:24 PST
FrameLoader::checkCompleted() unconditionally calls FrameView::handleLoadCompleted() — even if the load is not completed.

Thus. the naming seems a bit ... wrong.

Antti says it was added for deferred repaints, but now it’s also been adopted for autosizing too, where it’s probably wasting time doing non-final sizing.
Comment 1 David Levin 2013-03-09 21:23:04 PST
Good point.

It was named more specifically in the past "checkFlushDeferredRepaintsAfterLoadComplete" but the name still implied that it was only called after the load completed.

I suppose that there could be  new function on FrameView for the deferred repaints (processDeferredRepaints) called where handleLoadCompleted is now. And then call handleLoadCompleted only where the load really is completed! :)

PS I'm really glad to see that other ports have found the function useful. (At one point in Chromium, it was going this cross process and that was just wrong because it could and occasionally did end up in an infinite feedback loop.)