| Index: ui/events/devices/x11/touch_factory_x11.cc
 | 
| diff --git a/ui/events/devices/x11/touch_factory_x11.cc b/ui/events/devices/x11/touch_factory_x11.cc
 | 
| index 35489cd1c567ab98471b9d7253599c46094d5713..d0cc99162699f86e05c10d57570ff8eb0b230268 100644
 | 
| --- a/ui/events/devices/x11/touch_factory_x11.cc
 | 
| +++ b/ui/events/devices/x11/touch_factory_x11.cc
 | 
| @@ -19,6 +19,7 @@
 | 
|  #include "base/strings/string_number_conversions.h"
 | 
|  #include "base/strings/string_split.h"
 | 
|  #include "base/sys_info.h"
 | 
| +#include "ui/events/base_event_utils.h"
 | 
|  #include "ui/events/devices/x11/device_data_manager_x11.h"
 | 
|  #include "ui/events/devices/x11/device_list_cache_x11.h"
 | 
|  #include "ui/events/event_switches.h"
 | 
| @@ -28,7 +29,6 @@ namespace ui {
 | 
|  
 | 
|  TouchFactory::TouchFactory()
 | 
|      : pointer_device_lookup_(),
 | 
| -      touch_events_disabled_(false),
 | 
|        touch_device_list_(),
 | 
|        virtual_core_keyboard_device_(-1),
 | 
|        id_generator_(0) {
 | 
| @@ -37,11 +37,6 @@ TouchFactory::TouchFactory()
 | 
|  
 | 
|    XDisplay* display = gfx::GetXDisplay();
 | 
|    UpdateDeviceList(display);
 | 
| -
 | 
| -  base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess();
 | 
| -  touch_events_disabled_ = cmdline->HasSwitch(switches::kTouchEvents) &&
 | 
| -      cmdline->GetSwitchValueASCII(switches::kTouchEvents) ==
 | 
| -          switches::kTouchEventsDisabled;
 | 
|  }
 | 
|  
 | 
|  TouchFactory::~TouchFactory() {
 | 
| @@ -164,7 +159,7 @@ bool TouchFactory::ShouldProcessXI2Event(XEvent* xev) {
 | 
|      bool is_from_master_or_float = touch_device_list_[xiev->deviceid];
 | 
|      bool is_from_slave_device = !is_from_master_or_float
 | 
|          && xiev->sourceid == xiev->deviceid;
 | 
| -    return !touch_events_disabled_ &&
 | 
| +    return ui::AreTouchEventsEnabled() &&
 | 
|             IsTouchDevice(xiev->deviceid) &&
 | 
|             !is_from_slave_device;
 | 
|    }
 | 
| @@ -177,13 +172,14 @@ bool TouchFactory::ShouldProcessXI2Event(XEvent* xev) {
 | 
|  
 | 
|    if (event->evtype != XI_ButtonPress &&
 | 
|        event->evtype != XI_ButtonRelease &&
 | 
| -      event->evtype != XI_Motion)
 | 
| +      event->evtype != XI_Motion) {
 | 
|      return true;
 | 
| +  }
 | 
|  
 | 
|    if (!pointer_device_lookup_[xiev->deviceid])
 | 
|      return false;
 | 
|  
 | 
| -  return IsTouchDevice(xiev->deviceid) ? !touch_events_disabled_ : true;
 | 
| +  return IsTouchDevice(xiev->deviceid) ? ui::AreTouchEventsEnabled() : true;
 | 
|  }
 | 
|  
 | 
|  void TouchFactory::SetupXI2ForXWindow(Window window) {
 | 
| @@ -270,13 +266,12 @@ void TouchFactory::ReleaseSlotForTrackingID(uint32 tracking_id) {
 | 
|  }
 | 
|  
 | 
|  bool TouchFactory::IsTouchDevicePresent() {
 | 
| -  return !touch_events_disabled_ && touch_device_lookup_.any();
 | 
| +  return ui::AreTouchEventsEnabled() && touch_device_lookup_.any();
 | 
|  }
 | 
|  
 | 
|  void TouchFactory::ResetForTest() {
 | 
|    pointer_device_lookup_.reset();
 | 
|    touch_device_lookup_.reset();
 | 
| -  touch_events_disabled_ = false;
 | 
|    touch_device_list_.clear();
 | 
|    touchscreen_ids_.clear();
 | 
|    id_generator_.ResetForTest();
 | 
| @@ -292,7 +287,6 @@ void TouchFactory::SetTouchDeviceForTest(
 | 
|      touch_device_lookup_[*iter] = true;
 | 
|      touch_device_list_[*iter] = true;
 | 
|    }
 | 
| -  touch_events_disabled_ = false;
 | 
|  }
 | 
|  
 | 
|  void TouchFactory::SetPointerDeviceForTest(
 | 
| 
 |