Made a method to inquire about nav-quirks mode and fixed a few methods to not be static so that they could use it

This commit is contained in:
kipp%netscape.com 1999-08-27 21:42:08 +00:00
Родитель 45e372cf7e
Коммит f24657d4ec
4 изменённых файлов: 66 добавлений и 28 удалений

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

@ -411,6 +411,23 @@ static nsIHTMLStyleSheet* GetAttrStyleSheet(nsIDocument* aDocument)
return sheet;
}
PRBool
nsGenericHTMLElement::InNavQuirksMode() const
{
PRBool status = PR_FALSE;
if (mDocument) {
nsCOMPtr<nsIHTMLDocument> hdoc(do_QueryInterface(mDocument));
if (hdoc) {
nsDTDMode mode;
hdoc->GetDTDMode(mode);
if (eDTDMode_Nav == mode) {
status = PR_TRUE;
}
}
}
return status;
}
nsresult
nsGenericHTMLElement::SetDocument(nsIDocument* aDocument, PRBool aDeep)
{
@ -1749,24 +1766,22 @@ nsGenericHTMLElement::TableVAlignValueToString(const nsHTMLValue& aValue,
PRBool
nsGenericHTMLElement::ParseDivAlignValue(const nsString& aString,
nsHTMLValue& aResult)
nsHTMLValue& aResult) const
{
#if XXX_no_nav_compat
if (InNavQuirksMode()) {
return ParseEnumValue(aString, kCompatDivAlignTable, aResult);
}
return ParseEnumValue(aString, kDivAlignTable, aResult);
#else
return ParseEnumValue(aString, kCompatDivAlignTable, aResult);
#endif
}
PRBool
nsGenericHTMLElement::DivAlignValueToString(const nsHTMLValue& aValue,
nsString& aResult)
nsString& aResult) const
{
#if XXX_no_nav_compat
if (InNavQuirksMode()) {
return EnumValueToString(aValue, kCompatDivAlignTable, aResult);
}
return EnumValueToString(aValue, kDivAlignTable, aResult);
#else
return EnumValueToString(aValue, kCompatDivAlignTable, aResult);
#endif
}
PRBool

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

@ -187,8 +187,8 @@ public:
nsHTMLValue& aResult);
static PRBool ParseAlignValue(const nsString& aString, nsHTMLValue& aResult);
static PRBool ParseDivAlignValue(const nsString& aString,
nsHTMLValue& aResult);
PRBool ParseDivAlignValue(const nsString& aString,
nsHTMLValue& aResult) const;
static PRBool ParseTableHAlignValue(const nsString& aString,
nsHTMLValue& aResult);
@ -205,8 +205,8 @@ public:
static PRBool AlignValueToString(const nsHTMLValue& aValue,
nsString& aResult);
static PRBool DivAlignValueToString(const nsHTMLValue& aValue,
nsString& aResult);
PRBool DivAlignValueToString(const nsHTMLValue& aValue,
nsString& aResult) const;
static PRBool ParseImageAttribute(nsIAtom* aAttribute,
const nsString& aString,
@ -277,6 +277,10 @@ public:
nsIDocument* aDocument,
nsIURI** aResult);
// See if the content object is in a document that has nav-quirks
// mode enabled.
PRBool InNavQuirksMode() const;
nsIHTMLAttributes* mAttributes;
};

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

@ -411,6 +411,23 @@ static nsIHTMLStyleSheet* GetAttrStyleSheet(nsIDocument* aDocument)
return sheet;
}
PRBool
nsGenericHTMLElement::InNavQuirksMode() const
{
PRBool status = PR_FALSE;
if (mDocument) {
nsCOMPtr<nsIHTMLDocument> hdoc(do_QueryInterface(mDocument));
if (hdoc) {
nsDTDMode mode;
hdoc->GetDTDMode(mode);
if (eDTDMode_Nav == mode) {
status = PR_TRUE;
}
}
}
return status;
}
nsresult
nsGenericHTMLElement::SetDocument(nsIDocument* aDocument, PRBool aDeep)
{
@ -1749,24 +1766,22 @@ nsGenericHTMLElement::TableVAlignValueToString(const nsHTMLValue& aValue,
PRBool
nsGenericHTMLElement::ParseDivAlignValue(const nsString& aString,
nsHTMLValue& aResult)
nsHTMLValue& aResult) const
{
#if XXX_no_nav_compat
if (InNavQuirksMode()) {
return ParseEnumValue(aString, kCompatDivAlignTable, aResult);
}
return ParseEnumValue(aString, kDivAlignTable, aResult);
#else
return ParseEnumValue(aString, kCompatDivAlignTable, aResult);
#endif
}
PRBool
nsGenericHTMLElement::DivAlignValueToString(const nsHTMLValue& aValue,
nsString& aResult)
nsString& aResult) const
{
#if XXX_no_nav_compat
if (InNavQuirksMode()) {
return EnumValueToString(aValue, kCompatDivAlignTable, aResult);
}
return EnumValueToString(aValue, kDivAlignTable, aResult);
#else
return EnumValueToString(aValue, kCompatDivAlignTable, aResult);
#endif
}
PRBool

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

@ -187,8 +187,8 @@ public:
nsHTMLValue& aResult);
static PRBool ParseAlignValue(const nsString& aString, nsHTMLValue& aResult);
static PRBool ParseDivAlignValue(const nsString& aString,
nsHTMLValue& aResult);
PRBool ParseDivAlignValue(const nsString& aString,
nsHTMLValue& aResult) const;
static PRBool ParseTableHAlignValue(const nsString& aString,
nsHTMLValue& aResult);
@ -205,8 +205,8 @@ public:
static PRBool AlignValueToString(const nsHTMLValue& aValue,
nsString& aResult);
static PRBool DivAlignValueToString(const nsHTMLValue& aValue,
nsString& aResult);
PRBool DivAlignValueToString(const nsHTMLValue& aValue,
nsString& aResult) const;
static PRBool ParseImageAttribute(nsIAtom* aAttribute,
const nsString& aString,
@ -277,6 +277,10 @@ public:
nsIDocument* aDocument,
nsIURI** aResult);
// See if the content object is in a document that has nav-quirks
// mode enabled.
PRBool InNavQuirksMode() const;
nsIHTMLAttributes* mAttributes;
};