Bug 1460456 part 1 - Change the semantics of 'auto' color value. r?heycam draft
authorXidorn Quan <me@upsuper.org>
Thu, 10 May 2018 09:05:08 +1000
changeset 795170 559726971bf1c6b1c4fb7364e46f7f9448385abc
parent 795169 30c481e1f491a1408ca226f471638b3e5a2603f4
child 795171 472637b2ade99e94222be7fcafbc0c4070776398
push id109884
push userxquan@mozilla.com
push dateTue, 15 May 2018 05:52:23 +0000
reviewersheycam
bugs1460456
milestone62.0a1
Bug 1460456 part 1 - Change the semantics of 'auto' color value. r?heycam MozReview-Commit-ID: CRkhO35MoB8
layout/style/StyleComplexColor.h
--- a/layout/style/StyleComplexColor.h
+++ b/layout/style/StyleComplexColor.h
@@ -18,25 +18,29 @@ namespace mozilla {
 class ComputedStyle;
 
 /**
  * This struct represents a combined color from a numeric color and
  * the current foreground color (currentcolor keyword).
  * Conceptually, the formula is "color * (1 - p) + currentcolor * p"
  * where p is mForegroundRatio. See mozilla::LinearBlendColors for
  * the actual algorithm.
+ *
+ * It can also represent an "auto" value, which is valid for some
+ * properties. See comment of mIsAuto.
  */
 struct StyleComplexColor
 {
   nscolor mColor;
   uint8_t mForegroundRatio;
   // 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.
+  // value. This is a flag indicating that this value should not be
+  // interpolatable with other colors. When this flag is set, other
+  // fields represent a currentcolor. Properties can decide whether
+  // that should be used.
   bool mIsAuto;
 
   static StyleComplexColor FromColor(nscolor aColor) {
     return {aColor, 0, false};
   }
   static StyleComplexColor CurrentColor() {
     return {NS_RGBA(0, 0, 0, 0), 255, false};
   }