diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp
index e859ff23d69..498f4b65af0 100644
--- a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp
+++ b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp
@@ -810,15 +810,36 @@ nsGenericHTMLElement::GetClass(nsIAtom*& aResult) const
}
nsresult
-nsGenericHTMLElement::GetStyleRule(nsIStyleRule*& aResult)
+nsGenericHTMLElement::GetContentStyleRule(nsIStyleRule*& aResult)
{
- nsIStyleRule* result = nsnull;
+ nsresult result = NS_ERROR_NULL_POINTER;
+ nsIStyleRule* rule = nsnull;
if (nsnull != mAttributes) {
- mAttributes->QueryInterface(kIStyleRuleIID, (void**)&result);
+ result = mAttributes->QueryInterface(kIStyleRuleIID, (void**)&rule);
}
- aResult = result;
- return NS_OK;
+ aResult = rule;
+ return result;
+}
+
+nsresult
+nsGenericHTMLElement::GetInlineStyleRule(nsIStyleRule*& aResult)
+{
+ nsresult result = NS_ERROR_NULL_POINTER;
+ nsIStyleRule* rule = nsnull;
+
+ if (nsnull != mAttributes) {
+ nsHTMLValue value;
+ if (NS_CONTENT_ATTR_HAS_VALUE == mAttributes->GetAttribute(nsHTMLAtoms::style, value)) {
+ if (eHTMLUnit_ISupports == value.GetUnit()) {
+ nsISupports* supports = value.GetISupportsValue();
+ result = supports->QueryInterface(kIStyleRuleIID, (void**)&rule);
+ NS_RELEASE(supports);
+ }
+ }
+ }
+ aResult = rule;
+ return result;
}
void
diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.h b/mozilla/content/html/content/src/nsGenericHTMLElement.h
index a003cc4b56f..9efa122c320 100644
--- a/mozilla/content/html/content/src/nsGenericHTMLElement.h
+++ b/mozilla/content/html/content/src/nsGenericHTMLElement.h
@@ -85,7 +85,8 @@ public:
nsresult GetID(nsIAtom*& aResult) const;
nsresult SetClass(nsIAtom* aClass);
nsresult GetClass(nsIAtom*& aResult) const;
- nsresult GetStyleRule(nsIStyleRule*& aResult);
+ nsresult GetContentStyleRule(nsIStyleRule*& aResult);
+ nsresult GetInlineStyleRule(nsIStyleRule*& aResult);
nsresult ToHTMLString(nsString& aResult) const;
nsresult ToHTML(FILE* out) const;
@@ -420,8 +421,11 @@ public:
NS_IMETHOD GetClass(nsIAtom*& aResult) const { \
return _g.GetClass(aResult); \
} \
- NS_IMETHOD GetStyleRule(nsIStyleRule*& aResult) { \
- return _g.GetStyleRule(aResult); \
+ NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult) { \
+ return _g.GetContentStyleRule(aResult); \
+ } \
+ NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult) { \
+ return _g.GetInlineStyleRule(aResult); \
} \
NS_IMETHOD ToHTMLString(nsString& aResult) const { \
return _g.ToHTMLString(aResult); \
@@ -469,7 +473,8 @@ public:
NS_IMETHOD GetClass(nsIAtom*& aResult) const { \
return _g.GetClass(aResult); \
} \
- NS_IMETHOD GetStyleRule(nsIStyleRule*& aResult); \
+ NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); \
+ NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); \
NS_IMETHOD ToHTMLString(nsString& aResult) const { \
return _g.ToHTMLString(aResult); \
} \
diff --git a/mozilla/layout/html/content/src/nsGenericDOMDataNode.h b/mozilla/layout/html/content/src/nsGenericDOMDataNode.h
index e57239715d2..5e180376e85 100644
--- a/mozilla/layout/html/content/src/nsGenericDOMDataNode.h
+++ b/mozilla/layout/html/content/src/nsGenericDOMDataNode.h
@@ -188,7 +188,11 @@ struct nsGenericDOMDataNode {
aResult = nsnull;
return NS_OK;
}
- nsresult GetStyleRule(nsIStyleRule*& aResult) {
+ nsresult GetContentStyleRule(nsIStyleRule*& aResult) {
+ aResult = nsnull;
+ return NS_OK;
+ }
+ nsresult GetInlineStyleRule(nsIStyleRule*& aResult) {
aResult = nsnull;
return NS_OK;
}
@@ -493,8 +497,11 @@ struct nsGenericDOMDataNode {
NS_IMETHOD GetClass(nsIAtom*& aResult) const { \
return _g.GetClass(aResult); \
} \
- NS_IMETHOD GetStyleRule(nsIStyleRule*& aResult) { \
- return _g.GetStyleRule(aResult); \
+ NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult) { \
+ return _g.GetContentStyleRule(aResult); \
+ } \
+ NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult) { \
+ return _g.GetInlineStyleRule(aResult); \
} \
NS_IMETHOD ToHTMLString(nsString& aResult) const; \
NS_IMETHOD ToHTML(FILE* out) const; \
diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp
index e859ff23d69..498f4b65af0 100644
--- a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp
+++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp
@@ -810,15 +810,36 @@ nsGenericHTMLElement::GetClass(nsIAtom*& aResult) const
}
nsresult
-nsGenericHTMLElement::GetStyleRule(nsIStyleRule*& aResult)
+nsGenericHTMLElement::GetContentStyleRule(nsIStyleRule*& aResult)
{
- nsIStyleRule* result = nsnull;
+ nsresult result = NS_ERROR_NULL_POINTER;
+ nsIStyleRule* rule = nsnull;
if (nsnull != mAttributes) {
- mAttributes->QueryInterface(kIStyleRuleIID, (void**)&result);
+ result = mAttributes->QueryInterface(kIStyleRuleIID, (void**)&rule);
}
- aResult = result;
- return NS_OK;
+ aResult = rule;
+ return result;
+}
+
+nsresult
+nsGenericHTMLElement::GetInlineStyleRule(nsIStyleRule*& aResult)
+{
+ nsresult result = NS_ERROR_NULL_POINTER;
+ nsIStyleRule* rule = nsnull;
+
+ if (nsnull != mAttributes) {
+ nsHTMLValue value;
+ if (NS_CONTENT_ATTR_HAS_VALUE == mAttributes->GetAttribute(nsHTMLAtoms::style, value)) {
+ if (eHTMLUnit_ISupports == value.GetUnit()) {
+ nsISupports* supports = value.GetISupportsValue();
+ result = supports->QueryInterface(kIStyleRuleIID, (void**)&rule);
+ NS_RELEASE(supports);
+ }
+ }
+ }
+ aResult = rule;
+ return result;
}
void
diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.h b/mozilla/layout/html/content/src/nsGenericHTMLElement.h
index a003cc4b56f..9efa122c320 100644
--- a/mozilla/layout/html/content/src/nsGenericHTMLElement.h
+++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.h
@@ -85,7 +85,8 @@ public:
nsresult GetID(nsIAtom*& aResult) const;
nsresult SetClass(nsIAtom* aClass);
nsresult GetClass(nsIAtom*& aResult) const;
- nsresult GetStyleRule(nsIStyleRule*& aResult);
+ nsresult GetContentStyleRule(nsIStyleRule*& aResult);
+ nsresult GetInlineStyleRule(nsIStyleRule*& aResult);
nsresult ToHTMLString(nsString& aResult) const;
nsresult ToHTML(FILE* out) const;
@@ -420,8 +421,11 @@ public:
NS_IMETHOD GetClass(nsIAtom*& aResult) const { \
return _g.GetClass(aResult); \
} \
- NS_IMETHOD GetStyleRule(nsIStyleRule*& aResult) { \
- return _g.GetStyleRule(aResult); \
+ NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult) { \
+ return _g.GetContentStyleRule(aResult); \
+ } \
+ NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult) { \
+ return _g.GetInlineStyleRule(aResult); \
} \
NS_IMETHOD ToHTMLString(nsString& aResult) const { \
return _g.ToHTMLString(aResult); \
@@ -469,7 +473,8 @@ public:
NS_IMETHOD GetClass(nsIAtom*& aResult) const { \
return _g.GetClass(aResult); \
} \
- NS_IMETHOD GetStyleRule(nsIStyleRule*& aResult); \
+ NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); \
+ NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); \
NS_IMETHOD ToHTMLString(nsString& aResult) const { \
return _g.ToHTMLString(aResult); \
} \