| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java
|
| index 31e59ce75d044eb4215c3300837d9177c007c967..22856a8fdb45731996d4970b5b89fd6917ccf310 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java
|
| @@ -13,9 +13,8 @@ import android.content.Context;
|
| import android.content.res.ColorStateList;
|
| import android.content.res.Configuration;
|
| import android.content.res.Resources;
|
| -import android.graphics.Bitmap;
|
| -import android.graphics.drawable.BitmapDrawable;
|
| import android.graphics.drawable.ColorDrawable;
|
| +import android.graphics.drawable.Drawable;
|
| import android.text.TextUtils;
|
| import android.util.AttributeSet;
|
| import android.util.Pair;
|
| @@ -48,6 +47,7 @@ import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| import org.chromium.chrome.browser.ssl.ConnectionSecurityLevel;
|
| import org.chromium.chrome.browser.tab.ChromeTab;
|
| +import org.chromium.chrome.browser.widget.TintedDrawable;
|
| import org.chromium.chrome.browser.widget.TintedImageButton;
|
| import org.chromium.components.dom_distiller.core.DomDistillerService;
|
| import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
|
| @@ -164,14 +164,14 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar,
|
| }
|
|
|
| @Override
|
| - public void addCustomActionButton(Bitmap buttonSource, OnClickListener listener) {
|
| + public void addCustomActionButton(Drawable drawable, OnClickListener listener) {
|
| Resources resources = getResources();
|
|
|
| // The height will be scaled to match spec while keeping the aspect ratio, so get the scaled
|
| // width through that.
|
| - int sourceHeight = buttonSource.getHeight();
|
| + int sourceHeight = drawable.getIntrinsicHeight();
|
| int sourceScaledHeight = resources.getDimensionPixelSize(R.dimen.toolbar_icon_height);
|
| - int sourceWidth = buttonSource.getWidth();
|
| + int sourceWidth = drawable.getIntrinsicWidth();
|
| int sourceScaledWidth = sourceWidth * sourceScaledHeight / sourceHeight;
|
| int minPadding = resources.getDimensionPixelSize(R.dimen.min_toolbar_icon_side_padding);
|
|
|
| @@ -179,8 +179,8 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar,
|
| int topPadding = mCustomActionButton.getPaddingTop();
|
| int bottomPadding = mCustomActionButton.getPaddingBottom();
|
| mCustomActionButton.setPadding(sidePadding, topPadding, sidePadding, bottomPadding);
|
| + mCustomActionButton.setImageDrawable(drawable);
|
|
|
| - mCustomActionButton.setImageDrawable(new BitmapDrawable(getResources(), buttonSource));
|
| mCustomActionButton.setOnClickListener(listener);
|
| mCustomActionButton.setVisibility(VISIBLE);
|
| }
|
| @@ -301,6 +301,9 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar,
|
| ? R.color.dark_mode_tint : R.color.light_mode_tint);
|
| mMenuButton.setTint(colorStateList);
|
| mCloseButton.setTint(colorStateList);
|
| + if (mCustomActionButton.getDrawable() instanceof TintedDrawable) {
|
| + ((TintedDrawable) mCustomActionButton.getDrawable()).setTint(colorStateList);
|
| + }
|
| mUrlBar.setUseDarkTextColors(mUseDarkColors);
|
|
|
| int titleTextColor = mUseDarkColors ? resources.getColor(R.color.url_emphasis_default_text)
|
|
|