Landing the NOXIF changes on the Netscape6 branch, this includes all the changes that went into the trunk a few days ago plus the fixes for the bugs the NOXIF changes introduced or exposed on the trunk.
This fixes bugs 50742, 47014, 50568 46554, 55806, 56000, 55669 and partly (at least) fixes bug 53188 sr=kin, waterson, scc, vidur, r=kandrot, pinkerton, testers=jst, jfrancis, akkana, kin, and everyone who used the trunk since saturday... git-svn-id: svn://10.0.0.236/branches/Netscape_20000922_BRANCH@80926 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -63,8 +63,8 @@ public:
|
||||
PRInt32* aUnicode) const;
|
||||
NS_IMETHOD HTMLConvertUnicodeToEntity(PRInt32 aUnicode,
|
||||
nsCString& aEntity) const;
|
||||
NS_IMETHOD IsContainer(nsString& aTag, PRBool& aIsContainer) const;
|
||||
NS_IMETHOD IsBlock(nsString& aTag, PRBool& aIsBlock) const;
|
||||
NS_IMETHOD IsContainer(PRInt32 aId, PRBool& aIsContainer) const;
|
||||
NS_IMETHOD IsBlock(PRInt32 aId, PRBool& aIsBlock) const;
|
||||
};
|
||||
|
||||
nsParserService::nsParserService()
|
||||
@@ -112,24 +112,21 @@ nsParserService::HTMLConvertUnicodeToEntity(PRInt32 aUnicode,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsParserService::IsContainer(nsString& aTag, PRBool& aIsContainer) const
|
||||
nsParserService::IsContainer(PRInt32 aId, PRBool& aIsContainer) const
|
||||
{
|
||||
PRInt32 id = nsHTMLTags::LookupTag(aTag);
|
||||
aIsContainer = nsHTMLElement::IsContainer((eHTMLTags)id);
|
||||
aIsContainer = nsHTMLElement::IsContainer((eHTMLTags)aId);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsParserService::IsBlock(nsString& aTag, PRBool& aIsBlock) const
|
||||
nsParserService::IsBlock(PRInt32 aId, PRBool& aIsBlock) const
|
||||
{
|
||||
PRInt32 id = nsHTMLTags::LookupTag(aTag);
|
||||
|
||||
if((id>eHTMLTag_unknown) && (id<eHTMLTag_userdefined)) {
|
||||
aIsBlock=((gHTMLElements[id].IsMemberOf(kBlock)) ||
|
||||
(gHTMLElements[id].IsMemberOf(kBlockEntity)) ||
|
||||
(gHTMLElements[id].IsMemberOf(kHeading)) ||
|
||||
(gHTMLElements[id].IsMemberOf(kPreformatted))||
|
||||
(gHTMLElements[id].IsMemberOf(kList)));
|
||||
if((aId>eHTMLTag_unknown) && (aId<eHTMLTag_userdefined)) {
|
||||
aIsBlock=((gHTMLElements[aId].IsMemberOf(kBlock)) ||
|
||||
(gHTMLElements[aId].IsMemberOf(kBlockEntity)) ||
|
||||
(gHTMLElements[aId].IsMemberOf(kHeading)) ||
|
||||
(gHTMLElements[aId].IsMemberOf(kPreformatted))||
|
||||
(gHTMLElements[aId].IsMemberOf(kList)));
|
||||
}
|
||||
else {
|
||||
aIsBlock = PR_FALSE;
|
||||
@@ -147,6 +144,7 @@ static NS_DEFINE_CID(kWellFormedDTDCID, NS_WELLFORMEDDTD_CID);
|
||||
static NS_DEFINE_CID(kNavDTDCID, NS_CNAVDTD_CID);
|
||||
static NS_DEFINE_CID(kXIFDTDCID, NS_XIF_DTD_CID);
|
||||
static NS_DEFINE_CID(kCOtherDTDCID, NS_COTHER_DTD_CID);
|
||||
static NS_DEFINE_CID(kCTransitionalDTDCID, NS_CTRANSITIONAL_DTD_CID);
|
||||
static NS_DEFINE_CID(kViewSourceDTDCID, NS_VIEWSOURCE_DTD_CID);
|
||||
static NS_DEFINE_CID(kRtfDTDCID, NS_CRTF_DTD_CID);
|
||||
static NS_DEFINE_CID(kHTMLContentSinkStreamCID, NS_HTMLCONTENTSINKSTREAM_CID);
|
||||
@@ -166,6 +164,7 @@ static Components gComponents[] = {
|
||||
{ "Navigator HTML DTD", &kNavDTDCID },
|
||||
{ "XIF DTD", &kXIFDTDCID },
|
||||
{ "OTHER DTD", &kCOtherDTDCID },
|
||||
{ "Transitional DTD", &kCTransitionalDTDCID },
|
||||
{ "ViewSource DTD", &kViewSourceDTDCID },
|
||||
{ "Rtf DTD", &kRtfDTDCID },
|
||||
{ "HTML Content Sink Stream", &kHTMLContentSinkStreamCID },
|
||||
@@ -182,6 +181,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(CWellFormedDTD)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(CNavDTD)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsXIFDTD)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(COtherDTD)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(CTransitionalDTD)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(CViewSourceHTML)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(CRtfDTD)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLContentSinkStream)
|
||||
@@ -212,6 +212,7 @@ protected:
|
||||
nsCOMPtr<nsIGenericFactory> mNavHTMLDTDFactory;
|
||||
nsCOMPtr<nsIGenericFactory> mXIFDTDFactory;
|
||||
nsCOMPtr<nsIGenericFactory> mOtherHTMLDTDFactory;
|
||||
nsCOMPtr<nsIGenericFactory> mTransitionalHTMLDTDFactory;
|
||||
nsCOMPtr<nsIGenericFactory> mViewSourceHTMLDTDFactory;
|
||||
nsCOMPtr<nsIGenericFactory> mRtfHTMLDTDFactory;
|
||||
nsCOMPtr<nsIGenericFactory> mHTMLContentSinkStreamFactory;
|
||||
@@ -326,6 +327,13 @@ nsParserModule::GetClassObject(nsIComponentManager *aCompMgr,
|
||||
}
|
||||
fact = mOtherHTMLDTDFactory;
|
||||
}
|
||||
else if (aClass.Equals(kCTransitionalDTDCID)) {
|
||||
if (!mTransitionalHTMLDTDFactory) {
|
||||
rv = NS_NewGenericFactory(getter_AddRefs(mTransitionalHTMLDTDFactory),
|
||||
&CTransitionalDTDConstructor);
|
||||
}
|
||||
fact = mTransitionalHTMLDTDFactory;
|
||||
}
|
||||
else if (aClass.Equals(kViewSourceDTDCID)) {
|
||||
if (!mViewSourceHTMLDTDFactory) {
|
||||
rv = NS_NewGenericFactory(getter_AddRefs(mViewSourceHTMLDTDFactory),
|
||||
|
||||
Reference in New Issue
Block a user