> if (!aXMLMode) {
> // First, we have to flush any tags that don't belong in the head if there
> // was no <body> in the context.
> // XXX This is extremely ugly. Maybe CNavDTD should have FlushMisplaced()?
>- NS_ASSERTION(mParserContext, "Parsing didn't create a parser context?");
>+ if (!mParserContext) {
>+ NS_ERROR("Parsing didn't create a parser context?");
>+ mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED;
>+ return kInvalidParserContext;
>+ }
Same thing here, simply return NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT
Comment on attachment 244371
1.8 branch patch
>Index: parser/ htmlparser/ src/nsParser. cpp ======= ======= ======= ======= ======= ======= ======= ======= ===== mozilla/ parser/ htmlparser/ src/nsParser. cpp,v htmlparser/ src/nsParser. cpp 13 Jul 2006 17:28:08 -0000 3.370.4.4 htmlparser/ src/nsParser. cpp 1 Nov 2006 23:28:14 -0000 :ParseFragment( const nsAString& FLAG_OBSERVERS_ ENABLED; nsIFragmentCont entSink> fragSink = do_QueryInterfa ce(mSink) ; fragSink, "ParseFragment requires a fragment content sink"); "ParseFragment requires a fragment content sink"); FLAG_OBSERVERS_ ENABLED;
>======
>RCS file: /cvsroot/
>retrieving revision 3.370.4.4
>diff -u -p -6 -r3.370.4.4 nsParser.cpp
>--- parser/
>+++ parser/
>@@ -1870,19 +1870,27 @@ nsParser:
> if (NS_FAILED(result)) {
> mFlags |= NS_PARSER_
> return result;
> }
>
> nsCOMPtr<
>- NS_ASSERTION(
>+ if (!fragSink) {
>+ NS_ERROR(
>+ mFlags |= NS_PARSER_
>+ return kUnknownError;
>+ }
Just return NS_ERROR_ HTMLPARSER_ UNKNOWN instead.
> if (!aXMLMode) { mParserContext, "Parsing didn't create a parser context?"); FLAG_OBSERVERS_ ENABLED; ontext;
> // First, we have to flush any tags that don't belong in the head if there
> // was no <body> in the context.
> // XXX This is extremely ugly. Maybe CNavDTD should have FlushMisplaced()?
>- NS_ASSERTION(
>+ if (!mParserContext) {
>+ NS_ERROR("Parsing didn't create a parser context?");
>+ mFlags |= NS_PARSER_
>+ return kInvalidParserC
>+ }
Same thing here, simply return NS_ERROR_ HTMLPARSER_ INVALIDPARSERCO NTEXT
r/sr=sicking with that