[Webkit-unassigned] [Bug 21068] New: Duplicate load progress start notifications
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Sep 24 11:45:58 PDT 2008
https://bugs.webkit.org/show_bug.cgi?id=21068
Summary: Duplicate load progress start notifications
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: NEW
Severity: Normal
Priority: P2
Component: Page Loading
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: brettw at chromium.org
On some layout tests, such as LayoutTests/fast/forms/empty-get.html,
FrameLoaderClient::postProgressStartedNotification() will get called twice in a
row without a corresponding "Finished" notification.
Clients use this message to start and stop throbbers and such, so duplicate
start messages probably don't matter, but it's a waste of time to restart them,
and it's potentially confusing.
When I load the layout test, the first call to progress start is the actual
page starting to load (from FrameLoader::load()). Then that kicks off a form
submit (I think) before that load has finished.
The second one starts by calling FrameLoader::submitFormAgain. This makes its
way to ProgressTracker::progressStarted() with m_numProgressTrackedFrames = 1
(the currently loading main frame). The test:
if (m_numProgressTrackedFrames == 0 || m_originatingProgressFrame == frame) {
passes because the frames match, and reset() is called which changes the
tracked frames back to 0. Then it dispatches another started notification.
I think having reset() call
frame->loader()->client()->postProgressFinishedNotification() is probably the
right solution, since it could be called from any number of places, and if the
progress tracker is reset, the client app should be notified of it.
An alternative solution would be to just not fire the started notification from
ProgressTracker::progressStarted if the tracked frames at the start of the
function was nonzero (effectively continuing the same load from the client's
perspective).
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list