diff --git a/mozilla/content/html/style/src/nsCSSStyleRule.cpp b/mozilla/content/html/style/src/nsCSSStyleRule.cpp
index 679f0ce5ebe..5ddfe12b9ff 100644
--- a/mozilla/content/html/style/src/nsCSSStyleRule.cpp
+++ b/mozilla/content/html/style/src/nsCSSStyleRule.cpp
@@ -217,6 +217,7 @@ void CSSStyleRuleImpl::operator delete(void* ptr)
}
}
+
#ifdef DEBUG_REFS
static PRInt32 gInstanceCount;
static const PRInt32 kInstrument = 1075;
@@ -655,6 +656,19 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
}
}
+ nsCSSPosition* ourPosition;
+ if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) {
+ if (nsnull != ourPosition) {
+ nsStyleMolecule* hack = (nsStyleMolecule*)aContext->GetData(kStyleMoleculeSID);
+
+ if (ourPosition->mPosition.GetUnit() == eCSSUnit_Enumerated) {
+ hack->positionFlags = ourPosition->mPosition.GetIntValue();
+ } else {
+ hack->positionFlags = NS_STYLE_POSITION_STATIC;
+ }
+ }
+ }
+
nsCSSList* ourList;
if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) {
if (nsnull != ourList) {
diff --git a/mozilla/layout/html/style/src/nsCSSStyleRule.cpp b/mozilla/layout/html/style/src/nsCSSStyleRule.cpp
index 679f0ce5ebe..5ddfe12b9ff 100644
--- a/mozilla/layout/html/style/src/nsCSSStyleRule.cpp
+++ b/mozilla/layout/html/style/src/nsCSSStyleRule.cpp
@@ -217,6 +217,7 @@ void CSSStyleRuleImpl::operator delete(void* ptr)
}
}
+
#ifdef DEBUG_REFS
static PRInt32 gInstanceCount;
static const PRInt32 kInstrument = 1075;
@@ -655,6 +656,19 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
}
}
+ nsCSSPosition* ourPosition;
+ if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) {
+ if (nsnull != ourPosition) {
+ nsStyleMolecule* hack = (nsStyleMolecule*)aContext->GetData(kStyleMoleculeSID);
+
+ if (ourPosition->mPosition.GetUnit() == eCSSUnit_Enumerated) {
+ hack->positionFlags = ourPosition->mPosition.GetIntValue();
+ } else {
+ hack->positionFlags = NS_STYLE_POSITION_STATIC;
+ }
+ }
+ }
+
nsCSSList* ourList;
if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) {
if (nsnull != ourList) {
diff --git a/mozilla/layout/style/nsCSSStyleRule.cpp b/mozilla/layout/style/nsCSSStyleRule.cpp
index 679f0ce5ebe..5ddfe12b9ff 100644
--- a/mozilla/layout/style/nsCSSStyleRule.cpp
+++ b/mozilla/layout/style/nsCSSStyleRule.cpp
@@ -217,6 +217,7 @@ void CSSStyleRuleImpl::operator delete(void* ptr)
}
}
+
#ifdef DEBUG_REFS
static PRInt32 gInstanceCount;
static const PRInt32 kInstrument = 1075;
@@ -655,6 +656,19 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
}
}
+ nsCSSPosition* ourPosition;
+ if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) {
+ if (nsnull != ourPosition) {
+ nsStyleMolecule* hack = (nsStyleMolecule*)aContext->GetData(kStyleMoleculeSID);
+
+ if (ourPosition->mPosition.GetUnit() == eCSSUnit_Enumerated) {
+ hack->positionFlags = ourPosition->mPosition.GetIntValue();
+ } else {
+ hack->positionFlags = NS_STYLE_POSITION_STATIC;
+ }
+ }
+ }
+
nsCSSList* ourList;
if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) {
if (nsnull != ourList) {