Closed Bug 170021 Opened 18 years ago Closed 11 years ago

URL reloads continuously due to invalid meta refresh

Categories

(Core :: DOM: Navigation, defect, major)

defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: mkaply, Assigned: adamlock)

References

()

Details

Attachments

(5 files)

I can't even explain what is happening here.

Try to load the above URL and Mozilla just spins just trying to load it. It
continually tries to load it.

Build is 1.2a
I agree this site is not available to build 200209014; it cyclically reloads on
the robots info page. Interestingly what should appear is rendered just before
loading a different page!
I think you may find additional comments and some possible reasons for this page
failing to load at
http://slashdot.org/comments.pl?sid=40368&threshold=0&commentsort=0&tid=137&mode=thread&pid=4300401#4300530
It also happens in Linux. But as the last comment said, it really has some
stupid refresh in it. Probably INVALID or Tech Evangelism.

pi
OS: Windows 2000 → All
Hardware: PC → All
This still begs the question why it works in IE and Netscape 4.x..
-> reassign to docshell component

adam, radha: here's yet another site with an invalid meta redirect... IE and NN4
manage ok, so perhaps we should too??
Component: Networking: HTTP → Embedding: Docshell
Summary: URL won't load properly → URL reloads continuously due to invalid meta refresh
reassigning for real :)
Assignee: darin → adamlock
QA Contact: httpqa → adamlock
The meta refresh is in the "http://www.undetectables.com/" frame that the url
above loads. It is:

<meta http-equiv="refresh" content=";URL=">

Is the answer here to ignore it?
Documentation says the following refresh URI strings are acceptable. For some
reason the comments say URI though it is URL that is parsed for.

// "" || ";" || "," 
//  empty string. use the currently loaded URI
//  and refresh immediately.
// "X" || "X;" || "X,"
//  Refresh the currently loaded URI in X seconds.
// "X; URI" || "X, URI"
//  Refresh using URI as the destination in X seconds.
// "URI" || "; URI" || ", URI"
//  Refresh immediately using URI as the destination.

Therfore according to this, the site's ";URL=" is nearly legal except for that
equals sign on the end. Unfortunately this syntax is hopelessly undocumented, I
haven't found any detailed mention of the grammar for this thing.

Does anyone know if there's an RFC/doc for this? I search around
devedge.netscape.com and found some example, but no grammar. 

http://developer.netscape.com/docs/manuals/htmlguid/tags3.htm#1697602
http://wp.netscape.com/assist/net_sites/pushpull.html

Personally I reckon the code should do nothing if no URL and no time is
specified, but if there are sites relying on this behaviour they will break.

Opinions?
*** Bug 141947 has been marked as a duplicate of this bug. ***
duplicate of bug 109076 ?
*** Bug 109076 has been marked as a duplicate of this bug. ***
*** Bug 187006 has been marked as a duplicate of this bug. ***
Attached file Testcase 1
Test case 1 contains a broken refresh string (no semicolon between seconds and
url)

<meta http-equiv="refresh" content="0 URL=http://www.mozilla.org/">
Attached file Testcase 2
Testcase 2

<meta http-equiv="refresh" content=";URL=">

This empty refresh while valid makes Mozilla spin around forever which is
undesirable behaviour.
Attached file Testcase 3
Testcase 3

<meta http-equiv="refresh" content="0xyz,URL=http://www.mozilla.org/">

Garbage in the seconds field
Attached patch PatchSplinter Review
Patch fixes all three testcases. Mozilla does nothing now in the case of
content=";URI="
*** Bug 145654 has been marked as a duplicate of this bug. ***
Comment on attachment 111053 [details] [diff] [review]
Patch

Radha, can you review this please?
Attachment #111053 - Flags: review?(radha)
Attachment #111053 - Flags: review?(radha) → review+
Attachment #111050 - Attachment mime type: text/plain → text/html
Attachment #111051 - Attachment mime type: text/plain → text/html
Attachment #111052 - Attachment mime type: text/plain → text/html
Comment on attachment 111053 [details] [diff] [review]
Patch

Hi Alec, can I have an sr on this patch? The patch attempts to make the meta
refresh string parser more tolerant of formatting issues such as forgetting the
comma and not specifying a uri or a refresh time.

Approval risk summary. This bug has been duped quite a bit so it will be a
visible fix for sites busted because of bad meta refreshes. Existing
functionality appears to be preserved on the sites I've tried it with.
Attachment #111053 - Flags: superreview?(alecf)
Attachment #111053 - Flags: approval1.3b?
Comment on attachment 111053 [details] [diff] [review]
Patch

sr=alecf but should we ignore the redirect entirely, or make it a zero-second
redirect?
Attachment #111053 - Flags: superreview?(alecf) → superreview+
The problem with ";URL=" is that continuously refreshes the page to itself which
results in browser misbehaviour. The patch now makes refresh do nothing at all
if neither a time nor a URL is specified. 

If the site want this continuous refresh behaviour they can be specific and put
"0" as their the meta refresh value and everything should be fine.
ah! good point.
Comment on attachment 111053 [details] [diff] [review]
Patch

a=asa (on behalf of drivers) for checkin to 1.3beta.
Attachment #111053 - Flags: approval1.3b? → approval1.3b+
Fix is checked in
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
WFM for bugs 170021 and 145654
Using build 1.3b

Great job guys.
PM
*** Bug 166040 has been marked as a duplicate of this bug. ***
*** Bug 144391 has been marked as a duplicate of this bug. ***
*** Bug 127026 has been marked as a duplicate of this bug. ***
*** Bug 185323 has been marked as a duplicate of this bug. ***
The fix only partially fixed testcase 2, where the URL is not blank, a content
of ; URL=valid_url will refresh immediately.

IE6 will not refresh.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached file Testcase 3
Testcase with no seconds value for the time, <meta http-equiv="refresh"
content=";URL=http://www.mozilla.org/">
Eric

Are you saying that testcase 3 should NOT do a refresh? I know that IE does not.
*** Bug 265113 has been marked as a duplicate of this bug. ***
all testcases WFM 

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3pre) Gecko/20081222 Shiretoko/3.1b3pre
Status: REOPENED → RESOLVED
Closed: 17 years ago11 years ago
QA Contact: adamlock → docshell
Resolution: --- → FIXED
Could use regression tests here.
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.