0

Alias EventPointerType to single value.

Remove multiple definitions and conversion between the 3x defined types
and just use the native ui event definition everywhere.

BUG=1073560

Change-Id: I0abe409fc316fcfabdf1ec87602d54dfafe1d886
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2171518
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763894}
This commit is contained in:
Dave Tapuska
2020-04-29 17:51:40 +00:00
committed by Commit Bot
parent d7cc13db38
commit 361474396d
17 changed files with 34 additions and 104 deletions

@ -595,10 +595,6 @@ mojom("mojo_bindings") {
mojom = "content.mojom.NetworkConnectionType"
cpp = "::net::NetworkChangeNotifier::ConnectionType"
},
{
mojom = "content.mojom.PointerType"
cpp = "::blink::WebPointerProperties::PointerType"
},
{
mojom = "content.mojom.ScrollGranularity"
cpp = "::ui::ScrollGranularity"

@ -51,7 +51,7 @@ struct PointerData {
float tangential_pressure;
int32 twist;
blink.mojom.Button button;
PointerType pointer_type;
ui.mojom.EventPointerType pointer_type;
int32 movement_x;
int32 movement_y;
bool is_raw_movement_event;
@ -126,7 +126,7 @@ struct GestureData {
gfx.mojom.PointF widget_position;
blink.mojom.GestureDevice source_device;
bool is_source_touch_event_set_non_blocking;
PointerType primary_pointer_type;
ui.mojom.EventPointerType primary_pointer_type;
int32 unique_touch_event_id;
gfx.mojom.Size? contact_size;
ScrollData? scroll_data;

@ -55,8 +55,6 @@ IPC_ENUM_TRAITS_MAX_VALUE(
content::SyntheticPointerActionParams::Button::BUTTON_MAX)
IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventDispatchType,
content::InputEventDispatchType::DISPATCH_TYPE_MAX)
IPC_ENUM_TRAITS_MAX_VALUE(blink::WebPointerProperties::PointerType,
blink::WebPointerProperties::PointerType::kMaxValue)
IPC_ENUM_TRAITS_MAX_VALUE(
cc::OverscrollBehavior::OverscrollBehaviorType,
cc::OverscrollBehavior::OverscrollBehaviorType::kOverscrollBehaviorTypeMax)

@ -40,9 +40,6 @@ enum NetworkConnectionType;
[Native]
struct WebCursor;
[Native]
enum PointerType;
[Native]
struct EditCommand;

@ -166,6 +166,7 @@ source_set("headers") {
"//skia/public/mojom:shared_typemap_traits",
"//third_party/blink/public/mojom:mojom_modules_headers",
"//third_party/blink/public/mojom:web_bluetooth_mojo_bindings_headers",
"//ui/events:event_constants",
"//ui/events/types:headers",
]

@ -18,6 +18,7 @@ include_rules = [
"+skia/public/mojom",
"+third_party/blink/public/common",
"+third_party/blink/public/mojom",
"+ui/events/event_constants.h",
"+ui/events/types/scroll_types.h",
"+ui/gfx/geometry",
"+url",

@ -8,6 +8,7 @@
#include "third_party/blink/public/common/common_export.h"
#include "third_party/blink/public/common/input/pointer_id.h"
#include "third_party/blink/public/mojom/input/input_event.mojom-shared.h"
#include "ui/events/event_constants.h"
#include "ui/gfx/geometry/point_f.h"
#include <limits>
@ -23,6 +24,8 @@ class WebPointerProperties {
public:
using Button = mojom::Button;
using PointerType = ui::EventPointerType;
enum class Buttons : unsigned {
kNoButton = 0,
kLeft = 1 << 0,
@ -33,15 +36,6 @@ class WebPointerProperties {
kEraser = 1 << 5
};
enum class PointerType {
kUnknown,
kMouse,
kPen,
kEraser,
kTouch,
kMaxValue = kTouch // Must be the last entry in the list
};
explicit WebPointerProperties(
PointerId id_param,
PointerType pointer_type_param = PointerType::kUnknown,

@ -29,24 +29,6 @@ gfx::PointF GetScreenLocationFromEvent(const LocatedEvent& event) {
: event.root_location_f();
}
blink::WebPointerProperties::PointerType EventPointerTypeToWebPointerType(
EventPointerType pointer_type) {
switch (pointer_type) {
case EventPointerType::kUnknown:
return blink::WebPointerProperties::PointerType::kUnknown;
case EventPointerType::kMouse:
return blink::WebPointerProperties::PointerType::kMouse;
case EventPointerType::kPen:
return blink::WebPointerProperties::PointerType::kPen;
case EventPointerType::kEraser:
return blink::WebPointerProperties::PointerType::kEraser;
case EventPointerType::kTouch:
return blink::WebPointerProperties::PointerType::kTouch;
}
NOTREACHED() << "Unexpected EventPointerType";
return blink::WebPointerProperties::PointerType::kUnknown;
}
// Creates a WebGestureEvent from a GestureEvent. Note that it does not
// populate the event coordinates (i.e. |x|, |y|, |globalX|, and |globalY|). So
// the caller must populate these fields.
@ -138,8 +120,7 @@ blink::WebMouseWheelEvent MakeWebMouseWheelEventFromUiEvent(
if (offset_ordinal_y != 0.f && webkit_event.delta_y != 0.f)
webkit_event.acceleration_ratio_y = offset_ordinal_y / webkit_event.delta_y;
webkit_event.pointer_type =
EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
webkit_event.pointer_type = event.pointer_details().pointer_type;
switch (event.scroll_event_phase()) {
case ui::ScrollEventPhase::kNone:
@ -248,8 +229,7 @@ blink::WebMouseEvent MakeWebMouseEvent(const MouseEvent& event) {
event.native_event().message && (event.type() != ET_MOUSE_EXITED)
? MakeUntranslatedWebMouseEventFromNativeEvent(
event.native_event(), event.time_stamp(),
EventPointerTypeToWebPointerType(
event.pointer_details().pointer_type))
event.pointer_details().pointer_type)
: MakeWebMouseEventFromUiEvent(event);
#else
MakeWebMouseEventFromUiEvent(event);
@ -281,8 +261,7 @@ blink::WebMouseWheelEvent MakeWebMouseWheelEvent(const MouseWheelEvent& event) {
event.native_event().message
? MakeUntranslatedWebMouseWheelEventFromNativeEvent(
event.native_event(), event.time_stamp(),
EventPointerTypeToWebPointerType(
event.pointer_details().pointer_type))
event.pointer_details().pointer_type)
: MakeWebMouseWheelEventFromUiEvent(event);
#else
blink::WebMouseWheelEvent webkit_event =
@ -306,8 +285,7 @@ blink::WebMouseWheelEvent MakeWebMouseWheelEvent(const ScrollEvent& event) {
event.native_event().message
? MakeUntranslatedWebMouseWheelEventFromNativeEvent(
event.native_event(), event.time_stamp(),
EventPointerTypeToWebPointerType(
event.pointer_details().pointer_type))
event.pointer_details().pointer_type)
: MakeWebMouseWheelEventFromUiEvent(event);
#else
blink::WebMouseWheelEvent webkit_event =
@ -456,8 +434,7 @@ blink::WebMouseEvent MakeWebMouseEventFromUiEvent(const MouseEvent& event) {
event.pointer_details().tangential_pressure;
webkit_event.twist = event.pointer_details().twist;
webkit_event.id = event.pointer_details().id;
webkit_event.pointer_type =
EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
webkit_event.pointer_type = event.pointer_details().pointer_type;
return webkit_event;
}
@ -490,8 +467,7 @@ blink::WebMouseWheelEvent MakeWebMouseWheelEventFromUiEvent(
webkit_event.tilt_x = roundf(event.pointer_details().tilt_x);
webkit_event.tilt_y = roundf(event.pointer_details().tilt_y);
webkit_event.force = event.pointer_details().force;
webkit_event.pointer_type =
EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
webkit_event.pointer_type = event.pointer_details().pointer_type;
return webkit_event;
}

@ -17,6 +17,7 @@ jumbo_component("ipc") {
public_deps = [
"//base",
"//ipc",
"//ui/events:event_constants",
"//ui/events/types:headers",
]
}

@ -7,11 +7,13 @@
#include "base/component_export.h"
#include "ipc/ipc_message_macros.h"
#include "ui/events/event_constants.h"
#include "ui/events/types/scroll_types.h"
#undef IPC_MESSAGE_EXPORT
#define IPC_MESSAGE_EXPORT COMPONENT_EXPORT(UI_EVENTS_IPC)
IPC_ENUM_TRAITS_MAX_VALUE(ui::EventPointerType, ui::EventPointerType::kMaxValue)
IPC_ENUM_TRAITS_MIN_MAX_VALUE(ui::ScrollGranularity,
ui::ScrollGranularity::kFirstScrollGranularity,
ui::ScrollGranularity::kMaxValue)

@ -2,4 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
typemaps = [ "//ui/events/mojom/scroll_granularity.typemap" ]
typemaps = [
"//ui/events/mojom/scroll_granularity.typemap",
"//ui/events/mojom/event_constants.typemap",
]

@ -64,7 +64,7 @@ struct ScrollData {
// This mirrors the C++ class of the same name, see it for details.
struct PointerDetails {
PointerKind pointer_type;
EventPointerType pointer_type;
float radius_x;
float radius_y;
float force;

@ -66,15 +66,8 @@ const int32 kMouseEventFlagIsTripleClick = 0x10000;
const int32 kMouseEventFlagIsNonClient = 0x20000;
// TODO(erg): Move accessibility flags and maybe synthetic touch events here.
// TODO(sky): rename EventPointerType.
enum PointerKind {
UNKNOWN,
MOUSE,
PEN,
TOUCH,
ERASER,
};
[Native]
enum EventPointerType;
// Phase information used for a ScrollEvent.
// These values match ui::ScrollEventPhase in ui/events/event_constants.h

@ -0,0 +1,9 @@
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
mojom = "//ui/events/mojom/event_constants.mojom"
public_headers = [ "//ui/events/event_constants.h" ]
traits_headers = [ "//ui/events/ipc/ui_events_param_traits_macros.h" ]
public_deps = [ "//ui/events/ipc" ]
type_mappings = [ "ui.mojom.EventPointerType=::ui::EventPointerType" ]

@ -8,6 +8,7 @@
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
#include "ui/events/gesture_event_details.h"
#include "ui/events/ipc/ui_events_param_traits_macros.h"
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/dom/keycode_converter.h"
#include "ui/events/mojom/event_constants.mojom.h"

@ -100,49 +100,6 @@ struct EnumTraits<ui::mojom::EventMomentumPhase, ui::EventMomentumPhase> {
}
};
template <>
struct EnumTraits<ui::mojom::PointerKind, ui::EventPointerType> {
static ui::mojom::PointerKind ToMojom(ui::EventPointerType input) {
switch (input) {
case ui::EventPointerType::kUnknown:
return ui::mojom::PointerKind::UNKNOWN;
case ui::EventPointerType::kMouse:
return ui::mojom::PointerKind::MOUSE;
case ui::EventPointerType::kPen:
return ui::mojom::PointerKind::PEN;
case ui::EventPointerType::kTouch:
return ui::mojom::PointerKind::TOUCH;
case ui::EventPointerType::kEraser:
return ui::mojom::PointerKind::ERASER;
}
NOTREACHED();
return ui::mojom::PointerKind::UNKNOWN;
}
static bool FromMojom(ui::mojom::PointerKind input,
ui::EventPointerType* out) {
switch (input) {
case ui::mojom::PointerKind::UNKNOWN:
*out = ui::EventPointerType::kUnknown;
return true;
case ui::mojom::PointerKind::MOUSE:
*out = ui::EventPointerType::kMouse;
return true;
case ui::mojom::PointerKind::PEN:
*out = ui::EventPointerType::kPen;
return true;
case ui::mojom::PointerKind::TOUCH:
*out = ui::EventPointerType::kTouch;
return true;
case ui::mojom::PointerKind::ERASER:
*out = ui::EventPointerType::kEraser;
return true;
}
NOTREACHED();
return false;
}
};
template <>
struct StructTraits<ui::mojom::PointerDetailsDataView, ui::PointerDetails> {
static ui::EventPointerType pointer_type(const ui::PointerDetails& i) {

@ -4,5 +4,6 @@
typemaps = [
"//ui/events/mojom/event.typemap",
"//ui/events/mojom/event_constants.typemap",
"//ui/events/mojom/scroll_granularity.typemap",
]