Chromium Code Reviews| Index: ui/base/touch/touch_device_aurax11.cc |
| diff --git a/ui/base/touch/touch_device_aurax11.cc b/ui/base/touch/touch_device_aurax11.cc |
| index 52ecc75787e04ba02f3b3a9097deb4ec361cf395..73399354f575a2ec5fcbbb217306700dbc8a8d90 100644 |
| --- a/ui/base/touch/touch_device_aurax11.cc |
| +++ b/ui/base/touch/touch_device_aurax11.cc |
| @@ -3,6 +3,7 @@ |
| // found in the LICENSE file. |
| #include "ui/base/touch/touch_device.h" |
| +#include "base/logging.h" |
| #include "ui/events/devices/x11/touch_factory_x11.h" |
| namespace ui { |
| @@ -15,23 +16,51 @@ int MaxTouchPoints() { |
| return ui::TouchFactory::GetInstance()->GetMaxTouchPoints(); |
| } |
| +// FIXME: Use mouse/keyboard detection logic. crbug.com/440503 |
| int GetAvailablePointerTypes() { |
| - // TODO(mustaq): Replace the stub below |
| - return POINTER_TYPE_NONE; |
| + // Assume there is a keyboard |
| + int available_pointer_types = POINTER_TYPE_NONE; |
|
sadrul
2014/12/11 15:22:27
You can look for a non-empty DeviceDataManager::ke
mustaq
2014/12/11 19:21:04
Done.
|
| + |
| + // Assume either a touch-device or a mouse is there |
| + if (IsTouchDevicePresent()) |
| + available_pointer_types |= POINTER_TYPE_COARSE; |
| + else |
| + available_pointer_types |= POINTER_TYPE_FINE; |
| + |
| + return available_pointer_types; |
| } |
| PointerType GetPrimaryPointerType() { |
| - // TODO(mustaq): Replace the stub below |
| + int available_pointer_types = GetAvailablePointerTypes(); |
| + if (available_pointer_types & POINTER_TYPE_COARSE) |
| + return POINTER_TYPE_COARSE; |
| + if (available_pointer_types & POINTER_TYPE_FINE) |
| + return POINTER_TYPE_FINE; |
| + DCHECK(available_pointer_types & POINTER_TYPE_NONE); |
| return POINTER_TYPE_NONE; |
| } |
| +// FIXME: Use mouse/keyboard detection logic. crbug.com/440503 |
| int GetAvailableHoverTypes() { |
| - // TODO(mustaq): Replace the stub below |
| - return HOVER_TYPE_NONE; |
| + // Assume there is a keyboard |
| + int available_hover_types = HOVER_TYPE_NONE; |
|
sadrul
2014/12/11 15:22:27
ditto
mustaq
2014/12/11 19:21:04
Done.
|
| + |
| + // Assume either a touch-device or a mouse is there |
| + if (IsTouchDevicePresent()) |
| + available_hover_types |= HOVER_TYPE_ON_DEMAND; |
| + else |
| + available_hover_types |= HOVER_TYPE_HOVER; |
| + |
| + return available_hover_types; |
| } |
| HoverType GetPrimaryHoverType() { |
| - // TODO(mustaq): Replace the stub below |
| + int available_hover_types = GetAvailableHoverTypes(); |
| + if (available_hover_types & HOVER_TYPE_ON_DEMAND) |
| + return HOVER_TYPE_ON_DEMAND; |
| + if (available_hover_types & HOVER_TYPE_HOVER) |
| + return HOVER_TYPE_HOVER; |
| + DCHECK(available_hover_types & HOVER_TYPE_NONE); |
| return HOVER_TYPE_NONE; |
| } |