eParserDocType aDocType=eHTMLText,
eParserDocType aDocType=eHTML3Text,
CLASS_EXPORT_HTMLPARS nsHTMLTokenizer : public nsITokenizer {public:          nsHTMLTokenizer( PRInt32 aParseMode=eParseMode_quirks,                           eParserDocType aDocType=eHTMLText,                           eParserCommands aCommand=eViewNormal);  virtual ~nsHTMLTokenizer();          NS_DECL_ISUPPORTS  virtual nsresult          WillTokenize(PRBool aIsFinalChunk);  virtual nsresult          ConsumeToken(nsScanner& aScanner,PRBool& aFlushTokens);  virtual nsresult          DidTokenize(PRBool aIsFinalChunk);  virtual nsITokenRecycler* GetTokenRecycler(void);  virtual CToken*           PushTokenFront(CToken* theToken);  virtual CToken*           PushToken(CToken* theToken);	virtual CToken*           PopToken(void);	virtual CToken*           PeekToken(void);	virtual CToken*           GetTokenAt(PRInt32 anIndex);	virtual PRInt32           GetCount(void);  virtual void              PrependTokens(nsDeque& aDeque);  static  void              FreeTokenRecycler(void);protected:  virtual nsresult ConsumeScriptContent(nsScanner& aScanner,CToken*& aToken);  virtual nsresult ConsumeTag(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner,PRBool& aFlushTokens);  virtual nsresult ConsumeStartTag(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner,PRBool& aFlushTokens);  virtual nsresult ConsumeEndTag(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeAttributes(PRUnichar aChar,CStartToken* aToken,nsScanner& aScanner,nsString& aLeadingWS);  virtual nsresult ConsumeEntity(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeWhitespace(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeComment(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeNewline(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeText(const nsString& aString,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeSpecialMarkup(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);  virtual nsresult ConsumeProcessingInstruction(PRUnichar aChar,CToken*& aToken,nsScanner& aScanner);    virtual void     RecordTrailingContent(CStartToken* aStartToken,nsScanner& aScanner);  static void AddToken(CToken*& aToken,nsresult aResult,nsDeque* aDeque,CTokenRecycler* aRecycler);  nsDeque         mTokenDeque;  PRBool          mDoXMLEmptyTags;  PRInt32         mParseMode;  eParserDocType  mDocType;  PRBool          mRecordTrailingContent;  eParserCommands mParserCommand;   //tells us to viewcontent/viewsource/viewerrors...  nsAutoString    mScratch;};