Closed Bug 32049 Opened 25 years ago Closed 24 years ago

meta refresh overrides pending location.replace

Categories

(Core :: Networking, defect, P3)

x86
Windows 98
defect

Tracking

()

RESOLVED FIXED
mozilla0.9.1

People

(Reporter: norrisboyd, Assigned: radha)

References

()

Details

Attachments

(2 files)

Opened from bug 9472 since it was discovered that this was a separate issue.
IMHO location.replace should abort any pending activities on a page (including meta refreshes) ->jud
Assignee: gagan → valeski
Target Milestone: --- → M17
Moving post beta bugs to M18 which is now the post-beta milestone.
Target Milestone: M17 → M18
I suspect this broke w/ webshell changes. I'm making this dependent on our other meta refresh problem, once it's fixed, I bet this works again.
Depends on: 36371
I can't repro this.
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → WORKSFORME
Attached file testcase showing the problem... (deleted) —
This is still (again?) a problem, the testcase I just attached contains: <html> <SCRIPT LANGUAGE="JavaScript1.1"> document.location.replace("http://my.netscape.com"); </SCRIPT> <META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.mozilla.org"> </script> <body> You should not see this text! </body> </html> and if you load that it should simply take you to http://my.netscape.com, but in stead it loads the file, showing the text "You should not see this text!" and then it goes off to http://www.mozilla.org. When document.location is set the docshell is told to load the new url by calling nsDocShell::LoadURI(), this should stop the current loads and load the the new URI. When chatting with Vidur about a related problem he noticed that there are more than one "stop" method in nsDocShell, there's Stop, StopLoad and StopCurrentLoads, When document.location is set, it calls nsDocShell::LoadURI(), which calls nsDocShell::StopCurrentLoads(), which calls nsDocShell::StopLoad(). The problem seems to be that the currently loading document is not properly stopped tho and the reason for this is that nsDocShell::StopLoad() doesn't call Stop() on the content viewer (mContentViewer), whereas nsDocShell::Stop() does call Stop() on the content viewer. I suppose one sollution to this problem would be to simply add mContentViewer->Stop() to nsDocShell::StopLoads(), but this whole "stop" mess in nsDocShell should IMO be cleaned up, if possible...
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Attached patch proposed fix (deleted) — Splinter Review
bug 37267 is similar to this bug, and may be a duplicate of it. The other bug is currentally considered more serious, servity is Major. Netcenter is worried about issuses that may be related to this bug.
Netcenter has changed the HTML on this page. See bug 37267 for details. The page in the URL now works with Mozilla. This bug should not be closed as works for me. The bug is still there, The Netcenter page just no longer tests it.
Target Milestone: M18 → mozilla1.0
I have to look in to this. Is this still reproducible?
Assignee: valeski → radha
Status: REOPENED → NEW
Status: NEW → ASSIGNED
Target Milestone: mozilla1.0 → mozilla0.9.1
This got resolved as part of another bug. In the testcase attached, mozilla goes rto my.netscape.com instead of mozilla.org
Status: ASSIGNED → RESOLVED
Closed: 25 years ago24 years ago
Resolution: --- → FIXED
QA Contact: tever → benc
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: