Commit 96dd5127 authored by Peter Kasting's avatar Peter Kasting Committed by Chromium LUCI CQ

Add metadata for files in c/b/ui/views/web_apps.

Bug: 1159562
Change-Id: I1f6e904976a027ed870744c50ec1f6444deefd62
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2628498
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@{#843571}
parent 02246bba
......@@ -22,8 +22,8 @@
#include "chrome/browser/ui/views/web_apps/frame_toolbar/web_app_toolbar_button_container.h"
#include "chrome/browser/ui/web_applications/app_browser_controller.h"
#include "ui/views/layout/flex_layout.h"
const char WebAppFrameToolbarView::kViewClassName[] = "WebAppFrameToolbarView";
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_utils.h"
WebAppFrameToolbarView::WebAppFrameToolbarView(views::Widget* widget,
BrowserView* browser_view)
......@@ -72,10 +72,10 @@ WebAppFrameToolbarView::WebAppFrameToolbarView(views::Widget* widget,
UpdateStatusIconsVisibility();
DCHECK(!browser_view_->toolbar_button_provider() ||
browser_view_->toolbar_button_provider()
->GetAsAccessiblePaneView()
->GetClassName() == GetClassName())
DCHECK(
!browser_view_->toolbar_button_provider() ||
views::IsViewClass<WebAppFrameToolbarView>(
browser_view_->toolbar_button_provider()->GetAsAccessiblePaneView()))
<< "This should be the first ToolbarButtorProvider or a replacement for "
"an existing instance of this class during a window frame refresh.";
browser_view_->SetToolbarButtonProvider(this);
......@@ -108,6 +108,11 @@ void WebAppFrameToolbarView::SetPaintAsActive(bool active) {
return;
paint_as_active_ = active;
UpdateChildrenColor();
OnPropertyChanged(&paint_as_active_, views::kPropertyEffectsNone);
}
bool WebAppFrameToolbarView::GetPaintAsActive() const {
return paint_as_active_;
}
std::pair<int, int> WebAppFrameToolbarView::LayoutInContainer(
......@@ -228,10 +233,6 @@ WebAppFrameToolbarView::GetPageActionIconControllerForTesting() {
return right_container_->page_action_icon_controller();
}
const char* WebAppFrameToolbarView::GetClassName() const {
return kViewClassName;
}
void WebAppFrameToolbarView::ChildPreferredSizeChanged(views::View* child) {
PreferredSizeChanged();
}
......@@ -260,3 +261,7 @@ void WebAppFrameToolbarView::UpdateChildrenColor() {
foreground_color,
paint_as_active_ ? active_background_color_ : inactive_background_color_);
}
BEGIN_METADATA(WebAppFrameToolbarView, views::AccessiblePaneView)
ADD_PROPERTY_METADATA(bool, PaintAsActive)
END_METADATA
......@@ -8,13 +8,13 @@
#include <utility>
#include <vector>
#include "base/macros.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/color_palette.h"
#include "ui/views/accessible_pane_view.h"
#include "ui/views/metadata/metadata_header_macros.h"
namespace views {
class View;
......@@ -31,9 +31,10 @@ class WebAppToolbarButtonContainer;
class WebAppFrameToolbarView : public views::AccessiblePaneView,
public ToolbarButtonProvider {
public:
static const char kViewClassName[];
METADATA_HEADER(WebAppFrameToolbarView);
WebAppFrameToolbarView(views::Widget* widget, BrowserView* browser_view);
WebAppFrameToolbarView(const WebAppFrameToolbarView&) = delete;
WebAppFrameToolbarView& operator=(const WebAppFrameToolbarView&) = delete;
~WebAppFrameToolbarView() override;
void UpdateStatusIconsVisibility();
......@@ -44,6 +45,7 @@ class WebAppFrameToolbarView : public views::AccessiblePaneView,
// Sets the container to paints its buttons the active/inactive color.
void SetPaintAsActive(bool active);
bool GetPaintAsActive() const;
// Sets own bounds equal to the available space and returns the bounds of the
// remaining inner space as a pair of (leading x, trailing x).
......@@ -80,7 +82,6 @@ class WebAppFrameToolbarView : public views::AccessiblePaneView,
protected:
// views::AccessiblePaneView:
const char* GetClassName() const override;
void ChildPreferredSizeChanged(views::View* child) override;
void OnThemeChanged() override;
......@@ -115,8 +116,6 @@ class WebAppFrameToolbarView : public views::AccessiblePaneView,
views::View* center_container_ = nullptr;
WebAppToolbarButtonContainer* right_container_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(WebAppFrameToolbarView);
};
#endif // CHROME_BROWSER_UI_VIEWS_WEB_APPS_FRAME_TOOLBAR_WEB_APP_FRAME_TOOLBAR_VIEW_H_
......@@ -23,6 +23,7 @@
#include "ui/views/animation/ink_drop.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/window/hit_test_utils.h"
......@@ -57,9 +58,16 @@ WebAppMenuButton::WebAppMenuButton(BrowserView* browser_view,
WebAppMenuButton::~WebAppMenuButton() = default;
void WebAppMenuButton::SetColor(SkColor color) {
if (color_ == color)
return;
color_ = color;
SetImageModel(views::Button::STATE_NORMAL,
ui::ImageModel::FromVectorIcon(kBrowserToolsIcon, color));
ink_drop_color_ = color;
OnPropertyChanged(&color_, views::kPropertyEffectsNone);
}
SkColor WebAppMenuButton::GetColor() const {
return color_;
}
void WebAppMenuButton::StartHighlightAnimation() {
......@@ -88,7 +96,7 @@ void WebAppMenuButton::ButtonPressed(const ui::Event& event) {
}
SkColor WebAppMenuButton::GetInkDropBaseColor() const {
return ink_drop_color_;
return GetColor();
}
void WebAppMenuButton::FadeHighlightOff() {
......@@ -100,6 +108,6 @@ void WebAppMenuButton::FadeHighlightOff() {
}
}
const char* WebAppMenuButton::GetClassName() const {
return "WebAppMenuButton";
}
BEGIN_METADATA(WebAppMenuButton, AppMenuButton)
ADD_PROPERTY_METADATA(SkColor, Color)
END_METADATA
......@@ -11,19 +11,24 @@
#include "chrome/browser/ui/web_applications/web_app_menu_model.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/color_palette.h"
#include "ui/views/metadata/metadata_header_macros.h"
class BrowserView;
// The 'app menu' button for a web app window.
class WebAppMenuButton : public AppMenuButton {
public:
METADATA_HEADER(WebAppMenuButton);
static int GetMenuButtonSizeForBrowser(Browser* browser);
explicit WebAppMenuButton(BrowserView* browser_view,
base::string16 accessible_name = base::string16());
WebAppMenuButton(const WebAppMenuButton&) = delete;
WebAppMenuButton& operator=(const WebAppMenuButton&) = delete;
~WebAppMenuButton() override;
// Sets the color of the menu button icon and highlight.
void SetColor(SkColor color);
SkColor GetColor() const;
// Fades the menu button highlight on and off.
void StartHighlightAnimation();
......@@ -39,17 +44,12 @@ class WebAppMenuButton : public AppMenuButton {
private:
void FadeHighlightOff();
// views::View:
const char* GetClassName() const override;
// The containing browser view.
BrowserView* browser_view_;
SkColor ink_drop_color_ = gfx::kPlaceholderColor;
SkColor color_ = gfx::kPlaceholderColor;
base::OneShotTimer highlight_off_timer_;
DISALLOW_COPY_AND_ASSIGN(WebAppMenuButton);
};
#endif // CHROME_BROWSER_UI_VIEWS_WEB_APPS_FRAME_TOOLBAR_WEB_APP_MENU_BUTTON_H_
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