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 @@
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.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/mouse_constants.h"
#include "ui/views/view_class_properties.h"
......@@ -145,6 +146,7 @@ class TransparentButton : public views::Button {
explicit TransparentButton(views::ButtonListener* listener)
: Button(listener) {
SetFocusForPlatform();
views::InstallRectHighlightPathGenerator(this);
SetInkDropMode(InkDropMode::ON);
}
~TransparentButton() override {}
......@@ -189,6 +191,7 @@ DownloadItemView::DownloadItemView(DownloadUIModel::DownloadUIModelPtr download,
time_download_warning_shown_(base::Time()),
accessible_alert_(accessible_alert),
announce_accessible_alert_soon_(false) {
views::InstallRectHighlightPathGenerator(this);
SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
model_->AddObserver(this);
......@@ -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() {
views::SetImageFromVectorIcon(
dropdown_button_,
......
......@@ -94,7 +94,6 @@ class DownloadItemView : public views::InkDropHostView,
// views::View:
void Layout() override;
void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
gfx::Size CalculatePreferredSize() const override;
bool OnMouseDragged(const ui::MouseEvent& event) 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