Open
Bug 223808
Opened 21 years ago
Updated 2 years ago
Reload button does not work after timeout
Categories
(Core :: DOM: Navigation, defect)
Core
DOM: Navigation
Tracking
()
NEW
People
(Reporter: david.balazic, Unassigned)
References
()
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 I opened the URL above by middle clicking on a link. I have the "middle button opens in new tab" & "load links in the background" options enabled. I also middle clicked another similar link. Both timed out ( a dialog appeared for both ), because the network had some temporarily problems. After a minute the network recovered. I tried to reload the problematic tabs by clicking the reload button. Nothing happened. The page remaimed empty, the tab stayed "(Untitled)" , the window title "Mozilla". The URL box has the correct URL. I tried the reload button several times, no response. Then I clicked in the URL box, typed ENTER and then it (re)loaded. Same problem with the second tab. RELOAD -> no response, also tried SHIFT-RELOAD and CTRL-RELOAD. I clicked GO and then the page loads. One can argue that nothing was loaded so there is nothing to reload, but it is not intuitive. The URL was already entered and once it was tried to be loaded, so it is "logical" to the user, that he retries by clicking RELOAD. Reproducible: Didn't try Steps to Reproduce:
Reporter | ||
Comment 1•21 years ago
|
||
I forgot to mention: when positioned on one of the failed tabs, ctrl-t does not open a new tab. If select a "normal" tab, ctrl-t opens a new empty tab. If I close it and select again the "bad" tab, ctrl-t does not work again.
Comment 2•21 years ago
|
||
sending this over to tab browser land. maybe it is doing something odd to cause this behavior. interesting that RELOAD and ENTER typed in url bar would not load the same URL. reporter: am i correct in assuming that this problem only occurs when using multiple tabs? -> tabbrowser
Assignee: darin → tabbed-browser
Component: Networking: HTTP → Tabbed Browser
Comment 3•21 years ago
|
||
"reload" uses the "current URI" of the docshell. If the request times out, the current uri of the docshell does not change (since there is never an OnStartRequest)....
Comment 4•21 years ago
|
||
bz: necko should produce OnStartRequest coupled with OnStopRequest with every request... whether the request fails or succeeds. timeout or otherwise. are you sure OnStartRequest is not being called?
Comment 5•21 years ago
|
||
Hmm.. Actually, OnStopRequest _is_ called, but the attempt to get the HTTP response status in nsDocumentOpenInfo::OnStartRequest fails (nsHttpChannel throws) and hence the URILoader never propagates that notification back to the docshell. In a way, that makes some sense -- the current URI of the docshell should not be changing if the actual page being shown did not change...
Comment 6•21 years ago
|
||
ok, but then at least the URL loaded when the user presses ENTER should not differ from the URL loaded when the user presses RELOAD.
Comment 7•21 years ago
|
||
Darin, if I focus the URL bar and type a bit and hit enter, I get a different page loading than if I focus and type and hit reload.... I suppose we could try to change the semantics of "reload" to mean "repeat the last load that either completed successfully in this docshell or did not complete successfully".... I'm not quite sure who (apart from radha) knows that code, though...
Reporter | ||
Comment 8•21 years ago
|
||
should I open a separate bug for ctrl-t not working ?
Comment 9•21 years ago
|
||
If one does not exist (doubtful), then yes. Keyboard nav component.
Reporter | ||
Comment 10•21 years ago
|
||
I opened bug 224036 for the ctrl-t issue. The reload issue is also happening in : Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4.1) Gecko/20031008
Comment 11•21 years ago
|
||
So the point is that the browser's "reload" UI needs to only use the docshell's URL if the last time it tried to start a load that load "worked" (it at least got some progress reports). Otherwise it just needs to call loadURI() with the last URI it tried... You can reproduce this issue even without a network timeout -- type in a URL that will get handled in a helper, then hit reload. The current page will reaload, instead of realoading the request that got handled by a helper.
Comment 12•21 years ago
|
||
Note that I would be OK with pushing the logic I described in comment 11 down into docshell itself (which implements the webnavigation reload() method) if we are sure that _all_ embeddors want that behavior. Or we could add a flag to reload() that allows controlling the behavior. Or we could leave it entirely up to the embeddor to decide, per my original suggestion. CCing some embedding types to comment on the issues.
Comment 13•21 years ago
|
||
hrm, will this only affect the *first* URI loaded in the docshell? If I already have a page loaded, I expect the "reload" button to reload that, not whatever is in the URL bar. My suggestion, if it's not too hard, would be to set the docshell URI to the first page it tries to load, even if that fails.
Comment 14•21 years ago
|
||
Doing that is likely to cause all sorts of session history problems... The idea I was suggesting is that the URI of a "failed load" would be stored somewhere either by docshell or the embeddor. It would be reset on a "successful load". "reloat" would try the "failed load" URI if it exists; the docshell URI otherwise.
Comment 15•21 years ago
|
||
This also happens with URLs that gave a 'Connection Refused' dialog, although CTRL+T still opens a new tab. Maybe I should file a new bug? Couldn't find a URL that would time out (rather than refuse the connection) to test the reported issue.
Comment 16•21 years ago
|
||
No need for a new bug -- that's this bug.
Comment 17•19 years ago
|
||
This is an automated message, with ID "auto-resolve01". This bug has had no comments for a long time. Statistically, we have found that bug reports that have not been confirmed by a second user after three months are highly unlikely to be the source of a fix to the code. While your input is very important to us, our resources are limited and so we are asking for your help in focussing our efforts. If you can still reproduce this problem in the latest version of the product (see below for how to obtain a copy) or, for feature requests, if it's not present in the latest version and you still believe we should implement it, please visit the URL of this bug (given at the top of this mail) and add a comment to that effect, giving more reproduction information if you have it. If it is not a problem any longer, you need take no action. If this bug is not changed in any way in the next two weeks, it will be automatically resolved. Thank you for your help in this matter. The latest beta releases can be obtained from: Firefox: http://www.mozilla.org/projects/firefox/ Thunderbird: http://www.mozilla.org/products/thunderbird/releases/1.5beta1.html Seamonkey: http://www.mozilla.org/projects/seamonkey/
Comment 18•19 years ago
|
||
Well, error pages work around most of these issues these days...
Comment 19•19 years ago
|
||
Not a tabbed browser issue; this is a docshell api question. See comment 12. Note that if we're going to freeze nsIWebNavigation we should sort this out first.
Assignee: tabbed-browser → adamlock
Blocks: 99625
Status: UNCONFIRMED → NEW
Component: Tabbed Browser → Embedding: Docshell
Ever confirmed: true
OS: Windows 2000 → All
QA Contact: networking.http → adamlock
Hardware: PC → All
Updated•15 years ago
|
Assignee: adamlock → nobody
QA Contact: adamlock → docshell
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•