Commit 6e49228b authored by Wei Li's avatar Wei Li Committed by Commit Bot

Set focus behavior explicitly for buttons

These buttons are subclasses of ImageButton, LabelButton, or
ColorTrackingVectorImageButton. They inherited their focus behavior
previously. This CL explicitly DCHECK and set their behaviors so that
the parent classes' changes won't affect them. The DCHECKs will be
removed when we flip the parent classes' behaviors.

Bug: 1001103
Change-Id: I30f0c08cbdbf7ed8b09c40aa1033e155cb67d6a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2495921Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
Commit-Queue: Wei Li <weili@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820861}
parent 52505671
...@@ -70,11 +70,16 @@ InvertBubbleView::InvertBubbleView(Browser* browser, views::View* anchor_view) ...@@ -70,11 +70,16 @@ InvertBubbleView::InvertBubbleView(Browser* browser, views::View* anchor_view)
browser_(browser) { browser_(browser) {
SetButtons(ui::DIALOG_BUTTON_OK); SetButtons(ui::DIALOG_BUTTON_OK);
SetButtonLabel(ui::DIALOG_BUTTON_OK, l10n_util::GetStringUTF16(IDS_DONE)); SetButtonLabel(ui::DIALOG_BUTTON_OK, l10n_util::GetStringUTF16(IDS_DONE));
SetExtraView(views::CreateVectorImageButtonWithNativeTheme(
base::BindRepeating(&InvertBubbleView::OpenLink, auto button = views::CreateVectorImageButtonWithNativeTheme(
base::Unretained(this), kLearnMoreUrl), base::BindRepeating(&InvertBubbleView::OpenLink, base::Unretained(this),
vector_icons::kHelpOutlineIcon)) kLearnMoreUrl),
->SetTooltipText(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); vector_icons::kHelpOutlineIcon);
button->SetTooltipText(l10n_util::GetStringUTF16(IDS_LEARN_MORE));
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, button->GetFocusBehavior());
button->SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
SetExtraView(std::move(button));
set_margins(gfx::Insets()); set_margins(gfx::Insets());
chrome::RecordDialogCreation(chrome::DialogIdentifier::INVERT); chrome::RecordDialogCreation(chrome::DialogIdentifier::INVERT);
} }
......
...@@ -199,6 +199,10 @@ MigratableCardView::GetMigratableCardDescriptionView( ...@@ -199,6 +199,10 @@ MigratableCardView::GetMigratableCardDescriptionView(
kTrashCanIcon); kTrashCanIcon);
delete_card_from_local_button->SetTooltipText(l10n_util::GetStringUTF16( delete_card_from_local_button->SetTooltipText(l10n_util::GetStringUTF16(
IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_TRASH_CAN_BUTTON_TOOLTIP)); IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_TRASH_CAN_BUTTON_TOOLTIP));
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY,
delete_card_from_local_button->GetFocusBehavior());
delete_card_from_local_button->SetFocusBehavior(
FocusBehavior::ACCESSIBLE_ONLY);
delete_card_from_local_button_ = delete_card_from_local_button_ =
migratable_card_description_view->AddChildView( migratable_card_description_view->AddChildView(
std::move(delete_card_from_local_button)); std::move(delete_card_from_local_button));
......
...@@ -154,10 +154,15 @@ class BookmarkButtonBase : public views::LabelButton { ...@@ -154,10 +154,15 @@ class BookmarkButtonBase : public views::LabelButton {
: LabelButton(std::move(callback), title) { : LabelButton(std::move(callback), title) {
SetImageLabelSpacing(ChromeLayoutProvider::Get()->GetDistanceMetric( SetImageLabelSpacing(ChromeLayoutProvider::Get()->GetDistanceMetric(
DISTANCE_RELATED_LABEL_HORIZONTAL_LIST)); DISTANCE_RELATED_LABEL_HORIZONTAL_LIST));
views::InstallPillHighlightPathGenerator(this); views::InstallPillHighlightPathGenerator(this);
SetInkDropMode(InkDropMode::ON); SetInkDropMode(InkDropMode::ON);
SetHasInkDropActionOnClick(true); SetHasInkDropActionOnClick(true);
SetInkDropVisibleOpacity(kToolbarInkDropVisibleOpacity); SetInkDropVisibleOpacity(kToolbarInkDropVisibleOpacity);
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, GetFocusBehavior());
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
show_animation_ = std::make_unique<gfx::SlideAnimation>(this); show_animation_ = std::make_unique<gfx::SlideAnimation>(this);
if (!animations_enabled) { if (!animations_enabled) {
// For some reason during testing the events generated by animating // For some reason during testing the events generated by animating
......
...@@ -143,6 +143,8 @@ IconLabelBubbleView::IconLabelBubbleView(const gfx::FontList& font_list, ...@@ -143,6 +143,8 @@ IconLabelBubbleView::IconLabelBubbleView(const gfx::FontList& font_list,
views::HighlightPathGenerator::Install( views::HighlightPathGenerator::Install(
this, std::make_unique<HighlightPathGenerator>()); this, std::make_unique<HighlightPathGenerator>());
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, GetFocusBehavior());
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
UpdateBorder(); UpdateBorder();
......
...@@ -54,6 +54,9 @@ class OmniboxRemoveSuggestionButton : public views::ImageButton { ...@@ -54,6 +54,9 @@ class OmniboxRemoveSuggestionButton : public views::ImageButton {
explicit OmniboxRemoveSuggestionButton(PressedCallback callback) explicit OmniboxRemoveSuggestionButton(PressedCallback callback)
: ImageButton(std::move(callback)) { : ImageButton(std::move(callback)) {
views::ConfigureVectorImageButton(this); views::ConfigureVectorImageButton(this);
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, GetFocusBehavior());
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
} }
void GetAccessibleNodeData(ui::AXNodeData* node_data) override { void GetAccessibleNodeData(ui::AXNodeData* node_data) override {
......
...@@ -60,6 +60,9 @@ class OmniboxRowView::HeaderView : public views::View { ...@@ -60,6 +60,9 @@ class OmniboxRowView::HeaderView : public views::View {
&HeaderView::HeaderToggleButtonPressed, base::Unretained(this)))); &HeaderView::HeaderToggleButtonPressed, base::Unretained(this))));
mouse_enter_exit_handler_.ObserveMouseEnterExitOn(header_toggle_button_); mouse_enter_exit_handler_.ObserveMouseEnterExitOn(header_toggle_button_);
views::InstallCircleHighlightPathGenerator(header_toggle_button_); views::InstallCircleHighlightPathGenerator(header_toggle_button_);
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY,
header_toggle_button_->GetFocusBehavior());
header_toggle_button_->SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
header_toggle_button_focus_ring_ = header_toggle_button_focus_ring_ =
views::FocusRing::Install(header_toggle_button_); views::FocusRing::Install(header_toggle_button_);
......
...@@ -72,6 +72,9 @@ NewTabButton::NewTabButton(TabStrip* tab_strip, PressedCallback callback) ...@@ -72,6 +72,9 @@ NewTabButton::NewTabButton(TabStrip* tab_strip, PressedCallback callback)
SetInstallFocusRingOnFocus(true); SetInstallFocusRingOnFocus(true);
views::HighlightPathGenerator::Install( views::HighlightPathGenerator::Install(
this, std::make_unique<NewTabButton::HighlightPathGenerator>()); this, std::make_unique<NewTabButton::HighlightPathGenerator>());
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, GetFocusBehavior());
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
} }
NewTabButton::~NewTabButton() { NewTabButton::~NewTabButton() {
......
...@@ -219,7 +219,10 @@ const gfx::Point ImageButton::ComputeImagePaintPosition( ...@@ -219,7 +219,10 @@ const gfx::Point ImageButton::ComputeImagePaintPosition(
// ToggleImageButton, public: // ToggleImageButton, public:
ToggleImageButton::ToggleImageButton(PressedCallback callback) ToggleImageButton::ToggleImageButton(PressedCallback callback)
: ImageButton(std::move(callback)) {} : ImageButton(std::move(callback)) {
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, GetFocusBehavior());
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
}
ToggleImageButton::ToggleImageButton(ButtonListener* listener) ToggleImageButton::ToggleImageButton(ButtonListener* listener)
: ToggleImageButton(PressedCallback(listener, this)) {} : ToggleImageButton(PressedCallback(listener, this)) {}
......
...@@ -25,6 +25,9 @@ MenuButton::MenuButton(PressedCallback callback, ...@@ -25,6 +25,9 @@ MenuButton::MenuButton(PressedCallback callback,
std::make_unique<Button::DefaultButtonControllerDelegate>(this)); std::make_unique<Button::DefaultButtonControllerDelegate>(this));
menu_button_controller_ = menu_button_controller.get(); menu_button_controller_ = menu_button_controller.get();
SetButtonController(std::move(menu_button_controller)); SetButtonController(std::move(menu_button_controller));
DCHECK_EQ(FocusBehavior::ACCESSIBLE_ONLY, GetFocusBehavior());
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
} }
MenuButton::MenuButton(ButtonListener* listener, MenuButton::MenuButton(ButtonListener* listener,
......
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