Commit 107fa944 authored by Peter Kasting's avatar Peter Kasting Committed by Chromium LUCI CQ

Add metadata for classes in c/b/ui/views/toolbar/.

Bug: 1159562
Change-Id: Ie663d63641be29ac489d9cad30c7eb7b008d3745
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2623153
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Allen Bauer <kylixrd@chromium.org>
Reviewed-by: default avatarAllen Bauer <kylixrd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842256}
parent 5732192b
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include "ui/gfx/geometry/point.h" #include "ui/gfx/geometry/point.h"
#include "ui/views/controls/button/image_button.h" #include "ui/views/controls/button/image_button.h"
#include "ui/views/layout/animating_layout_manager_test_util.h" #include "ui/views/layout/animating_layout_manager_test_util.h"
#include "ui/views/view_utils.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
namespace { namespace {
...@@ -196,7 +197,7 @@ ExtensionsMenuViewUnitTest::GetPinnedExtensionViews() { ...@@ -196,7 +197,7 @@ ExtensionsMenuViewUnitTest::GetPinnedExtensionViews() {
std::vector<ToolbarActionView*> result; std::vector<ToolbarActionView*> result;
for (views::View* child : extensions_container()->children()) { for (views::View* child : extensions_container()->children()) {
// Ensure we don't downcast the ExtensionsToolbarButton. // Ensure we don't downcast the ExtensionsToolbarButton.
if (child->GetClassName() == ToolbarActionView::kClassName) { if (views::IsViewClass<ToolbarActionView>(child)) {
ToolbarActionView* const action = static_cast<ToolbarActionView*>(child); ToolbarActionView* const action = static_cast<ToolbarActionView*>(child);
#if defined(OS_MAC) #if defined(OS_MAC)
// TODO(crbug.com/1045212): Use IsActionVisibleOnToolbar() because it // TODO(crbug.com/1045212): Use IsActionVisibleOnToolbar() because it
...@@ -533,7 +534,7 @@ TEST_F(ExtensionsMenuViewUnitTest, ReloadExtensionFailed) { ...@@ -533,7 +534,7 @@ TEST_F(ExtensionsMenuViewUnitTest, ReloadExtensionFailed) {
// Since the extension is removed it's no longer visible on the toolbar or in // Since the extension is removed it's no longer visible on the toolbar or in
// the menu. // the menu.
for (views::View* child : extensions_container()->children()) for (views::View* child : extensions_container()->children())
EXPECT_NE(ToolbarActionView::kClassName, child->GetClassName()); EXPECT_FALSE(views::IsViewClass<ToolbarActionView>(child));
EXPECT_EQ(0u, extensions_menu()->extensions_menu_items_for_testing().size()); EXPECT_EQ(0u, extensions_menu()->extensions_menu_items_for_testing().size());
} }
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "net/dns/mock_host_resolver.h" #include "net/dns/mock_host_resolver.h"
#include "ui/views/layout/animating_layout_manager_test_util.h" #include "ui/views/layout/animating_layout_manager_test_util.h"
#include "ui/views/view_utils.h"
ExtensionsToolbarBrowserTest::ExtensionsToolbarBrowserTest(bool enable_flag) { ExtensionsToolbarBrowserTest::ExtensionsToolbarBrowserTest(bool enable_flag) {
if (enable_flag) { if (enable_flag) {
...@@ -80,7 +81,7 @@ std::vector<ToolbarActionView*> ...@@ -80,7 +81,7 @@ std::vector<ToolbarActionView*>
ExtensionsToolbarBrowserTest::GetToolbarActionViews() const { ExtensionsToolbarBrowserTest::GetToolbarActionViews() const {
std::vector<ToolbarActionView*> views; std::vector<ToolbarActionView*> views;
for (auto* view : GetExtensionsToolbarContainer()->children()) { for (auto* view : GetExtensionsToolbarContainer()->children()) {
if (view->GetClassName() == ToolbarActionView::kClassName) if (views::IsViewClass<ToolbarActionView>(view))
views.push_back(static_cast<ToolbarActionView*>(view)); views.push_back(static_cast<ToolbarActionView*>(view));
} }
return views; return views;
......
...@@ -1549,7 +1549,7 @@ void BrowserView::FocusAppMenu() { ...@@ -1549,7 +1549,7 @@ void BrowserView::FocusAppMenu() {
// location. // location.
// //
// Not used on the Mac, which has a normal menu bar. // Not used on the Mac, which has a normal menu bar.
if (toolbar_->IsAppMenuFocused()) { if (toolbar_->GetAppMenuFocused()) {
RestoreFocus(); RestoreFocus();
} else { } else {
DCHECK(!immersive_mode_controller_->IsEnabled()); DCHECK(!immersive_mode_controller_->IsEnabled());
......
...@@ -193,7 +193,7 @@ void AvatarToolbarButton::ShowAvatarHighlightAnimation() { ...@@ -193,7 +193,7 @@ void AvatarToolbarButton::ShowAvatarHighlightAnimation() {
} }
bool AvatarToolbarButton::IsParentHighlighted() const { bool AvatarToolbarButton::IsParentHighlighted() const {
return parent_ && parent_->IsHighlighted(); return parent_ && parent_->GetHighlighted();
} }
void AvatarToolbarButton::AddObserver(Observer* observer) { void AvatarToolbarButton::AddObserver(Observer* observer) {
......
...@@ -98,7 +98,10 @@ class SadTabViewInteractiveUITest : public InProcessBrowserTest { ...@@ -98,7 +98,10 @@ class SadTabViewInteractiveUITest : public InProcessBrowserTest {
} }
bool IsFocusedViewInsideBrowserToolbar() { bool IsFocusedViewInsideBrowserToolbar() {
return IsFocusedViewInsideViewClass(ToolbarView::kViewClassName); return IsFocusedViewInsideViewClass(
BrowserView::GetBrowserViewForBrowser(browser())
->toolbar()
->GetClassName());
} }
bool IsFocusedViewOnActionButtonInSadTab() { bool IsFocusedViewOnActionButtonInSadTab() {
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include "ui/views/animation/ink_drop_highlight.h" #include "ui/views/animation/ink_drop_highlight.h"
#include "ui/views/animation/ink_drop_state.h" #include "ui/views/animation/ink_drop_state.h"
#include "ui/views/controls/button/label_button_border.h" #include "ui/views/controls/button/label_button_border.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/metrics.h" #include "ui/views/metrics.h"
#include "ui/views/view.h" #include "ui/views/view.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
...@@ -172,10 +173,6 @@ void BrowserAppMenuButton::UpdateTextAndHighlightColor() { ...@@ -172,10 +173,6 @@ void BrowserAppMenuButton::UpdateTextAndHighlightColor() {
SetHighlight(text, color); SetHighlight(text, color);
} }
const char* BrowserAppMenuButton::GetClassName() const {
return "BrowserAppMenuButton";
}
bool BrowserAppMenuButton::GetDropFormats( bool BrowserAppMenuButton::GetDropFormats(
int* formats, int* formats,
std::set<ui::ClipboardFormatType>* format_types) { std::set<ui::ClipboardFormatType>* format_types) {
...@@ -231,3 +228,6 @@ void BrowserAppMenuButton::OnTouchUiChanged() { ...@@ -231,3 +228,6 @@ void BrowserAppMenuButton::OnTouchUiChanged() {
UpdateColorsAndInsets(); UpdateColorsAndInsets();
PreferredSizeChanged(); PreferredSizeChanged();
} }
BEGIN_METADATA(BrowserAppMenuButton, AppMenuButton)
END_METADATA
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "chrome/browser/ui/toolbar/app_menu_icon_controller.h" #include "chrome/browser/ui/toolbar/app_menu_icon_controller.h"
#include "chrome/browser/ui/user_education/feature_promo_controller.h" #include "chrome/browser/ui/user_education/feature_promo_controller.h"
#include "chrome/browser/ui/views/frame/app_menu_button.h" #include "chrome/browser/ui/views/frame/app_menu_button.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h" #include "ui/views/view.h"
class ToolbarView; class ToolbarView;
...@@ -23,6 +24,7 @@ enum class InProductHelpFeature; ...@@ -23,6 +24,7 @@ enum class InProductHelpFeature;
// windows, which is implemented in WebAppMenuButton). // windows, which is implemented in WebAppMenuButton).
class BrowserAppMenuButton : public AppMenuButton { class BrowserAppMenuButton : public AppMenuButton {
public: public:
METADATA_HEADER(BrowserAppMenuButton);
BrowserAppMenuButton(PressedCallback callback, ToolbarView* toolbar_view); BrowserAppMenuButton(PressedCallback callback, ToolbarView* toolbar_view);
BrowserAppMenuButton(const BrowserAppMenuButton&) = delete; BrowserAppMenuButton(const BrowserAppMenuButton&) = delete;
BrowserAppMenuButton& operator=(const BrowserAppMenuButton&) = delete; BrowserAppMenuButton& operator=(const BrowserAppMenuButton&) = delete;
...@@ -31,10 +33,6 @@ class BrowserAppMenuButton : public AppMenuButton { ...@@ -31,10 +33,6 @@ class BrowserAppMenuButton : public AppMenuButton {
void SetTypeAndSeverity( void SetTypeAndSeverity(
AppMenuIconController::TypeAndSeverity type_and_severity); AppMenuIconController::TypeAndSeverity type_and_severity);
AppMenuIconController::Severity severity() {
return type_and_severity_.severity;
}
// Shows the app menu. |run_types| denotes the MenuRunner::RunTypes associated // Shows the app menu. |run_types| denotes the MenuRunner::RunTypes associated
// with the menu. // with the menu.
void ShowMenu(int run_types); void ShowMenu(int run_types);
...@@ -44,7 +42,6 @@ class BrowserAppMenuButton : public AppMenuButton { ...@@ -44,7 +42,6 @@ class BrowserAppMenuButton : public AppMenuButton {
static bool g_open_app_immediately_for_testing; static bool g_open_app_immediately_for_testing;
// AppMenuButton: // AppMenuButton:
const char* GetClassName() const override;
bool GetDropFormats(int* formats, bool GetDropFormats(int* formats,
std::set<ui::ClipboardFormatType>* format_types) override; std::set<ui::ClipboardFormatType>* format_types) override;
bool AreDropTypesRequired() override; bool AreDropTypesRequired() override;
......
...@@ -21,14 +21,10 @@ ...@@ -21,14 +21,10 @@
#include "ui/gfx/color_palette.h" #include "ui/gfx/color_palette.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h" #include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/layout/flex_layout_types.h" #include "ui/views/layout/flex_layout_types.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
// static
const char ToolbarAccountIconContainerView::
kToolbarAccountIconContainerViewClassName[] =
"ToolbarAccountIconContainerView";
ToolbarAccountIconContainerView::ToolbarAccountIconContainerView( ToolbarAccountIconContainerView::ToolbarAccountIconContainerView(
Browser* browser) Browser* browser)
: ToolbarIconContainerView( : ToolbarIconContainerView(
...@@ -107,12 +103,11 @@ void ToolbarAccountIconContainerView::OnThemeChanged() { ...@@ -107,12 +103,11 @@ void ToolbarAccountIconContainerView::OnThemeChanged() {
UpdateAllIcons(); UpdateAllIcons();
} }
const char* ToolbarAccountIconContainerView::GetClassName() const {
return kToolbarAccountIconContainerViewClassName;
}
void ToolbarAccountIconContainerView::AddPageActionIcon(views::View* icon) { void ToolbarAccountIconContainerView::AddPageActionIcon(views::View* icon) {
// Add the page action icons to the end of the container, just before the // Add the page action icons to the end of the container, just before the
// avatar icon. // avatar icon.
AddChildViewAt(icon, GetIndexOf(avatar_)); AddChildViewAt(icon, GetIndexOf(avatar_));
} }
BEGIN_METADATA(ToolbarAccountIconContainerView, ToolbarIconContainerView)
END_METADATA
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "chrome/browser/ui/views/page_action/page_action_icon_container.h" #include "chrome/browser/ui/views/page_action/page_action_icon_container.h"
#include "chrome/browser/ui/views/page_action/page_action_icon_view.h" #include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
#include "chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h" #include "chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h"
#include "ui/views/metadata/metadata_header_macros.h"
class AvatarToolbarButton; class AvatarToolbarButton;
class Browser; class Browser;
...@@ -21,6 +22,7 @@ class ToolbarAccountIconContainerView : public ToolbarIconContainerView, ...@@ -21,6 +22,7 @@ class ToolbarAccountIconContainerView : public ToolbarIconContainerView,
public PageActionIconContainer, public PageActionIconContainer,
public PageActionIconView::Delegate { public PageActionIconView::Delegate {
public: public:
METADATA_HEADER(ToolbarAccountIconContainerView);
explicit ToolbarAccountIconContainerView(Browser* browser); explicit ToolbarAccountIconContainerView(Browser* browser);
ToolbarAccountIconContainerView(const ToolbarAccountIconContainerView&) = ToolbarAccountIconContainerView(const ToolbarAccountIconContainerView&) =
delete; delete;
...@@ -44,15 +46,12 @@ class ToolbarAccountIconContainerView : public ToolbarIconContainerView, ...@@ -44,15 +46,12 @@ class ToolbarAccountIconContainerView : public ToolbarIconContainerView,
// views::View: // views::View:
void OnThemeChanged() override; void OnThemeChanged() override;
const char* GetClassName() const override;
PageActionIconController* page_action_icon_controller() { PageActionIconController* page_action_icon_controller() {
return page_action_icon_controller_.get(); return page_action_icon_controller_.get();
} }
AvatarToolbarButton* avatar_button() { return avatar_; } AvatarToolbarButton* avatar_button() { return avatar_; }
static const char kToolbarAccountIconContainerViewClassName[];
private: private:
// PageActionIconContainer: // PageActionIconContainer:
void AddPageActionIcon(views::View* icon) override; void AddPageActionIcon(views::View* icon) override;
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "ui/views/controls/menu/menu_controller.h" #include "ui/views/controls/menu/menu_controller.h"
#include "ui/views/controls/menu/menu_model_adapter.h" #include "ui/views/controls/menu/menu_model_adapter.h"
#include "ui/views/controls/menu/menu_runner.h" #include "ui/views/controls/menu/menu_runner.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/mouse_constants.h" #include "ui/views/mouse_constants.h"
using views::LabelButtonBorder; using views::LabelButtonBorder;
...@@ -51,8 +52,6 @@ bool ToolbarActionView::Delegate::CanShowIconInToolbar() const { ...@@ -51,8 +52,6 @@ bool ToolbarActionView::Delegate::CanShowIconInToolbar() const {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ToolbarActionView // ToolbarActionView
const char ToolbarActionView::kClassName[] = "ToolbarActionView";
ToolbarActionView::ToolbarActionView( ToolbarActionView::ToolbarActionView(
ToolbarActionViewController* view_controller, ToolbarActionViewController* view_controller,
ToolbarActionView::Delegate* delegate) ToolbarActionView::Delegate* delegate)
...@@ -89,10 +88,6 @@ ToolbarActionView::~ToolbarActionView() { ...@@ -89,10 +88,6 @@ ToolbarActionView::~ToolbarActionView() {
view_controller_->SetDelegate(nullptr); view_controller_->SetDelegate(nullptr);
} }
const char* ToolbarActionView::GetClassName() const {
return kClassName;
}
gfx::Rect ToolbarActionView::GetAnchorBoundsInScreen() const { gfx::Rect ToolbarActionView::GetAnchorBoundsInScreen() const {
gfx::Rect bounds = GetBoundsInScreen(); gfx::Rect bounds = GetBoundsInScreen();
bounds.Inset(GetToolbarInkDropInsets(this)); bounds.Inset(GetToolbarInkDropInsets(this));
...@@ -320,3 +315,6 @@ void ToolbarActionView::ButtonPressed() { ...@@ -320,3 +315,6 @@ void ToolbarActionView::ButtonPressed() {
ui::MENU_SOURCE_NONE); ui::MENU_SOURCE_NONE);
} }
} }
BEGIN_METADATA(ToolbarActionView, views::MenuButton)
END_METADATA
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "ui/views/controls/button/menu_button_controller.h" #include "ui/views/controls/button/menu_button_controller.h"
#include "ui/views/controls/menu/menu_model_adapter.h" #include "ui/views/controls/menu/menu_model_adapter.h"
#include "ui/views/drag_controller.h" #include "ui/views/drag_controller.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h" #include "ui/views/view.h"
class ExtensionContextMenuController; class ExtensionContextMenuController;
...@@ -23,6 +24,8 @@ class ExtensionContextMenuController; ...@@ -23,6 +24,8 @@ class ExtensionContextMenuController;
class ToolbarActionView : public views::MenuButton, class ToolbarActionView : public views::MenuButton,
public ToolbarActionViewDelegateViews { public ToolbarActionViewDelegateViews {
public: public:
METADATA_HEADER(ToolbarActionView);
// Need DragController here because ToolbarActionView could be // Need DragController here because ToolbarActionView could be
// dragged/dropped. // dragged/dropped.
class Delegate : public views::DragController { class Delegate : public views::DragController {
...@@ -83,11 +86,9 @@ class ToolbarActionView : public views::MenuButton, ...@@ -83,11 +86,9 @@ class ToolbarActionView : public views::MenuButton,
ExtensionContextMenuController* context_menu_controller_for_testing() const { ExtensionContextMenuController* context_menu_controller_for_testing() const {
return context_menu_controller_.get(); return context_menu_controller_.get();
} }
static const char kClassName[];
private: private:
// views::MenuButton: // views::MenuButton:
const char* GetClassName() const override;
gfx::Size CalculatePreferredSize() const override; gfx::Size CalculatePreferredSize() const override;
bool OnMousePressed(const ui::MouseEvent& event) override; bool OnMousePressed(const ui::MouseEvent& event) override;
void OnMouseReleased(const ui::MouseEvent& event) override; void OnMouseReleased(const ui::MouseEvent& event) override;
......
...@@ -20,13 +20,10 @@ ...@@ -20,13 +20,10 @@
#include "ui/views/background.h" #include "ui/views/background.h"
#include "ui/views/layout/animating_layout_manager.h" #include "ui/views/layout/animating_layout_manager.h"
#include "ui/views/layout/flex_layout.h" #include "ui/views/layout/flex_layout.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
#include "ui/views/view_observer.h" #include "ui/views/view_observer.h"
// static
const char ToolbarIconContainerView::kToolbarIconContainerViewClassName[] =
"ToolbarIconContainerView";
ToolbarIconContainerView::RoundRectBorder::RoundRectBorder(views::View* parent) ToolbarIconContainerView::RoundRectBorder::RoundRectBorder(views::View* parent)
: parent_(parent) { : parent_(parent) {
layer_.set_delegate(this); layer_.set_delegate(this);
...@@ -159,20 +156,45 @@ void ToolbarIconContainerView::RemoveObserver(const Observer* obs) { ...@@ -159,20 +156,45 @@ void ToolbarIconContainerView::RemoveObserver(const Observer* obs) {
observers_.RemoveObserver(obs); observers_.RemoveObserver(obs);
} }
void ToolbarIconContainerView::OverrideIconColor(SkColor color) { void ToolbarIconContainerView::SetIconColor(SkColor color) {
if (icon_color_ == color)
return;
icon_color_ = color; icon_color_ = color;
UpdateAllIcons(); UpdateAllIcons();
OnPropertyChanged(&icon_color_, views::kPropertyEffectsNone);
} }
SkColor ToolbarIconContainerView::GetIconColor() const { SkColor ToolbarIconContainerView::GetIconColor() const {
if (icon_color_) return icon_color_.value_or(
return icon_color_.value(); GetThemeProvider()->GetColor(ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON));
return GetThemeProvider()->GetColor(
ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON);
} }
bool ToolbarIconContainerView::IsHighlighted() { bool ToolbarIconContainerView::GetHighlighted() const {
return ShouldDisplayHighlight(); if (!uses_highlight_)
return false;
if (IsMouseHovered() && (!main_button_ || !main_button_->IsMouseHovered()))
return true;
// Focused, pressed or hovered children should trigger the highlight.
for (const views::View* child : children()) {
if (child == main_button_)
continue;
if (child->HasFocus())
return true;
const views::Button* button = views::Button::AsButton(child);
if (!button)
continue;
if (button->GetState() == views::Button::ButtonState::STATE_PRESSED ||
button->GetState() == views::Button::ButtonState::STATE_HOVERED) {
return true;
}
// The container should also be highlighted if a dialog is anchored to.
if (base::Contains(highlighted_buttons_, button))
return true;
}
return false;
} }
void ToolbarIconContainerView::OnViewFocused(views::View* observed_view) { void ToolbarIconContainerView::OnViewFocused(views::View* observed_view) {
...@@ -198,50 +220,18 @@ void ToolbarIconContainerView::OnMouseExited(const ui::MouseEvent& event) { ...@@ -198,50 +220,18 @@ void ToolbarIconContainerView::OnMouseExited(const ui::MouseEvent& event) {
UpdateHighlight(); UpdateHighlight();
} }
const char* ToolbarIconContainerView::GetClassName() const {
return kToolbarIconContainerViewClassName;
}
void ToolbarIconContainerView::AddedToWidget() { void ToolbarIconContainerView::AddedToWidget() {
// Add an observer to reset the animation if the browser window is restored, // Add an observer to reset the animation if the browser window is restored,
// preventing spurious animation. (See crbug.com/1106506) // preventing spurious animation. (See crbug.com/1106506)
restore_observer_ = std::make_unique<WidgetRestoreObserver>(this); restore_observer_ = std::make_unique<WidgetRestoreObserver>(this);
} }
bool ToolbarIconContainerView::ShouldDisplayHighlight() {
if (!uses_highlight_)
return false;
if (IsMouseHovered() && (!main_button_ || !main_button_->IsMouseHovered()))
return true;
// Focused, pressed or hovered children should trigger the highlight.
for (views::View* child : children()) {
if (child == main_button_)
continue;
if (child->HasFocus())
return true;
views::Button* button = views::Button::AsButton(child);
if (!button)
continue;
if (button->GetState() == views::Button::ButtonState::STATE_PRESSED ||
button->GetState() == views::Button::ButtonState::STATE_HOVERED) {
return true;
}
// The container should also be highlighted if a dialog is anchored to.
if (base::Contains(highlighted_buttons_, button))
return true;
}
return false;
}
void ToolbarIconContainerView::UpdateHighlight() { void ToolbarIconContainerView::UpdateHighlight() {
bool showing_before = border_.layer()->GetTargetOpacity() == 1; bool showing_before = border_.layer()->GetTargetOpacity() == 1;
{ {
ui::ScopedLayerAnimationSettings settings(border_.layer()->GetAnimator()); ui::ScopedLayerAnimationSettings settings(border_.layer()->GetAnimator());
border_.layer()->SetOpacity(ShouldDisplayHighlight() ? 1 : 0); border_.layer()->SetOpacity(GetHighlighted() ? 1 : 0);
} }
if (showing_before == (border_.layer()->GetTargetOpacity() == 1)) if (showing_before == (border_.layer()->GetTargetOpacity() == 1))
...@@ -259,3 +249,8 @@ void ToolbarIconContainerView::OnButtonHighlightedChanged( ...@@ -259,3 +249,8 @@ void ToolbarIconContainerView::OnButtonHighlightedChanged(
UpdateHighlight(); UpdateHighlight();
} }
BEGIN_METADATA(ToolbarIconContainerView, views::View)
ADD_PROPERTY_METADATA(SkColor, IconColor)
ADD_READONLY_PROPERTY_METADATA(bool, Highlighted)
END_METADATA
...@@ -12,12 +12,15 @@ ...@@ -12,12 +12,15 @@
#include "ui/views/controls/button/button.h" #include "ui/views/controls/button/button.h"
#include "ui/views/layout/animating_layout_manager.h" #include "ui/views/layout/animating_layout_manager.h"
#include "ui/views/layout/flex_layout.h" #include "ui/views/layout/flex_layout.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h" #include "ui/views/view.h"
// A general view container for any type of toolbar icons. // A general view container for any type of toolbar icons.
class ToolbarIconContainerView : public views::View, class ToolbarIconContainerView : public views::View,
public views::ViewObserver { public views::ViewObserver {
public: public:
METADATA_HEADER(ToolbarIconContainerView);
class Observer : public base::CheckedObserver { class Observer : public base::CheckedObserver {
public: public:
virtual void OnHighlightChanged() = 0; virtual void OnHighlightChanged() = 0;
...@@ -41,16 +44,16 @@ class ToolbarIconContainerView : public views::View, ...@@ -41,16 +44,16 @@ class ToolbarIconContainerView : public views::View,
void AddObserver(Observer* obs); void AddObserver(Observer* obs);
void RemoveObserver(const Observer* obs); void RemoveObserver(const Observer* obs);
void OverrideIconColor(SkColor icon_color); void SetIconColor(SkColor icon_color);
SkColor GetIconColor() const; SkColor GetIconColor() const;
bool IsHighlighted(); bool GetHighlighted() const;
// views::ViewObserver: // views::ViewObserver:
void OnViewFocused(views::View* observed_view) override; void OnViewFocused(views::View* observed_view) override;
void OnViewBlurred(views::View* observed_view) override; void OnViewBlurred(views::View* observed_view) override;
bool uses_highlight() { return uses_highlight_; } bool uses_highlight() const { return uses_highlight_; }
// Provides access to the animating layout manager for subclasses. // Provides access to the animating layout manager for subclasses.
views::AnimatingLayoutManager* animating_layout_manager() { views::AnimatingLayoutManager* animating_layout_manager() {
...@@ -68,8 +71,6 @@ class ToolbarIconContainerView : public views::View, ...@@ -68,8 +71,6 @@ class ToolbarIconContainerView : public views::View,
animating_layout_manager()->target_layout_manager()); animating_layout_manager()->target_layout_manager());
} }
static const char kToolbarIconContainerViewClassName[];
protected: protected:
void OnBoundsChanged(const gfx::Rect& previous_bounds) override; void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
...@@ -100,10 +101,8 @@ class ToolbarIconContainerView : public views::View, ...@@ -100,10 +101,8 @@ class ToolbarIconContainerView : public views::View,
// views::View: // views::View:
void OnMouseEntered(const ui::MouseEvent& event) override; void OnMouseEntered(const ui::MouseEvent& event) override;
void OnMouseExited(const ui::MouseEvent& event) override; void OnMouseExited(const ui::MouseEvent& event) override;
const char* GetClassName() const override;
void AddedToWidget() override; void AddedToWidget() override;
bool ShouldDisplayHighlight();
void UpdateHighlight(); void UpdateHighlight();
// Called by |button| when its ink drop highlighted state changes. // Called by |button| when its ink drop highlighted state changes.
...@@ -123,7 +122,7 @@ class ToolbarIconContainerView : public views::View, ...@@ -123,7 +122,7 @@ class ToolbarIconContainerView : public views::View,
// Points to the child buttons that we know are currently highlighted. // Points to the child buttons that we know are currently highlighted.
// TODO(pbos): Consider observing buttons leaving our hierarchy and removing // TODO(pbos): Consider observing buttons leaving our hierarchy and removing
// them from this set. // them from this set.
std::set<views::Button*> highlighted_buttons_; std::set<const views::Button*> highlighted_buttons_;
RoundRectBorder border_{this}; RoundRectBorder border_{this};
......
...@@ -83,6 +83,7 @@ ...@@ -83,6 +83,7 @@
#include "ui/native_theme/native_theme_aura.h" #include "ui/native_theme/native_theme_aura.h"
#include "ui/views/layout/fill_layout.h" #include "ui/views/layout/fill_layout.h"
#include "ui/views/layout/flex_layout.h" #include "ui/views/layout/flex_layout.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
#include "ui/views/widget/tooltip_manager.h" #include "ui/views/widget/tooltip_manager.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
...@@ -143,9 +144,6 @@ const base::flat_map<int, int>& GetViewCommandMap() { ...@@ -143,9 +144,6 @@ const base::flat_map<int, int>& GetViewCommandMap() {
} // namespace } // namespace
// static
const char ToolbarView::kViewClassName[] = "ToolbarView";
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ToolbarView, public: // ToolbarView, public:
...@@ -413,7 +411,7 @@ void ToolbarView::SetPaneFocusAndFocusAppMenu() { ...@@ -413,7 +411,7 @@ void ToolbarView::SetPaneFocusAndFocusAppMenu() {
SetPaneFocus(app_menu_button_); SetPaneFocus(app_menu_button_);
} }
bool ToolbarView::IsAppMenuFocused() { bool ToolbarView::GetAppMenuFocused() const {
return app_menu_button_ && app_menu_button_->HasFocus(); return app_menu_button_ && app_menu_button_->HasFocus();
} }
...@@ -635,10 +633,6 @@ void ToolbarView::OnThemeChanged() { ...@@ -635,10 +633,6 @@ void ToolbarView::OnThemeChanged() {
SchedulePaint(); SchedulePaint();
} }
const char* ToolbarView::GetClassName() const {
return kViewClassName;
}
bool ToolbarView::AcceleratorPressed(const ui::Accelerator& accelerator) { bool ToolbarView::AcceleratorPressed(const ui::Accelerator& accelerator) {
const views::View* focused_view = focus_manager()->GetFocusedView(); const views::View* focused_view = focus_manager()->GetFocusedView();
if (focused_view && (focused_view->GetID() == VIEW_ID_OMNIBOX)) if (focused_view && (focused_view->GetID() == VIEW_ID_OMNIBOX))
...@@ -950,3 +944,7 @@ void ToolbarView::AppMenuButtonPressed(const ui::Event& event) { ...@@ -950,3 +944,7 @@ void ToolbarView::AppMenuButtonPressed(const ui::Event& event) {
? views::MenuRunner::SHOULD_SHOW_MNEMONICS ? views::MenuRunner::SHOULD_SHOW_MNEMONICS
: views::MenuRunner::NO_FLAGS); : views::MenuRunner::NO_FLAGS);
} }
BEGIN_METADATA(ToolbarView, views::AccessiblePaneView)
ADD_READONLY_PROPERTY_METADATA(bool, AppMenuFocused)
END_METADATA
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include "base/macros.h"
#include "base/observer_list.h" #include "base/observer_list.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/scoped_observation.h" #include "base/scoped_observation.h"
...@@ -31,6 +30,7 @@ ...@@ -31,6 +30,7 @@
#include "ui/views/accessible_pane_view.h" #include "ui/views/accessible_pane_view.h"
#include "ui/views/animation/animation_delegate_views.h" #include "ui/views/animation/animation_delegate_views.h"
#include "ui/views/controls/button/menu_button.h" #include "ui/views/controls/button/menu_button.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h" #include "ui/views/view.h"
#include "url/origin.h" #include "url/origin.h"
...@@ -77,6 +77,8 @@ class ToolbarView : public views::AccessiblePaneView, ...@@ -77,6 +77,8 @@ class ToolbarView : public views::AccessiblePaneView,
public ToolbarButtonProvider, public ToolbarButtonProvider,
public BrowserRootView::DropTarget { public BrowserRootView::DropTarget {
public: public:
METADATA_HEADER(ToolbarView);
// Types of display mode this toolbar can have. // Types of display mode this toolbar can have.
enum class DisplayMode { enum class DisplayMode {
NORMAL, // Normal toolbar with buttons, etc. NORMAL, // Normal toolbar with buttons, etc.
...@@ -86,10 +88,9 @@ class ToolbarView : public views::AccessiblePaneView, ...@@ -86,10 +88,9 @@ class ToolbarView : public views::AccessiblePaneView,
// needs to be displayed. // needs to be displayed.
}; };
// The view class name. ToolbarView(Browser* browser, BrowserView* browser_view);
static const char kViewClassName[]; ToolbarView(const ToolbarView&) = delete;
ToolbarView& operator=(const ToolbarView&) = delete;
explicit ToolbarView(Browser* browser, BrowserView* browser_view);
~ToolbarView() override; ~ToolbarView() override;
// Create the contents of the Browser Toolbar. // Create the contents of the Browser Toolbar.
...@@ -118,7 +119,7 @@ class ToolbarView : public views::AccessiblePaneView, ...@@ -118,7 +119,7 @@ class ToolbarView : public views::AccessiblePaneView,
void SetPaneFocusAndFocusAppMenu(); void SetPaneFocusAndFocusAppMenu();
// Returns true if the app menu is focused. // Returns true if the app menu is focused.
bool IsAppMenuFocused(); bool GetAppMenuFocused() const;
void ShowIntentPickerBubble( void ShowIntentPickerBubble(
std::vector<IntentPickerBubbleView::AppInfo> app_info, std::vector<IntentPickerBubbleView::AppInfo> app_info,
...@@ -188,7 +189,6 @@ class ToolbarView : public views::AccessiblePaneView, ...@@ -188,7 +189,6 @@ class ToolbarView : public views::AccessiblePaneView,
gfx::Size GetMinimumSize() const override; gfx::Size GetMinimumSize() const override;
void Layout() override; void Layout() override;
void OnThemeChanged() override; void OnThemeChanged() override;
const char* GetClassName() const override;
bool AcceleratorPressed(const ui::Accelerator& acc) override; bool AcceleratorPressed(const ui::Accelerator& acc) override;
void ChildPreferredSizeChanged(views::View* child) override; void ChildPreferredSizeChanged(views::View* child) override;
...@@ -297,8 +297,6 @@ class ToolbarView : public views::AccessiblePaneView, ...@@ -297,8 +297,6 @@ class ToolbarView : public views::AccessiblePaneView,
// Whether this toolbar has been initialized. // Whether this toolbar has been initialized.
bool initialized_ = false; bool initialized_ = false;
DISALLOW_IMPLICIT_CONSTRUCTORS(ToolbarView);
}; };
#endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_VIEW_H_ #endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_VIEW_H_
...@@ -178,7 +178,7 @@ void WebAppToolbarButtonContainer::SetColors(SkColor foreground_color, ...@@ -178,7 +178,7 @@ void WebAppToolbarButtonContainer::SetColors(SkColor foreground_color,
if (content_settings_container_) if (content_settings_container_)
content_settings_container_->SetIconColor(foreground_color_); content_settings_container_->SetIconColor(foreground_color_);
if (extensions_container_) if (extensions_container_)
extensions_container_->OverrideIconColor(foreground_color_); extensions_container_->SetIconColor(foreground_color_);
page_action_icon_controller_->SetIconColor(foreground_color_); page_action_icon_controller_->SetIconColor(foreground_color_);
if (web_app_menu_button_) if (web_app_menu_button_)
web_app_menu_button_->SetColor(foreground_color_); web_app_menu_button_->SetColor(foreground_color_);
......
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