summaryrefslogtreecommitdiffstats
path: root/layout/style/StyleComplexColor.h
diff options
context:
space:
mode:
authorathenian200 <athenian200@outlook.com>2020-09-29 11:31:46 -0500
committerathenian200 <athenian200@outlook.com>2020-10-18 10:04:12 -0500
commit8e3832bacbbef4a549f64df5c978a5672e47ff2e (patch)
tree6a3afb705aa7ae2a9f2be65cd6f5628fcc72131a /layout/style/StyleComplexColor.h
parent5ad0a15f6a60e24fb260e4a0d0d8050e42c33114 (diff)
downloadUXP-8e3832bacbbef4a549f64df5c978a5672e47ff2e.tar
UXP-8e3832bacbbef4a549f64df5c978a5672e47ff2e.tar.gz
UXP-8e3832bacbbef4a549f64df5c978a5672e47ff2e.tar.lz
UXP-8e3832bacbbef4a549f64df5c978a5672e47ff2e.tar.xz
UXP-8e3832bacbbef4a549f64df5c978a5672e47ff2e.zip
Issue #1668 - Part 1: Implement support for caret-color property.
This CSS property allows input carets (that blinking input cursor you see in text fields), to be given a custom color. This was implemented in Firefox 53, and it was such a minor feature that no one ever missed it, but I don't see any harm in implementing this. https://bugzilla.mozilla.org/show_bug.cgi?id=1063162
Diffstat (limited to 'layout/style/StyleComplexColor.h')
-rw-r--r--layout/style/StyleComplexColor.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/layout/style/StyleComplexColor.h b/layout/style/StyleComplexColor.h
index 4acf90a56..6385b57a1 100644
--- a/layout/style/StyleComplexColor.h
+++ b/layout/style/StyleComplexColor.h
@@ -24,16 +24,29 @@ struct StyleComplexColor
{
nscolor mColor;
uint8_t mForegroundRatio;
-
- static StyleComplexColor FromColor(nscolor aColor) { return {aColor, 0}; }
- static StyleComplexColor CurrentColor() { return {NS_RGBA(0, 0, 0, 0), 255}; }
+ // Whether the complex color represents a computed-value time auto
+ // value. This is only a flag indicating that this value should not
+ // be interpolatable with other colors, while other fields still
+ // represents the actual used color of this value.
+ bool mIsAuto;
+
+ static StyleComplexColor FromColor(nscolor aColor) {
+ return {aColor, 0, false};
+ }
+ static StyleComplexColor CurrentColor() {
+ return {NS_RGBA(0, 0, 0, 0), 255, false};
+ }
+ static StyleComplexColor Auto() {
+ return {NS_RGBA(0, 0, 0, 0), 255, true};
+ }
bool IsNumericColor() const { return mForegroundRatio == 0; }
bool IsCurrentColor() const { return mForegroundRatio == 255; }
bool operator==(const StyleComplexColor& aOther) const {
return mForegroundRatio == aOther.mForegroundRatio &&
- (IsCurrentColor() || mColor == aOther.mColor);
+ (IsCurrentColor() || mColor == aOther.mColor) &&
+ mIsAuto == aOther.mIsAuto;
}
bool operator!=(const StyleComplexColor& aOther) const {
return !(*this == aOther);