Commit 8c151991 authored by Wei Li's avatar Wei Li Committed by Commit Bot

Avoid installing dual focus rings on a button

Button class has its own focus ring. When a custom focus ring is
installed, remove the stock one.

Bug: 1107498
Change-Id: I5342e41eba04042c921868a22181fdfb9ff3d9ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2511470Reviewed-by: default avatarAllen Bauer <kylixrd@chromium.org>
Commit-Queue: Wei Li <weili@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823735}
parent b6017722
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <utility> #include <utility>
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/notreached.h"
#include "ui/accessibility/ax_enums.mojom.h" #include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_node_data.h" #include "ui/accessibility/ax_node_data.h"
#include "ui/gfx/canvas.h" #include "ui/gfx/canvas.h"
...@@ -16,6 +17,7 @@ ...@@ -16,6 +17,7 @@
#include "ui/views/metadata/metadata_impl_macros.h" #include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/style/platform_style.h" #include "ui/views/style/platform_style.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
#include "ui/views/view_utils.h"
namespace views { namespace views {
...@@ -57,6 +59,12 @@ SkPath GetHighlightPathInternal(const View* view) { ...@@ -57,6 +59,12 @@ SkPath GetHighlightPathInternal(const View* view) {
// static // static
FocusRing* FocusRing::Install(View* parent) { FocusRing* FocusRing::Install(View* parent) {
if (IsViewClass<Button>(parent)) {
// Ensure we don't install dual focus rings on a button.
Button* button = static_cast<Button*>(parent);
if (button->GetInstallFocusRingOnFocus())
button->SetInstallFocusRingOnFocus(false);
}
auto ring = base::WrapUnique<FocusRing>(new FocusRing()); auto ring = base::WrapUnique<FocusRing>(new FocusRing());
ring->InvalidateLayout(); ring->InvalidateLayout();
ring->SchedulePaint(); ring->SchedulePaint();
......
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