mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-04 14:58:37 +09:00
Issue #2489: Allow color-mix() to differentiate color spaces
This commit is contained in:
parent
cb2547efa3
commit
01b0b8251d
2 changed files with 79 additions and 27 deletions
|
|
@ -7457,7 +7457,18 @@ CSSParserImpl::ParseColor(nsCSSValue& aValue)
|
|||
return CSSParseResult::Error;
|
||||
}
|
||||
|
||||
if (!GetToken(true) || mToken.mType != eCSSToken_Ident || !mToken.mIdent.LowerCaseEqualsLiteral("srgb")) {
|
||||
// Check for supported color spaces: srgb or hsl
|
||||
if (!GetToken(true) || mToken.mType != eCSSToken_Ident) {
|
||||
SkipUntil(')');
|
||||
return CSSParseResult::Error;
|
||||
}
|
||||
|
||||
mozilla::css::ColorMixColorSpace colorSpace;
|
||||
if (mToken.mIdent.LowerCaseEqualsLiteral("srgb")) {
|
||||
colorSpace = mozilla::css::ColorMixColorSpace::sRGB;
|
||||
} else if (mToken.mIdent.LowerCaseEqualsLiteral("hsl")) {
|
||||
colorSpace = mozilla::css::ColorMixColorSpace::HSL;
|
||||
} else {
|
||||
SkipUntil(')');
|
||||
return CSSParseResult::Error;
|
||||
}
|
||||
|
|
@ -7528,7 +7539,7 @@ CSSParserImpl::ParseColor(nsCSSValue& aValue)
|
|||
}
|
||||
|
||||
RefPtr<mozilla::css::ColorMixValue> colorMix = new mozilla::css::ColorMixValue(
|
||||
mozilla::css::ColorMixColorSpace::sRGB, color1, color2, w1, w2);
|
||||
colorSpace, color1, color2, w1, w2);
|
||||
aValue.SetColorMixValue(colorMix.forget());
|
||||
return CSSParseResult::Ok;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue