diff --git a/layout/style/nsHTMLStyleSheet.cpp b/layout/style/nsHTMLStyleSheet.cpp
index 94b727bcc9..4d7de7293f 100644
--- a/layout/style/nsHTMLStyleSheet.cpp
+++ b/layout/style/nsHTMLStyleSheet.cpp
@@ -46,9 +46,11 @@ nsHTMLStyleSheet::HTMLColorRule::MapRuleInfoInto(nsRuleData* aRuleData)
{
if (aRuleData->mSIDs & NS_STYLE_INHERIT_BIT(Color)) {
nsCSSValue* color = aRuleData->ValueForColor();
- if (color->GetUnit() == eCSSUnit_Null &&
- aRuleData->mPresContext->UseDocumentColors())
+ if ((color->GetUnit() == eCSSUnit_Null ||
+ color->GetUnit() == eCSSUnit_Revert) &&
+ aRuleData->mPresContext->UseDocumentColors()) {
color->SetColorValue(mColor);
+ }
}
}
@@ -98,7 +100,8 @@ nsHTMLStyleSheet::TableTHRule::MapRuleInfoInto(nsRuleData* aRuleData)
{
if (aRuleData->mSIDs & NS_STYLE_INHERIT_BIT(Text)) {
nsCSSValue* textAlign = aRuleData->ValueForTextAlign();
- if (textAlign->GetUnit() == eCSSUnit_Null) {
+ if (textAlign->GetUnit() == eCSSUnit_Null ||
+ textAlign->GetUnit() == eCSSUnit_Revert) {
textAlign->SetIntValue(NS_STYLE_TEXT_ALIGN_MOZ_CENTER_OR_INHERIT,
eCSSUnit_Enumerated);
}
@@ -126,9 +129,11 @@ nsHTMLStyleSheet::TableQuirkColorRule::MapRuleInfoInto(nsRuleData* aRuleData)
nsCSSValue* color = aRuleData->ValueForColor();
// We do not check UseDocumentColors() here, because we want to
// use the body color no matter what.
- if (color->GetUnit() == eCSSUnit_Null)
+ if (color->GetUnit() == eCSSUnit_Null ||
+ color->GetUnit() == eCSSUnit_Revert) {
color->SetIntValue(NS_STYLE_COLOR_INHERIT_FROM_BODY,
eCSSUnit_Enumerated);
+ }
}
}
@@ -153,7 +158,8 @@ nsHTMLStyleSheet::LangRule::MapRuleInfoInto(nsRuleData* aRuleData)
{
if (aRuleData->mSIDs & NS_STYLE_INHERIT_BIT(Font)) {
nsCSSValue* lang = aRuleData->ValueForLang();
- if (lang->GetUnit() == eCSSUnit_Null) {
+ if (lang->GetUnit() == eCSSUnit_Null ||
+ lang->GetUnit() == eCSSUnit_Revert) {
lang->SetStringValue(mLang, eCSSUnit_Ident);
}
}