1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/base/touch/touch_enabled.h"
6 #include "base/command_line.h"
7 #include "base/logging.h"
8 #include "ui/base/touch/touch_device.h"
9 #include "ui/base/ui_base_switches.h"
10 #include "ui/events/event_switches.h"
14 bool AreTouchEventsEnabled() {
15 const base::CommandLine
& command_line
=
16 *base::CommandLine::ForCurrentProcess();
17 const std::string touch_enabled_switch
=
18 command_line
.HasSwitch(switches::kTouchEvents
) ?
19 command_line
.GetSwitchValueASCII(switches::kTouchEvents
) :
20 switches::kTouchEventsAuto
;
22 if (touch_enabled_switch
.empty() ||
23 touch_enabled_switch
== switches::kTouchEventsEnabled
)
25 if (touch_enabled_switch
== switches::kTouchEventsAuto
)
26 return IsTouchDevicePresent();
27 if (touch_enabled_switch
!= switches::kTouchEventsDisabled
)
28 LOG(ERROR
) << "Invalid --touch-events option: " << touch_enabled_switch
;