WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
28842
[GTK] Do not emit extra FINISHED load-status signals
https://bugs.webkit.org/show_bug.cgi?id=28842
Summary
[GTK] Do not emit extra FINISHED load-status signals
Xan Lopez
Reported
2009-08-31 01:49:02 PDT
We are emitting extra finished load-status signals when loading pages that will error. Example of the current flow: - Try to load bogus page ** (epiphany:30316): DEBUG: NOTIFY STATUS PROVISIONAL about:blank ** (epiphany:30316): DEBUG: dispatchDidFailProvisionalLoad dispatchDidFailProvisionalLoad calls dispatchDidFailLoad ** (epiphany:30316): DEBUG: dispatchDidFailLoad - The load fails, we start loading the error page ** (epiphany:30316): DEBUG: NOTIFY STATUS PROVISIONAL about:blank - dispatchDidFailLoad emits FINISHED ** (epiphany:30316): DEBUG: NOTIFY STATUS FINISHED about:blank - dispatchDidFailProvisionalLoad *also* emits FINISHED ** (epiphany:30316): DEBUG: NOTIFY STATUS FINISHED about:blank - The error page loads succesfully ** (epiphany:30316): DEBUG: NOTIFY STATUS COMMITTED
http://suaoehuoeuh.com/
** (epiphany:30316): DEBUG: NOTIFY STATUS FIRST_VISUALLY_NON_EMPTY_LAYOUT
http://suaoehuoeuh.com/
** (epiphany:30316): DEBUG: NOTIFY STATUS FINISHED
http://suaoehuoeuh.com/
Basically, I don't think there's a reason we should emit the FINISHED status ourselves, we receive those we need to emit from WebCore. Removing that we get: ** (epiphany:27885): DEBUG: NOTIFY STATUS PROVISIONAL about:blank ** (epiphany:27885): DEBUG: dispatchDidFailProvisionalLoad ** (epiphany:27885): DEBUG: dispatchDidFailLoad ** (epiphany:27885): DEBUG: NOTIFY STATUS PROVISIONAL about:blank ** (epiphany:27885): DEBUG: NOTIFY STATUS COMMITTED
http://usoethuoeau.com/
** (epiphany:27885): DEBUG: NOTIFY STATUS FIRST_VISUALLY_NON_EMPTY_LAYOUT
http://usoethuoeau.com/
** (epiphany:27885): DEBUG: NOTIFY STATUS FINISHED
http://usoethuoeau.com/
Which goes from PROVISIONAL to FINISHED, with one extra PROVISIONAL in the middle (which is ok) because the original page failed loading.
Attachments
noextrafinished.patch
(2.85 KB, patch)
2009-08-31 01:53 PDT
,
Xan Lopez
eric
: review-
Details
Formatted Diff
Diff
onlyonefinished.patch
(12.06 KB, patch)
2009-08-31 06:34 PDT
,
Xan Lopez
jmalonzo
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Xan Lopez
Comment 1
2009-08-31 01:53:00 PDT
Created
attachment 38805
[details]
noextrafinished.patch Do not emit extra FINISHED load-status.
Eric Seidel (no email)
Comment 2
2009-08-31 02:50:55 PDT
Comment on
attachment 38805
[details]
noextrafinished.patch Can't we test this? I know we have loader delegate callback tests for Mac. It seems it should be easy enough to do something similar for Gtk. Seems silly to check in a change like this w/o automated testing. :(
Eric Seidel (no email)
Comment 3
2009-08-31 02:51:31 PDT
Comment on
attachment 38805
[details]
noextrafinished.patch r- for lack of tests, and lack of explanation of why testing is impossible. Feel free to mark r=? again with explanation.
Xan Lopez
Comment 4
2009-08-31 03:03:36 PDT
(In reply to
comment #3
)
> (From update of
attachment 38805
[details]
) > r- for lack of tests, and lack of explanation of why testing is impossible. > Feel free to mark r=? again with explanation.
Fair enough. I'm not totally sure the fix is correct (although IMHO it improves things), so in a way I simply wanted to get comments on it by uploading the patch, but you are right we should be adding tests for these things.
Xan Lopez
Comment 5
2009-08-31 06:34:07 PDT
Created
attachment 38814
[details]
onlyonefinished.patch Emit only one FINISHED load-status per cycle. Now with tests!
Jan Alonzo
Comment 6
2009-09-01 03:48:16 PDT
Comment on
attachment 38814
[details]
onlyonefinished.patch r=me.
Xan Lopez
Comment 7
2009-09-01 03:55:18 PDT
Landed as
r47924
, closing.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug