Index: ui/events/blink/web_input_event.cc |
diff --git a/ui/events/blink/web_input_event.cc b/ui/events/blink/web_input_event.cc |
index 10b13b57c8bbee1c9994721b49a74e8a4aeb1a01..3476f003322d260072713e558e7fabcc0b744721 100644 |
--- a/ui/events/blink/web_input_event.cc |
+++ b/ui/events/blink/web_input_event.cc |
@@ -6,6 +6,7 @@ |
#include "ui/events/base_event_utils.h" |
#include "ui/events/blink/blink_event_util.h" |
+#include "ui/events/blink/blink_features.h" |
#include "ui/events/event.h" |
#include "ui/events/event_utils.h" |
#include "ui/events/keycodes/dom/keycode_converter.h" |
@@ -385,13 +386,13 @@ blink::WebMouseEvent MakeWebMouseEventFromUiEvent(const MouseEvent& event) { |
type = blink::WebInputEvent::MouseUp; |
click_count = event.GetClickCount(); |
break; |
- case ET_MOUSE_EXITED: |
-// TODO(chaopeng) this fix only for chromeos now, should convert ET_MOUSE_EXITED |
-// to MouseLeave when crbug.com/450631 fixed. |
-#if defined(OS_CHROMEOS) |
- type = blink::WebInputEvent::MouseLeave; |
+ case ET_MOUSE_EXITED: { |
+ static bool s_send_leave = |
+ base::FeatureList::IsEnabled(features::kSendMouseLeaveEvents); |
+ type = s_send_leave ? blink::WebInputEvent::MouseLeave |
+ : blink::WebInputEvent::MouseMove; |
break; |
-#endif |
+ } |
case ET_MOUSE_ENTERED: |
case ET_MOUSE_MOVED: |
case ET_MOUSE_DRAGGED: |