Closed Bug 82498 Opened 23 years ago Closed 23 years ago

QUIRKS: Don't execute <script> after </frameset>, infinite loop

Categories

(Core :: DOM: HTML Parser, defect)

defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla0.9.2

People

(Reporter: dbaron, Assigned: harishd)

References

()

Details

(Keywords: hang, Whiteboard: [fix in hand])

Attachments

(2 files)

DESCRIPTION:  Loading the NPMOC web page causes an infinite loop of new windows
to open.  I'm guessing this could be frames-related, although I could easily be
wrong.  (The URL bouncing back and forth between the page and the subframe could
just be because of the URLbar-shows-frame-URL bug.)  But I have to file it
somewhere...

STEPS TO REPRODUCE:
 * load http://www.npmoc.navy.mil/ in Mozilla

ACTUAL RESULTS:
 * window after window opens

EXPECTED RESULTS:
 * page loads

DOES NOT WORK CORRECTLY ON:
 * Linux, mozilla, my optimized build of 2001-05-23

ADDITIONAL INFORMATION:
I'd say this might be similar to bug 74616, except I can't reproduce bug 74616.
This page looks just plain wrong, the only question that remains to be answered
is "Why don't IE and Nav 4x loop infinitely?". Is it because they don't set
location.href if it is equal to the current location, or because they don't
evaluate scripts inside <body>'s after <frameset>'s are encountered?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<title>NAVPACMETOCCEN/JTWC</title>
<!--Approved by: LT Christopher Stack - CODE 40 - Last REV 01/01/99 - -->
</HEAD>

<frameset cols="100%" rows="62,*">
        <frame name="header" src="navbar.htm" scrolling="no">
        <frame name="main" src="main/main.html" scrolling="auto">
        </frameset>
</frameset>
<body>
<script language="javascript">
<!--
  location.href="http://www.npmoc.navy.mil"
-->
</script>
</body>
</HTML>
After a little bit of playing around, it seems that Nav 4.x and IE 5.x both
refuse to execute scripts in a frameset document if the script appears after the
</frameset>.  (Ignoring the fact that this script will cause syntax errors in
4.x *anyway* because the <!-- is not commented out with a //.)

Handing this to Harish, who would know some content sink or parser magic to make
this happen (in quirks mode only?)
Assignee: pollmann → harishd
Component: HTMLFrames → Parser
Keywords: 4xp, hang
OS: Linux → All
Hardware: PC → All
Summary: infinite loop of new windows → QUIRKS: Don't execute <script> after </frameset>, infinite loop
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.2
Whiteboard: [fix in hand]
You need to match the call to nsIScriptLoader::Suspend() with a corresponding
call to nsIScriptLoader::Resume().
*** Bug 84592 has been marked as a duplicate of this bug. ***
Blocks: 83989
a= asa@mozilla.org for checkin to the trunk.
(on behalf of drivers)
Fix is in.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Verified on:
build: 2001-07-02-04-Trunk
platform: WinNT

The above url loads fine.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: