| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
|
| index 4d9c22fd61696cbff715443d437381ea9c6aa390..d798f629832c876a7795b2f484cca24f6ebf3dd7 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
|
| @@ -26,6 +26,7 @@ import org.chromium.base.ApiCompatibilityUtils;
|
| import org.chromium.base.VisibleForTesting;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.appmenu.AppMenuButtonHelper;
|
| +import org.chromium.chrome.browser.appmenu.IconHighlightDrawable;
|
| import org.chromium.chrome.browser.compositor.Invalidator;
|
| import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
|
| import org.chromium.chrome.browser.fullscreen.BrowserStateBrowserControlsVisibilityDelegate;
|
| @@ -77,6 +78,7 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
|
|
| private boolean mFindInPageToolbarShowing;
|
|
|
| + protected boolean mHighlightingMenu;
|
| protected boolean mShowMenuBadge;
|
| private AnimatorSet mMenuBadgeAnimatorSet;
|
| private boolean mIsMenuBadgeAnimationRunning;
|
| @@ -691,6 +693,12 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
| }
|
|
|
| @Override
|
| + public void setMenuButtonHighlight(boolean highlight) {
|
| + mHighlightingMenu = highlight;
|
| + setAppMenuButtonHighlight(highlight, true /* useLightDrawable*/);
|
| + }
|
| +
|
| + @Override
|
| public void showAppMenuUpdateBadge() {
|
| mShowMenuBadge = true;
|
| }
|
| @@ -795,6 +803,27 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
| }
|
|
|
| /**
|
| + *
|
| + * @param highlighting
|
| + * @param useLightDrawable
|
| + */
|
| + protected void setAppMenuButtonHighlight(boolean highlighting, boolean useLightDrawable) {
|
| + IconHighlightDrawable drawable = null;
|
| + if (highlighting) {
|
| + int colorRes = useLightDrawable ? R.color.app_menu_highlight_color_dark
|
| + : R.color.app_menu_highlight_color_light;
|
| + int color = ApiCompatibilityUtils.getColor(getContext().getResources(), colorRes);
|
| +
|
| + drawable = new IconHighlightDrawable(color);
|
| +
|
| + drawable.setMargin(ApiCompatibilityUtils.getPaddingStart(mMenuButton),
|
| + mMenuButton.getPaddingTop(), ApiCompatibilityUtils.getPaddingEnd(mMenuButton),
|
| + mMenuButton.getPaddingBottom());
|
| + }
|
| + mMenuButtonWrapper.setBackground(drawable);
|
| + }
|
| +
|
| + /**
|
| * Sets the content description for the menu button.
|
| * @param isUpdateBadgeVisible Whether the update menu badge is visible.
|
| */
|
|
|