Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(997)

Unified Diff: ui/views/controls/button/custom_button.cc

Issue 547303003: Keep reference view pressed while extension actions have a popup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/button/custom_button.cc
diff --git a/ui/views/controls/button/custom_button.cc b/ui/views/controls/button/custom_button.cc
index 1b5d1e82ffbd705b332ed9ce3057a60a8d2da995..2f29a6da67adddab77c636532e338f15b49f01bc 100644
--- a/ui/views/controls/button/custom_button.cc
+++ b/ui/views/controls/button/custom_button.cc
@@ -167,18 +167,18 @@ void CustomButton::OnMouseCaptureLost() {
}
void CustomButton::OnMouseEntered(const ui::MouseEvent& event) {
- if (state_ != STATE_DISABLED)
+ if (state_ != STATE_DISABLED && ShouldRespondToMouseMovement())
SetState(STATE_HOVERED);
}
void CustomButton::OnMouseExited(const ui::MouseEvent& event) {
// Starting a drag results in a MouseExited, we need to ignore it.
- if (state_ != STATE_DISABLED && !InDrag())
+ if (state_ != STATE_DISABLED && !InDrag() && ShouldRespondToMouseMovement())
SetState(STATE_NORMAL);
}
void CustomButton::OnMouseMoved(const ui::MouseEvent& event) {
- if (state_ != STATE_DISABLED)
+ if (state_ != STATE_DISABLED && ShouldRespondToMouseMovement())
SetState(HitTestPoint(event.location()) ? STATE_HOVERED : STATE_NORMAL);
}
@@ -328,6 +328,10 @@ CustomButton::CustomButton(ButtonListener* listener)
hover_animation_->SetSlideDuration(kHoverFadeDurationMs);
}
+bool CustomButton::ShouldRespondToMouseMovement() {
+ return true;
+}
+
void CustomButton::StateChanged() {
}

Powered by Google App Engine
This is Rietveld 408576698