| 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.
|
|
|