Index: ui/wm/core/compound_event_filter.cc |
diff --git a/ui/wm/core/compound_event_filter.cc b/ui/wm/core/compound_event_filter.cc |
index f7ab7d7223b619aacff793960fd8f0c9d02bc647..620babd54a62b669faa1d4d85011f62ab2d6af18 100644 |
--- a/ui/wm/core/compound_event_filter.cc |
+++ b/ui/wm/core/compound_event_filter.cc |
@@ -291,6 +291,17 @@ void CompoundEventFilter::OnGestureEvent(ui::GestureEvent* event) { |
while (!event->stopped_propagation() && (handler = it.GetNext()) != NULL) |
handler->OnGestureEvent(event); |
} |
+ |
+#if defined(OS_WIN) |
+ // A Win8 edge swipe event is a special event that does not have location |
+ // information associated with it, and is not preceeded by an ET_TOUCH_PRESSED |
+ // event. So we treat it specially here. |
+ if (!event->handled() && event->type() == ui::ET_GESTURE_WIN8_EDGE_SWIPE && |
+ !aura::Env::GetInstance()->IsMouseButtonDown()) { |
+ SetMouseEventsEnableStateOnEvent( |
+ static_cast<aura::Window*>(event->target()), event, false); |
+ } |
+#endif |
} |
} // namespace wm |