Commit 571101c1 authored by Peter Boström's avatar Peter Boström Committed by Commit Bot

Use HighlightPathGenerators for DownloadItemView

Restores a missing rectangular highlight to the download item. The
transparent button is often hosting the InkDrop but previously had no
path defined.

Bug: chromium:1007546
Change-Id: Ib0dffc72be2e0b3db33569538dde38391c62a8b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1837978
Commit-Queue: Peter Boström <pbos@chromium.org>
Commit-Queue: Collin Baker <collinbaker@chromium.org>
Auto-Submit: Peter Boström <pbos@chromium.org>
Reviewed-by: default avatarCollin Baker <collinbaker@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702463}
parent b9b55257
...@@ -72,6 +72,7 @@ ...@@ -72,6 +72,7 @@
#include "ui/views/controls/button/image_button.h" #include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.h" #include "ui/views/controls/button/image_button_factory.h"
#include "ui/views/controls/button/md_text_button.h" #include "ui/views/controls/button/md_text_button.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/controls/label.h" #include "ui/views/controls/label.h"
#include "ui/views/mouse_constants.h" #include "ui/views/mouse_constants.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
...@@ -145,6 +146,7 @@ class TransparentButton : public views::Button { ...@@ -145,6 +146,7 @@ class TransparentButton : public views::Button {
explicit TransparentButton(views::ButtonListener* listener) explicit TransparentButton(views::ButtonListener* listener)
: Button(listener) { : Button(listener) {
SetFocusForPlatform(); SetFocusForPlatform();
views::InstallRectHighlightPathGenerator(this);
SetInkDropMode(InkDropMode::ON); SetInkDropMode(InkDropMode::ON);
} }
~TransparentButton() override {} ~TransparentButton() override {}
...@@ -189,6 +191,7 @@ DownloadItemView::DownloadItemView(DownloadUIModel::DownloadUIModelPtr download, ...@@ -189,6 +191,7 @@ DownloadItemView::DownloadItemView(DownloadUIModel::DownloadUIModelPtr download,
time_download_warning_shown_(base::Time()), time_download_warning_shown_(base::Time()),
accessible_alert_(accessible_alert), accessible_alert_(accessible_alert),
announce_accessible_alert_soon_(false) { announce_accessible_alert_soon_(false) {
views::InstallRectHighlightPathGenerator(this);
SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER); SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
model_->AddObserver(this); model_->AddObserver(this);
...@@ -462,14 +465,6 @@ void DownloadItemView::Layout() { ...@@ -462,14 +465,6 @@ void DownloadItemView::Layout() {
} }
} }
void DownloadItemView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
auto path = std::make_unique<SkPath>();
path->addRect(RectToSkRect(GetLocalBounds()));
SetProperty(views::kHighlightPathKey, path.release());
InkDropHostView::OnBoundsChanged(previous_bounds);
}
void DownloadItemView::UpdateDropdownButton() { void DownloadItemView::UpdateDropdownButton() {
views::SetImageFromVectorIcon( views::SetImageFromVectorIcon(
dropdown_button_, dropdown_button_,
......
...@@ -94,7 +94,6 @@ class DownloadItemView : public views::InkDropHostView, ...@@ -94,7 +94,6 @@ class DownloadItemView : public views::InkDropHostView,
// views::View: // views::View:
void Layout() override; void Layout() override;
void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
gfx::Size CalculatePreferredSize() const override; gfx::Size CalculatePreferredSize() const override;
bool OnMouseDragged(const ui::MouseEvent& event) override; bool OnMouseDragged(const ui::MouseEvent& event) override;
void OnMouseCaptureLost() override; void OnMouseCaptureLost() 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