Closed Bug 36872 Opened 26 years ago Closed 26 years ago

Compatibility mode testing should be reviewed

Categories

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

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: emk, Assigned: rickg)

References

()

Details

Attachments

(3 files)

The mode testing code such as "mode != eParseMode_noquirks" is broken now since new eParseMode_strict is erroneously treated as quirks. They should be changed to "mode == eParseMode_quirks" or "mode != eParseMode_strict". It is case-by-case which change is better. Similarly, "mode == eParseMode_noquirks" should be changed to "mode != eParseMode_quirks" or "mode == eParseMode_strict".
Do you know of a specific problem, or this is just "being careful"?
Attached file quirks mode testcase —
Attached file strict mode testcase —
Currently, only (nonexistent) "HTML 6.0" (or later) DOCTYPES are handled in noquirks, so I couldn't attach a noquirks testcase. HTML 4.0 (Strict) is handled in strict, but comments are parsed as if it is handled in quirks.
Here is all noquirks/strict problems I found: http://www3.airnet.ne.jp/emk/moz/doctypes.cgi
*** Bug 36995 has been marked as a duplicate of this bug. ***
Blocks: 36022
Fixed in my tree, awaiting chance to land.
Status: NEW → ASSIGNED
Fixed in my tree.
Fixed by changing _noquirks to _strict.
Fixed by changing _noquirks to _strict.
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Verified using 2000050408 nightly build on Windows 2000.
Status: RESOLVED → VERIFIED
Reopening. My understanding was that the difference between noquirks and strict was only in the parser. Therefore the tests should have been changed from == noquirks to != quirks != noquirks to == quirks The current code looks very wrong.
Status: VERIFIED → REOPENED
Um, I don't think so. David if you have a particular concern, raise it. But the code was changed to reflect quirks vs. strict, and no_quirks has been removed.
Status: REOPENED → RESOLVED
Closed: 26 years ago → 26 years ago
Resolution: --- → FIXED
David: in order to fix a regression on bug 18817, I just checked in the following change per suggestion of VYV03354@nifty.ne.jp. /layout/html/document/src/nsHTMLContentSink.cpp, line 3715: if (eDTDMode_noquirks== mode) { should be: if (eDTDMode_strict == mode) { In that case at least, the fix is correct. I don't think that changing "==noquirks" to "!=quirks" everywhere is the right thing to do.
updated qa contact.
QA Contact: janc → bsharma
Verified on 2001-07-19-branch on WinNT The attached test cases loads fine.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: