#include "ash/accelerators/accelerator_controller.h"
#include "ash/accelerators/accelerator_table.h"
#include "ash/ash_switches.h"
+#include "ash/metrics/user_metrics_recorder.h"
#include "ash/root_window_controller.h"
#include "ash/shell.h"
-#include "ash/shell_delegate.h"
#include "ash/shell_window_ids.h"
#include "ash/wm/gestures/long_press_affordance_handler.h"
#include "ash/wm/gestures/overview_gesture_handler.h"
+#include "ash/wm/gestures/shelf_gesture_handler.h"
#include "ash/wm/gestures/system_pinch_handler.h"
-#include "ash/wm/gestures/two_finger_drag_handler.h"
#include "ash/wm/window_util.h"
#include "base/command_line.h"
#include "ui/aura/root_window.h"
#include "ui/base/ui_base_switches.h"
#include "ui/events/event.h"
+#include "ui/events/event_constants.h"
#if defined(OS_CHROMEOS)
#include "ui/events/x/touch_factory_x11.h"
: system_gestures_enabled_(CommandLine::ForCurrentProcess()->
HasSwitch(ash::switches::kAshEnableAdvancedGestures)),
long_press_affordance_(new LongPressAffordanceHandler),
- two_finger_drag_(new TwoFingerDragHandler) {
+ shelf_gesture_handler_(new ShelfGestureHandler()) {
if (switches::UseOverviewMode())
overview_gesture_handler_.reset(new OverviewGestureHandler);
}
if (event->type() == ui::ET_MOUSE_PRESSED && event->native_event() &&
ui::TouchFactory::GetInstance()->IsTouchDevicePresent() &&
Shell::GetInstance()->delegate()) {
- Shell::GetInstance()->delegate()->RecordUserMetricsAction(
- UMA_MOUSE_DOWN);
+ Shell::GetInstance()->metrics()->RecordUserMetricsAction(UMA_MOUSE_DOWN);
}
#endif
}
void SystemGestureEventFilter::OnTouchEvent(ui::TouchEvent* event) {
aura::Window* target = static_cast<aura::Window*>(event->target());
ash::TouchUMA::GetInstance()->RecordTouchEvent(target, *event);
- long_press_affordance_->ProcessEvent(target, event, event->touch_id());
}
void SystemGestureEventFilter::OnGestureEvent(ui::GestureEvent* event) {
aura::Window* target = static_cast<aura::Window*>(event->target());
ash::TouchUMA::GetInstance()->RecordGestureEvent(target, *event);
- long_press_affordance_->ProcessEvent(target, event,
- event->GetLowestTouchId());
+ long_press_affordance_->ProcessEvent(target, event);
- if (two_finger_drag_->ProcessGestureEvent(target, *event)) {
+ if (overview_gesture_handler_ &&
+ overview_gesture_handler_->ProcessGestureEvent(*event)) {
event->StopPropagation();
return;
}
- if (overview_gesture_handler_ &&
- overview_gesture_handler_->ProcessGestureEvent(*event)) {
+ if (event->type() == ui::ET_GESTURE_WIN8_EDGE_SWIPE &&
+ shelf_gesture_handler_->ProcessGestureEvent(*event)) {
event->StopPropagation();
return;
}