diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp index eef1875b9a2..6901374b411 100644 --- a/mozilla/htmlparser/src/CNavDTD.cpp +++ b/mozilla/htmlparser/src/CNavDTD.cpp @@ -1064,7 +1064,20 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode if(gHTMLElements[aTag].mSkipTarget) { result=CollectSkippedContent(aNode,theAttrCount); } - + + //this little gem creates a special attribute for the editor team to use. + //The attribute only get's applied to unknown tags, and is used by ender + //(during editing) to display a special icon for unknown tags. + + if(eHTMLTag_userdefined==aTag) { + CAttributeToken* theToken= (CAttributeToken*)mTokenRecycler->CreateTokenOfType(eToken_attribute,aTag); + if(theToken) { + theToken->mTextKey.AssignWithConversion("-moz-userdefined"); + aNode.AddAttribute(theToken); + } + } + + STOP_TIMER() MOZ_TIMER_DEBUGLOG(("Stop: Parse Time: CNavDTD::WillHandleStartTag(), this=%p\n", this)); @@ -1088,7 +1101,7 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode STOP_TIMER() - if(eHTMLTag_meta==aTag) { + if(eHTMLTag_meta==aTag) { PRInt32 theCount=aNode.GetAttributeCount(); if(1CreateTokenOfType(eToken_attribute,aTag); + if(theToken) { + theToken->mTextKey.AssignWithConversion("-moz-userdefined"); + aNode.AddAttribute(theToken); + } + } + + STOP_TIMER() MOZ_TIMER_DEBUGLOG(("Stop: Parse Time: CNavDTD::WillHandleStartTag(), this=%p\n", this)); @@ -1088,7 +1101,7 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode STOP_TIMER() - if(eHTMLTag_meta==aTag) { + if(eHTMLTag_meta==aTag) { PRInt32 theCount=aNode.GetAttributeCount(); if(1