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. 4 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" 11 12namespace ui { 13 14bool AreTouchEventsEnabled() { 15 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 16 const std::string touch_enabled_switch = 17 command_line.HasSwitch(switches::kTouchEvents) ? 18 command_line.GetSwitchValueASCII(switches::kTouchEvents) : 19 switches::kTouchEventsAuto; 20 21 if (touch_enabled_switch.empty() || 22 touch_enabled_switch == switches::kTouchEventsEnabled) 23 return true; 24 if (touch_enabled_switch == switches::kTouchEventsAuto) 25 return IsTouchDevicePresent(); 26 if (touch_enabled_switch != switches::kTouchEventsDisabled) 27 LOG(ERROR) << "Invalid --touch-events option: " << touch_enabled_switch; 28 return false; 29} 30 31} // namespace ui 32