From 8fe15ff614478da7286ff0f1eea8eb187e40ef02 Mon Sep 17 00:00:00 2001 From: "mrbkap%gmail.com" Date: Sat, 26 Feb 2005 04:33:04 +0000 Subject: [PATCH] bug 283564: Fix a leak when the HTML fragment sink is used to parse an empty string by ensuring that DidBuildModel() is always called. r+sr=bzbarsky git-svn-id: svn://10.0.0.236/trunk@169884 18797224-902f-48f8-a5cc-f745e15eee43 --- .../content/html/document/src/nsHTMLFragmentContentSink.cpp | 1 + mozilla/parser/htmlparser/public/nsIFragmentContentSink.h | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/mozilla/content/html/document/src/nsHTMLFragmentContentSink.cpp b/mozilla/content/html/document/src/nsHTMLFragmentContentSink.cpp index ae3ed89c782..2dab497e56e 100644 --- a/mozilla/content/html/document/src/nsHTMLFragmentContentSink.cpp +++ b/mozilla/content/html/document/src/nsHTMLFragmentContentSink.cpp @@ -707,6 +707,7 @@ nsHTMLFragmentContentSink::DidBuildContent() { if (!mAllContent) { FlushText(); + DidBuildModel(); // Release our ref to the parser now. mProcessing = PR_FALSE; } diff --git a/mozilla/parser/htmlparser/public/nsIFragmentContentSink.h b/mozilla/parser/htmlparser/public/nsIFragmentContentSink.h index 364f41d5d9b..91f4e35fc9b 100644 --- a/mozilla/parser/htmlparser/public/nsIFragmentContentSink.h +++ b/mozilla/parser/htmlparser/public/nsIFragmentContentSink.h @@ -46,6 +46,12 @@ class nsIDocument; { 0xe9ea6afb, 0x92f3, 0x4270, \ { 0xb2, 0x67, 0xd2, 0xe3, 0x8d, 0x0e, 0x95, 0x45 } } +/** + * The fragment sink allows a client to parse a fragment of sink, possibly + * surrounded in context. Also see nsIParser::ParseFragment(). + * Note: once you've parsed a fragment, the fragment sink must be re-set on + * the parser in order to parse another fragment. + */ class nsIFragmentContentSink : public nsISupports { public: NS_DEFINE_STATIC_IID_ACCESSOR(NS_I_FRAGMENT_CONTENT_SINK_IID)