fixed bug 36449

This commit is contained in:
rickg%netscape.com 2000-05-09 00:29:59 +00:00
parent fc1b005b84
commit 55b13d61a8
6 changed files with 20 additions and 10 deletions

View File

@ -940,7 +940,7 @@ nsresult CNavDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,nsI
PRBool theParentContains=-1;
do {
eHTMLTags theParentTag=mBodyContext->TagAt(--theIndex);
theParentContains=CanContain(theParentTag,aChildTag); //precompute containment, and pass it to CanOmit()...
@ -1281,7 +1281,7 @@ nsresult CNavDTD::HandleKeyGen(nsIParserNode* aNode) {
theFormType.AssignWithConversion("select");
result=theFormProcessor->ProvideContent(theFormType,theContent,theAttribute);
//result=theFormProcessor->ProvideContent(theFormType,theContent,theAttribute);
if(NS_SUCCEEDED(result)) {
nsString* theTextValue=nsnull;

View File

@ -624,7 +624,7 @@ void InitializeElementTable(void) {
/*req-parent excl-parent*/ eHTMLTag_unknown,eHTMLTag_unknown,
/*rootnodes,endrootnodes*/ &gRootTags,&gRootTags,
/*autoclose starttags and endtags*/ &gHRAutoClose,0,0,0,
/*parent,incl,exclgroups*/ kBlock, kNone, kNone,
/*parent,incl,exclgroups*/ kSpecial, kNone, kNone,
/*special props, prop-range*/ kNonContainer,kDefaultPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown);
@ -1037,6 +1037,9 @@ void InitializeElementTable(void) {
Initialize(
// I made span a special% tag again, (instead of inline).
// This fixes the case: <font color="blue"><p><span>text</span>
/*tag*/ eHTMLTag_span,
/*req-parent excl-parent*/ eHTMLTag_unknown,eHTMLTag_unknown,
/*rootnodes,endrootnodes*/ &gRootTags,&gRootTags,
@ -1044,7 +1047,7 @@ void InitializeElementTable(void) {
/*parent,incl,exclgroups*/ kInlineEntity, (kInlineEntity|kSelf|kFlowEntity), kNone,
/*special props, prop-range*/ 0,kDefaultPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown);
Initialize(
/*tag*/ eHTMLTag_strike,

View File

@ -480,7 +480,7 @@ nsDTDMode nsParser::GetParseMode(void){
* @return parsermode (define in nsIParser.h)
*/
static
void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType aDocType) {
void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType& aDocType) {
const char* theModeStr= PR_GetEnv("PARSE_MODE");
aParseMode = eDTDMode_unknown;
@ -507,6 +507,7 @@ void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType a
if(0<=theSubIndex) {
aDocType=eXHTMLText;
aParseMode=eDTDMode_strict;
return;
}
else {
theSubIndex=aBuffer.Find("ISO/IEC 15445:",PR_TRUE,theIndex+8,theEnd-(theIndex+8));
@ -515,6 +516,7 @@ void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType a
aParseMode=eDTDMode_strict;
theMajorVersion=4;
theSubIndex+=15;
return;
}
else {
theSubIndex=aBuffer.Find("HTML",PR_TRUE,theStartPos,theCount);

View File

@ -940,7 +940,7 @@ nsresult CNavDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,nsI
PRBool theParentContains=-1;
do {
eHTMLTags theParentTag=mBodyContext->TagAt(--theIndex);
theParentContains=CanContain(theParentTag,aChildTag); //precompute containment, and pass it to CanOmit()...
@ -1281,7 +1281,7 @@ nsresult CNavDTD::HandleKeyGen(nsIParserNode* aNode) {
theFormType.AssignWithConversion("select");
result=theFormProcessor->ProvideContent(theFormType,theContent,theAttribute);
//result=theFormProcessor->ProvideContent(theFormType,theContent,theAttribute);
if(NS_SUCCEEDED(result)) {
nsString* theTextValue=nsnull;

View File

@ -624,7 +624,7 @@ void InitializeElementTable(void) {
/*req-parent excl-parent*/ eHTMLTag_unknown,eHTMLTag_unknown,
/*rootnodes,endrootnodes*/ &gRootTags,&gRootTags,
/*autoclose starttags and endtags*/ &gHRAutoClose,0,0,0,
/*parent,incl,exclgroups*/ kBlock, kNone, kNone,
/*parent,incl,exclgroups*/ kSpecial, kNone, kNone,
/*special props, prop-range*/ kNonContainer,kDefaultPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown);
@ -1037,6 +1037,9 @@ void InitializeElementTable(void) {
Initialize(
// I made span a special% tag again, (instead of inline).
// This fixes the case: <font color="blue"><p><span>text</span>
/*tag*/ eHTMLTag_span,
/*req-parent excl-parent*/ eHTMLTag_unknown,eHTMLTag_unknown,
/*rootnodes,endrootnodes*/ &gRootTags,&gRootTags,
@ -1044,7 +1047,7 @@ void InitializeElementTable(void) {
/*parent,incl,exclgroups*/ kInlineEntity, (kInlineEntity|kSelf|kFlowEntity), kNone,
/*special props, prop-range*/ 0,kDefaultPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown);
Initialize(
/*tag*/ eHTMLTag_strike,

View File

@ -480,7 +480,7 @@ nsDTDMode nsParser::GetParseMode(void){
* @return parsermode (define in nsIParser.h)
*/
static
void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType aDocType) {
void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType& aDocType) {
const char* theModeStr= PR_GetEnv("PARSE_MODE");
aParseMode = eDTDMode_unknown;
@ -507,6 +507,7 @@ void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType a
if(0<=theSubIndex) {
aDocType=eXHTMLText;
aParseMode=eDTDMode_strict;
return;
}
else {
theSubIndex=aBuffer.Find("ISO/IEC 15445:",PR_TRUE,theIndex+8,theEnd-(theIndex+8));
@ -515,6 +516,7 @@ void DetermineParseMode(nsString& aBuffer,nsDTDMode& aParseMode,eParserDocType a
aParseMode=eDTDMode_strict;
theMajorVersion=4;
theSubIndex+=15;
return;
}
else {
theSubIndex=aBuffer.Find("HTML",PR_TRUE,theStartPos,theCount);