зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
45e372cf7e
Коммит
f24657d4ec
|
@ -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
|
||||
return ParseEnumValue(aString, kDivAlignTable, aResult);
|
||||
#else
|
||||
if (InNavQuirksMode()) {
|
||||
return ParseEnumValue(aString, kCompatDivAlignTable, aResult);
|
||||
#endif
|
||||
}
|
||||
return ParseEnumValue(aString, kDivAlignTable, aResult);
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsGenericHTMLElement::DivAlignValueToString(const nsHTMLValue& aValue,
|
||||
nsString& aResult)
|
||||
nsString& aResult) const
|
||||
{
|
||||
#if XXX_no_nav_compat
|
||||
return EnumValueToString(aValue, kDivAlignTable, aResult);
|
||||
#else
|
||||
if (InNavQuirksMode()) {
|
||||
return EnumValueToString(aValue, kCompatDivAlignTable, aResult);
|
||||
#endif
|
||||
}
|
||||
return EnumValueToString(aValue, kDivAlignTable, aResult);
|
||||
}
|
||||
|
||||
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
|
||||
return ParseEnumValue(aString, kDivAlignTable, aResult);
|
||||
#else
|
||||
if (InNavQuirksMode()) {
|
||||
return ParseEnumValue(aString, kCompatDivAlignTable, aResult);
|
||||
#endif
|
||||
}
|
||||
return ParseEnumValue(aString, kDivAlignTable, aResult);
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsGenericHTMLElement::DivAlignValueToString(const nsHTMLValue& aValue,
|
||||
nsString& aResult)
|
||||
nsString& aResult) const
|
||||
{
|
||||
#if XXX_no_nav_compat
|
||||
return EnumValueToString(aValue, kDivAlignTable, aResult);
|
||||
#else
|
||||
if (InNavQuirksMode()) {
|
||||
return EnumValueToString(aValue, kCompatDivAlignTable, aResult);
|
||||
#endif
|
||||
}
|
||||
return EnumValueToString(aValue, kDivAlignTable, aResult);
|
||||
}
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче