Commit 7232a406 authored by Alan Cutter's avatar Alan Cutter Committed by Commit Bot

Make hosted app menu button highlight a circle

This CL updates hosted app menu buttons to be a circle instead of a
squircle. This matches the main browser app menu button highlight shape.

Before: https://bugs.chromium.org/p/chromium/issues/attachment?aid=382151&signed_aid=8nMn1jvoQMiuwbo9hYOZnw==&inline=1
After: https://bugs.chromium.org/p/chromium/issues/attachment?aid=382152&signed_aid=dqni06i4dkv3UxZYxCF6FA==&inline=1

Bug: 918093
Change-Id: I9137331b23047570a1a7becd97ee6be6a04d0abe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1496399
Commit-Queue: Alan Cutter <alancutter@chromium.org>
Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Reviewed-by: default avatarJay Harris <harrisjay@chromium.org>
Auto-Submit: Alan Cutter <alancutter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#637980}
parent f6c3980c
......@@ -11,14 +11,24 @@
#include "chrome/browser/ui/views/frame/app_menu_button_observer.h"
#include "chrome/browser/ui/views/toolbar/app_menu.h"
#include "chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h"
#include "ui/views/view_class_properties.h"
AppMenuButton::AppMenuButton(views::MenuButtonListener* menu_button_listener)
: views::MenuButton(base::string16(),
menu_button_listener,
CONTEXT_TOOLBAR_BUTTON) {}
CONTEXT_TOOLBAR_BUTTON) {
SetProperty(views::kInternalPaddingKey, new gfx::Insets());
}
AppMenuButton::~AppMenuButton() {}
void AppMenuButton::OnBoundsChanged(const gfx::Rect& previous_bounds) {
// TODO(pbos): Consolidate with ToolbarButton::OnBoundsChanged.
SetToolbarButtonHighlightPath(this, *GetProperty(views::kInternalPaddingKey));
views::MenuButton::OnBoundsChanged(previous_bounds);
}
SkColor AppMenuButton::GetInkDropBaseColor() const {
return GetToolbarInkDropBaseColor(this);
}
......
......@@ -30,6 +30,7 @@ class AppMenuButton : public views::MenuButton {
~AppMenuButton() override;
// views::MenuButton:
void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
SkColor GetInkDropBaseColor() const override;
void AddObserver(AppMenuButtonObserver* observer);
......
......@@ -14,6 +14,7 @@
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/hosted_app_button_container.h"
#include "chrome/browser/ui/views/toolbar/app_menu.h"
#include "chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h"
#include "chrome/grit/generated_resources.h"
#include "ui/base/hit_test.h"
#include "ui/base/l10n/l10n_util.h"
......@@ -22,6 +23,7 @@
#include "ui/views/animation/ink_drop.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/menu_button.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/window/hit_test_utils.h"
HostedAppMenuButton::HostedAppMenuButton(BrowserView* browser_view)
......@@ -44,6 +46,9 @@ HostedAppMenuButton::HostedAppMenuButton(BrowserView* browser_view)
int size = GetLayoutConstant(HOSTED_APP_MENU_BUTTON_SIZE);
SetMinSize(gfx::Size(size, size));
SetHorizontalAlignment(gfx::ALIGN_CENTER);
constexpr gfx::Insets kInkDropInsets(2);
*GetProperty(views::kInternalPaddingKey) = kInkDropInsets;
}
HostedAppMenuButton::~HostedAppMenuButton() {}
......
......@@ -148,10 +148,6 @@ BrowserAppMenuButton::BrowserAppMenuButton(ToolbarView* toolbar_view)
md_observer_.Add(ui::MaterialDesignController::GetInstance());
// Because we're using the internal padding to keep track of the changes we
// make to the leading margin to handle Fitts' Law, it's easier to just
// allocate the property once and modify the value.
SetProperty(views::kInternalPaddingKey, new gfx::Insets());
UpdateBorder();
}
......@@ -321,13 +317,6 @@ void BrowserAppMenuButton::UpdateBorder() {
SetBorder(views::CreateEmptyBorder(new_insets));
}
void BrowserAppMenuButton::OnBoundsChanged(const gfx::Rect& previous_bounds) {
// TODO(pbos): Consolidate with ToolbarButton::OnBoundsChanged.
SetToolbarButtonHighlightPath(this, *GetProperty(views::kInternalPaddingKey));
AppMenuButton::OnBoundsChanged(previous_bounds);
}
gfx::Rect BrowserAppMenuButton::GetAnchorBoundsInScreen() const {
gfx::Rect bounds = GetBoundsInScreen();
gfx::Insets insets =
......
......@@ -49,7 +49,6 @@ class BrowserAppMenuButton : public AppMenuButton,
#endif
// views::MenuButton:
void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
gfx::Rect GetAnchorBoundsInScreen() const override;
void OnThemeChanged() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment