Index: chrome/android/java/src/org/chromium/chrome/browser/util/ColorUtils.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/ColorUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/util/ColorUtils.java |
index b3e57a1c1e7398a8aff0e71a9e363f1a8c663ec3..6276c5a4b957bc7809b9377b2d2269b702717859 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/ColorUtils.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/ColorUtils.java |
@@ -12,6 +12,7 @@ import android.graphics.Color; |
public class ColorUtils { |
private static final float CONTRAST_LIGHT_ITEM_THRESHOLD = 3f; |
private static final float LIGHTNESS_OPAQUE_BOX_THRESHOLD = 0.82f; |
+ private static final float LOCATION_BAR_TRANSPARENT_BACKGROUND_ALPHA = 0.2f; |
/** Percentage to darken a color by when setting the status bar color. */ |
private static final float DARKEN_COLOR_FRACTION = 0.6f; |
@@ -44,6 +45,24 @@ public class ColorUtils { |
} |
/** |
+ * @return The base color for the textbox given a toolbar background color. |
+ */ |
+ public static int getTextBoxColorForToolbarBackground(int color) { |
+ if (shouldUseOpaqueTextboxBackground(color)) return Color.WHITE; |
+ return getColorWithOverlay(Color.WHITE, color, LOCATION_BAR_TRANSPARENT_BACKGROUND_ALPHA); |
+ } |
+ |
+ private static int getColorWithOverlay(int baseColor, int overlayColor, float overlayAlpha) { |
+ return Color.rgb( |
+ (int) (overlayAlpha * Color.red(baseColor) |
+ + (1f - overlayAlpha) * Color.red(overlayColor)), |
+ (int) (overlayAlpha * Color.green(baseColor) |
+ + (1f - overlayAlpha) * Color.green(overlayColor)), |
+ (int) (overlayAlpha * Color.blue(baseColor) |
+ + (1f - overlayAlpha) * Color.blue(overlayColor))); |
+ } |
+ |
+ /** |
* Darkens the given color to use on the status bar. |
* @param color Color which should be darkened. |
* @return Color that should be used for Android status bar. |