making the element factory support weak references. needed to make ender-lite faster.

This commit is contained in:
mjudge%netscape.com 2000-07-13 23:18:37 +00:00
Родитель 41da6eeaf1
Коммит 829408eddb
2 изменённых файлов: 8 добавлений и 4 удалений

Просмотреть файл

@ -108,6 +108,8 @@
#include "nsIScrollable.h" #include "nsIScrollable.h"
#include "nsContentPolicyUtils.h" #include "nsContentPolicyUtils.h"
#include "nsWeakReference.h"//nshtmlelementfactory supports weak references
#ifdef ALLOW_ASYNCH_STYLE_SHEETS #ifdef ALLOW_ASYNCH_STYLE_SHEETS
const PRBool kBlockByDefault=PR_FALSE; const PRBool kBlockByDefault=PR_FALSE;
#else #else
@ -1081,7 +1083,7 @@ NS_CreateHTMLElement(nsIHTMLContent** aResult, nsINodeInfo *aNodeInfo)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
class nsHTMLElementFactory : public nsIElementFactory { class nsHTMLElementFactory : public nsIElementFactory, public nsSupportsWeakReference {
public: public:
nsHTMLElementFactory(); nsHTMLElementFactory();
virtual ~nsHTMLElementFactory(); virtual ~nsHTMLElementFactory();
@ -1116,7 +1118,7 @@ nsHTMLElementFactory::~nsHTMLElementFactory()
{ {
} }
NS_IMPL_ISUPPORTS1(nsHTMLElementFactory, nsIElementFactory); NS_IMPL_ISUPPORTS2(nsHTMLElementFactory, nsIElementFactory, nsISupportsWeakReference);
NS_IMETHODIMP NS_IMETHODIMP
nsHTMLElementFactory::CreateInstanceByTag(nsINodeInfo *aNodeInfo, nsHTMLElementFactory::CreateInstanceByTag(nsINodeInfo *aNodeInfo,

Просмотреть файл

@ -108,6 +108,8 @@
#include "nsIScrollable.h" #include "nsIScrollable.h"
#include "nsContentPolicyUtils.h" #include "nsContentPolicyUtils.h"
#include "nsWeakReference.h"//nshtmlelementfactory supports weak references
#ifdef ALLOW_ASYNCH_STYLE_SHEETS #ifdef ALLOW_ASYNCH_STYLE_SHEETS
const PRBool kBlockByDefault=PR_FALSE; const PRBool kBlockByDefault=PR_FALSE;
#else #else
@ -1081,7 +1083,7 @@ NS_CreateHTMLElement(nsIHTMLContent** aResult, nsINodeInfo *aNodeInfo)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
class nsHTMLElementFactory : public nsIElementFactory { class nsHTMLElementFactory : public nsIElementFactory, public nsSupportsWeakReference {
public: public:
nsHTMLElementFactory(); nsHTMLElementFactory();
virtual ~nsHTMLElementFactory(); virtual ~nsHTMLElementFactory();
@ -1116,7 +1118,7 @@ nsHTMLElementFactory::~nsHTMLElementFactory()
{ {
} }
NS_IMPL_ISUPPORTS1(nsHTMLElementFactory, nsIElementFactory); NS_IMPL_ISUPPORTS2(nsHTMLElementFactory, nsIElementFactory, nsISupportsWeakReference);
NS_IMETHODIMP NS_IMETHODIMP
nsHTMLElementFactory::CreateInstanceByTag(nsINodeInfo *aNodeInfo, nsHTMLElementFactory::CreateInstanceByTag(nsINodeInfo *aNodeInfo,