Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Unified Diff: ui/events/devices/x11/device_data_manager_x11.cc

Issue 2153683002: Added a command line switch to disable xinput2, enabled xinput2 by default (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/devices/x11/device_data_manager_x11.cc
diff --git a/ui/events/devices/x11/device_data_manager_x11.cc b/ui/events/devices/x11/device_data_manager_x11.cc
index 51927e4327be15081838d9b071b033260d4c7260..8fa8727e97b8ec49357e0d8808cb1d6f7440a9aa 100644
--- a/ui/events/devices/x11/device_data_manager_x11.cc
+++ b/ui/events/devices/x11/device_data_manager_x11.cc
@@ -13,6 +13,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
+#include "base/command_line.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/singleton.h"
@@ -21,6 +22,7 @@
#include "ui/display/display.h"
#include "ui/events/devices/x11/device_list_cache_x11.h"
#include "ui/events/devices/x11/touch_factory_x11.h"
+#include "ui/events/devices/x11/ui_events_devices_x11_switches.h"
#include "ui/events/event_constants.h"
#include "ui/events/event_switches.h"
#include "ui/events/keycodes/keyboard_code_conversion_x.h"
@@ -124,6 +126,11 @@ Iterator FindDeviceWithId(Iterator begin, Iterator end, int id) {
return end;
}
+bool IsHighPrecisionScrollingDisabled() {
+ return base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDisableHighPrecisionScrolling);
+}
+
} // namespace
bool DeviceDataManagerX11::IsCMTDataType(const int type) {
@@ -155,6 +162,7 @@ DeviceDataManagerX11* DeviceDataManagerX11::GetInstance() {
DeviceDataManagerX11::DeviceDataManagerX11()
: xi_opcode_(-1),
+ high_precision_scrolling_disabled_(IsHighPrecisionScrollingDisabled()),
atom_cache_(gfx::GetXDisplay(), kCachedAtoms),
button_map_count_(0) {
CHECK(gfx::GetXDisplay());
@@ -771,9 +779,9 @@ void DeviceDataManagerX11::UpdateScrollClassDevice(
DCHECK(deviceid >= 0 && deviceid < kMaxDeviceNum);
ScrollInfo& info = scroll_data_[deviceid];
- // TODO: xinput2 is disabled until edge cases are fixed.
- // http://crbug.com/616308
- return;
+ if (high_precision_scrolling_disabled_) {
+ return;
+ }
sadrul 2016/07/20 17:02:26 no {} Move after the DCHECK() above
Will Shackleton 2016/07/25 20:53:38 Done.
bool legacy_scroll_available =
(scroll_class_info->flags & XIScrollFlagNoEmulation) == 0;

Powered by Google App Engine
This is Rietveld 408576698