Closed Bug 56501 Opened 24 years ago Closed 24 years ago

Dealing with noscript bugs - the new way

Categories

(Core :: DOM: HTML Parser, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: harishd, Assigned: harishd)

References

Details

(Whiteboard: [rtm++][Fix in hand][a=vidur,scc r=jst])

Attachments

(5 files)

I'm attaching the mail that I sent out:

From the time NOSCRIPT got enabled we've been seeing a significant amount of
regressions.The primary reason for this is the way NOSCRIPT contents are
interpreted. That is, noscript seems to be considered equivalent to #ifdef (!!)
whereas it is not.  Because of this notion we're forced to deal with lots (
countless ) of wackiness. Theoretically speaking all these wackiness could be
corrected at some point of the project...but practically it's just not
possible to predict what kind of ugliness we might get into and will become
virtually impossible to fix 'em all.. In order to
avoid such a predicament here are a few suggestions:

1) Throw away NOSCRIPT content when JS is enabled.
     Upside - Noscript content cannot interfere with the rest of the content and
therefore will guarantee a good layout.
    Downside - Editor will suffer data loss!!!!

2) Collect NOSCRIPT content as *text* when JS is enabled.
    Upside - Noscript content cannot interfere with the rest of the content and
therefore will guarantee a good layout.
    Downside - Editor/Serializer should deal with this content as a special
case. No data loss.

3) If either of the above could not be done within the given time frame, that's
by 10/13/00, then we have to live with existing patch fixes ( as a backup plan ).
   Upside - A few of the know problems will be fixed.
   Downside - There could be hidden regressions.
Will attach a patch for plan 2..
Status: NEW → ASSIGNED
Keywords: rtm
Blocks: 54571, 54845, 55036, 55462
Blocks: 54889
Blocks: 55119
Blocks: 52136
No longer blocks: 54889
Btw a=vidur and r=jst [ for parser/sink changes ], r=me [ for serializer 
changes ]
Patch of 10/13/00 14:36 looks good; though there is extra logic around ending a
CDATA container that probably doesn't need to be there ... since you can't be
nesting any actual elements, there's no need to test on exit to reset
|mInCDATA|, it can be reset unconditionally.  Other than that, sr=scc.
I should note that jst made me aware during the review of the outstanding bug
(for which a bug should be filed) with entity replacement in the HTML fragment
sink that is exposed by this work.
Marking rtm+ for PDT approval.
Whiteboard: [rtm+][Fix in hand][parser-sink a=vidur r=jst][serializer r=me a=scc]
I'm convinced we need to give good consideration to this... so it should be
first landed on the trunk.
This is also big enough (and time late enough) that if you know of other folks
that could help with additional reviews, that would be helpful in holding down
the risk.
Please land on the trunk, and then report back with any regression info.  I
expect that basic browsing will be tested aggressively on the trunk, so I'm
hoping for could exposure of problems.
Please also tell me how the top 100 sites do with this patch (I believe you have
some way to test such parser changes in an automated fashion??).
Marking need info, till we have 24 hours of trunk-cook-time.
Whiteboard: [rtm+][Fix in hand][parser-sink a=vidur r=jst][serializer r=me a=scc] → [rtm need info][Fix in hand][parser-sink a=vidur r=jst][serializer r=me a=scc]
r=jst for the 10/14/00 15:17 patch.
went over these changes carefully both with Harish and with Johnny; had Harish
run them for me in both a js-enabled and a js-disabled state, and examined both
the output and the actual tree.  He then made the suggested improvements and
also built and tested top 100 on an additional platform.  sr=scc.
Removing rtm need info and marking rtm+ ( since the changes are in the trunk - 
as requested by jar ).
Whiteboard: [rtm need info][Fix in hand][parser-sink a=vidur r=jst][serializer r=me a=scc] → [rtm+][Fix in hand][parser-sink a=vidur r=jst][serializer r=me a=scc]
Whiteboard: [rtm+][Fix in hand][parser-sink a=vidur r=jst][serializer r=me a=scc] → [rtm+][Fix in hand][a=vidur,scc r=jst]
PDT says rtm++
Whiteboard: [rtm+][Fix in hand][a=vidur,scc r=jst] → [rtm++][Fix in hand][a=vidur,scc r=jst]
Fix is in ( both branch & trunk ). Marking FIXED.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
*** Bug 61181 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: