| 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..14c83bdcc902c637b661aa10f7ec6a210de6d2e3 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
|
| @@ -34,6 +34,7 @@ import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
|
| import org.chromium.chrome.browser.omnibox.LocationBar;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.util.ViewUtils;
|
| +import org.chromium.chrome.browser.widget.PulseDrawable;
|
| import org.chromium.chrome.browser.widget.TintedImageButton;
|
| import org.chromium.chrome.browser.widget.ToolbarProgressBar;
|
| import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
|
| @@ -77,6 +78,9 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
|
|
| private boolean mFindInPageToolbarShowing;
|
|
|
| + protected boolean mHighlightingMenu;
|
| + private PulseDrawable mHighlightDrawable;
|
| +
|
| protected boolean mShowMenuBadge;
|
| private AnimatorSet mMenuBadgeAnimatorSet;
|
| private boolean mIsMenuBadgeAnimationRunning;
|
| @@ -654,6 +658,11 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
| public abstract LocationBar getLocationBar();
|
|
|
| /**
|
| + * @return Whether or not this toolbar should use light or dark assets based on the theme.
|
| + */
|
| + public abstract boolean useLightDrawables();
|
| +
|
| + /**
|
| * Navigates the current Tab back.
|
| * @return Whether or not the current Tab did go back.
|
| */
|
| @@ -691,6 +700,12 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
| }
|
|
|
| @Override
|
| + public void setMenuButtonHighlight(boolean highlight) {
|
| + mHighlightingMenu = highlight;
|
| + setMenuButtonHighlightDrawable(mHighlightingMenu);
|
| + }
|
| +
|
| + @Override
|
| public void showAppMenuUpdateBadge() {
|
| mShowMenuBadge = true;
|
| }
|
| @@ -795,6 +810,28 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
|
| }
|
|
|
| /**
|
| + * Sets the menu button's background depending on whether or not we are highlighting and whether
|
| + * or not we are using light or dark assets.
|
| + * @param highlighting Whether or not the menu button should be highlighted.
|
| + */
|
| + protected void setMenuButtonHighlightDrawable(boolean highlighting) {
|
| + if (highlighting) {
|
| + if (mHighlightDrawable == null) {
|
| + mHighlightDrawable = PulseDrawable.createCircle();
|
| + mHighlightDrawable.setInset(ApiCompatibilityUtils.getPaddingStart(mMenuButton),
|
| + mMenuButton.getPaddingTop(),
|
| + ApiCompatibilityUtils.getPaddingEnd(mMenuButton),
|
| + mMenuButton.getPaddingBottom());
|
| + }
|
| + mHighlightDrawable.setUseLightPulseColor(useLightDrawables());
|
| + mMenuButtonWrapper.setBackground(mHighlightDrawable);
|
| + mHighlightDrawable.start();
|
| + } else {
|
| + mMenuButtonWrapper.setBackground(null);
|
| + }
|
| + }
|
| +
|
| + /**
|
| * Sets the content description for the menu button.
|
| * @param isUpdateBadgeVisible Whether the update menu badge is visible.
|
| */
|
|
|