diff --git a/mozilla/htmlparser/src/nsWellFormedDTD.h b/mozilla/htmlparser/src/nsWellFormedDTD.h
index 30496b9e900..50023bf491e 100644
--- a/mozilla/htmlparser/src/nsWellFormedDTD.h
+++ b/mozilla/htmlparser/src/nsWellFormedDTD.h
@@ -215,6 +215,13 @@ class CWellFormedDTD : public nsIDTD {
* @return ptr to recycler (or null)
*/
virtual nsITokenRecycler* GetTokenRecycler(void);
+
+ /**
+ * Give rest of world access to our tag enums, so that CanContain(), etc,
+ * become useful.
+ */
+ NS_IMETHOD StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const;
+
protected:
/*
diff --git a/mozilla/htmlparser/src/nsXIFDTD.cpp b/mozilla/htmlparser/src/nsXIFDTD.cpp
index b217ce63b2d..f0ead9cf089 100644
--- a/mozilla/htmlparser/src/nsXIFDTD.cpp
+++ b/mozilla/htmlparser/src/nsXIFDTD.cpp
@@ -932,6 +932,15 @@ PRBool nsXIFDTD::CanContain(PRInt32 aParent,PRInt32 aChild) const {
return result;
}
+/**
+ * Give rest of world access to our tag enums, so that CanContain(), etc,
+ * become useful.
+ */
+NS_IMETHODIMP nsXIFDTD::StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
/**
* This method gets called to determine whether a given
* tag can contain newlines. Most do not.
diff --git a/mozilla/htmlparser/src/nsXIFDTD.h b/mozilla/htmlparser/src/nsXIFDTD.h
index e5c46f9aafe..612074d8a73 100644
--- a/mozilla/htmlparser/src/nsXIFDTD.h
+++ b/mozilla/htmlparser/src/nsXIFDTD.h
@@ -254,6 +254,12 @@ class nsXIFDTD : public nsIDTD {
*/
virtual PRBool Verify(nsString& aURLRef,nsIParser* aParser);
+ /**
+ * Give rest of world access to our tag enums, so that CanContain(), etc,
+ * become useful.
+ */
+ NS_IMETHOD StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const;
+
/**
* Set this to TRUE if you want the DTD to verify its
* context stack.
diff --git a/mozilla/parser/htmlparser/src/nsWellFormedDTD.h b/mozilla/parser/htmlparser/src/nsWellFormedDTD.h
index 30496b9e900..50023bf491e 100644
--- a/mozilla/parser/htmlparser/src/nsWellFormedDTD.h
+++ b/mozilla/parser/htmlparser/src/nsWellFormedDTD.h
@@ -215,6 +215,13 @@ class CWellFormedDTD : public nsIDTD {
* @return ptr to recycler (or null)
*/
virtual nsITokenRecycler* GetTokenRecycler(void);
+
+ /**
+ * Give rest of world access to our tag enums, so that CanContain(), etc,
+ * become useful.
+ */
+ NS_IMETHOD StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const;
+
protected:
/*
diff --git a/mozilla/parser/htmlparser/src/nsXIFDTD.cpp b/mozilla/parser/htmlparser/src/nsXIFDTD.cpp
index b217ce63b2d..f0ead9cf089 100644
--- a/mozilla/parser/htmlparser/src/nsXIFDTD.cpp
+++ b/mozilla/parser/htmlparser/src/nsXIFDTD.cpp
@@ -932,6 +932,15 @@ PRBool nsXIFDTD::CanContain(PRInt32 aParent,PRInt32 aChild) const {
return result;
}
+/**
+ * Give rest of world access to our tag enums, so that CanContain(), etc,
+ * become useful.
+ */
+NS_IMETHODIMP nsXIFDTD::StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
/**
* This method gets called to determine whether a given
* tag can contain newlines. Most do not.
diff --git a/mozilla/parser/htmlparser/src/nsXIFDTD.h b/mozilla/parser/htmlparser/src/nsXIFDTD.h
index e5c46f9aafe..612074d8a73 100644
--- a/mozilla/parser/htmlparser/src/nsXIFDTD.h
+++ b/mozilla/parser/htmlparser/src/nsXIFDTD.h
@@ -254,6 +254,12 @@ class nsXIFDTD : public nsIDTD {
*/
virtual PRBool Verify(nsString& aURLRef,nsIParser* aParser);
+ /**
+ * Give rest of world access to our tag enums, so that CanContain(), etc,
+ * become useful.
+ */
+ NS_IMETHOD StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const;
+
/**
* Set this to TRUE if you want the DTD to verify its
* context stack.
diff --git a/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp b/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp
index 0c35f002669..45132862627 100644
--- a/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp
+++ b/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp
@@ -183,6 +183,7 @@ static NS_DEFINE_CID(kCPrefCID, NS_PREF_CID);
// PARSER
static NS_DEFINE_IID(kCParserCID, NS_PARSER_IID);
static NS_DEFINE_CID(kCWellFormedDTDCID, NS_WELLFORMEDDTD_CID);
+static NS_DEFINE_CID(kCNavDTDCID, NS_CNAVDTD_CID);
// DOM
static NS_DEFINE_IID(kCDOMScriptObjectFactory, NS_DOM_SCRIPT_OBJECT_FACTORY_CID);
@@ -265,6 +266,7 @@ NS_SetupRegistry()
// PARSER
nsComponentManager::RegisterComponentLib(kCParserCID, NULL, NULL, PARSER_DLL, PR_FALSE, PR_FALSE);
nsComponentManager::RegisterComponentLib(kCWellFormedDTDCID, NULL, NULL, PARSER_DLL, PR_FALSE, PR_FALSE);
+ nsComponentManager::RegisterComponentLib(kCNavDTDCID, NULL, NULL, PARSER_DLL, PR_FALSE, PR_FALSE);
// DOM
nsComponentManager::RegisterComponentLib(kCDOMScriptObjectFactory, NULL, NULL, DOM_DLL, PR_FALSE, PR_FALSE);