Index: components/html_viewer/blink_input_events_type_converters.cc |
diff --git a/components/html_viewer/blink_input_events_type_converters.cc b/components/html_viewer/blink_input_events_type_converters.cc |
deleted file mode 100644 |
index 5b36a77946ec21d81db0e8435c355534adec59b5..0000000000000000000000000000000000000000 |
--- a/components/html_viewer/blink_input_events_type_converters.cc |
+++ /dev/null |
@@ -1,219 +0,0 @@ |
-// Copyright 2014 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. |
- |
-#include "components/html_viewer/blink_input_events_type_converters.h" |
- |
-#include "base/logging.h" |
-#include "base/time/time.h" |
-#include "components/mus/public/interfaces/input_event_constants.mojom.h" |
-#include "third_party/WebKit/public/web/WebInputEvent.h" |
-#include "ui/events/event.h" |
- |
-namespace mojo { |
-namespace { |
- |
-double EventTimeToWebEventTime(const mus::mojom::EventPtr& event) { |
- return base::TimeDelta::FromInternalValue(event->time_stamp).InSecondsF(); |
-} |
- |
-int EventFlagsToWebEventModifiers(int flags) { |
- int modifiers = 0; |
- |
- if (flags & mus::mojom::EVENT_FLAGS_SHIFT_DOWN) |
- modifiers |= blink::WebInputEvent::ShiftKey; |
- if (flags & mus::mojom::EVENT_FLAGS_CONTROL_DOWN) |
- modifiers |= blink::WebInputEvent::ControlKey; |
- if (flags & mus::mojom::EVENT_FLAGS_ALT_DOWN) |
- modifiers |= blink::WebInputEvent::AltKey; |
- // TODO(beng): MetaKey/META_MASK |
- if (flags & mus::mojom::EVENT_FLAGS_LEFT_MOUSE_BUTTON) |
- modifiers |= blink::WebInputEvent::LeftButtonDown; |
- if (flags & mus::mojom::EVENT_FLAGS_MIDDLE_MOUSE_BUTTON) |
- modifiers |= blink::WebInputEvent::MiddleButtonDown; |
- if (flags & mus::mojom::EVENT_FLAGS_RIGHT_MOUSE_BUTTON) |
- modifiers |= blink::WebInputEvent::RightButtonDown; |
- if (flags & mus::mojom::EVENT_FLAGS_CAPS_LOCK_DOWN) |
- modifiers |= blink::WebInputEvent::CapsLockOn; |
- return modifiers; |
-} |
- |
-int EventFlagsToWebInputEventModifiers(int flags) { |
- return (flags & mus::mojom::EVENT_FLAGS_SHIFT_DOWN |
- ? blink::WebInputEvent::ShiftKey |
- : 0) | |
- (flags & mus::mojom::EVENT_FLAGS_CONTROL_DOWN |
- ? blink::WebInputEvent::ControlKey |
- : 0) | |
- (flags & mus::mojom::EVENT_FLAGS_CAPS_LOCK_DOWN |
- ? blink::WebInputEvent::CapsLockOn |
- : 0) | |
- (flags & mus::mojom::EVENT_FLAGS_ALT_DOWN |
- ? blink::WebInputEvent::AltKey |
- : 0); |
-} |
- |
-int GetClickCount(int flags) { |
- if (flags & mus::mojom::MOUSE_EVENT_FLAGS_IS_TRIPLE_CLICK) |
- return 3; |
- else if (flags & mus::mojom::MOUSE_EVENT_FLAGS_IS_DOUBLE_CLICK) |
- return 2; |
- |
- return 1; |
-} |
- |
-void SetWebMouseEventLocation(const mus::mojom::LocationData& location_data, |
- blink::WebMouseEvent* web_event) { |
- web_event->x = static_cast<int>(location_data.x); |
- web_event->y = static_cast<int>(location_data.y); |
- web_event->globalX = static_cast<int>(location_data.screen_x); |
- web_event->globalY = static_cast<int>(location_data.screen_y); |
-} |
- |
-scoped_ptr<blink::WebInputEvent> BuildWebMouseEventFrom( |
- const mus::mojom::EventPtr& event) { |
- scoped_ptr<blink::WebMouseEvent> web_event(new blink::WebMouseEvent); |
- |
- if (event->pointer_data && event->pointer_data->location) |
- SetWebMouseEventLocation(*(event->pointer_data->location), web_event.get()); |
- |
- web_event->modifiers = EventFlagsToWebEventModifiers(event->flags); |
- web_event->timeStampSeconds = EventTimeToWebEventTime(event); |
- |
- web_event->button = blink::WebMouseEvent::ButtonNone; |
- if (event->flags & mus::mojom::EVENT_FLAGS_LEFT_MOUSE_BUTTON) |
- web_event->button = blink::WebMouseEvent::ButtonLeft; |
- if (event->flags & mus::mojom::EVENT_FLAGS_MIDDLE_MOUSE_BUTTON) |
- web_event->button = blink::WebMouseEvent::ButtonMiddle; |
- if (event->flags & mus::mojom::EVENT_FLAGS_RIGHT_MOUSE_BUTTON) |
- web_event->button = blink::WebMouseEvent::ButtonRight; |
- |
- switch (event->action) { |
- case mus::mojom::EVENT_TYPE_POINTER_DOWN: |
- web_event->type = blink::WebInputEvent::MouseDown; |
- break; |
- case mus::mojom::EVENT_TYPE_POINTER_UP: |
- web_event->type = blink::WebInputEvent::MouseUp; |
- break; |
- case mus::mojom::EVENT_TYPE_POINTER_MOVE: |
- web_event->type = blink::WebInputEvent::MouseMove; |
- break; |
- default: |
- NOTIMPLEMENTED() << "Received unexpected event: " << event->action; |
- break; |
- } |
- |
- web_event->clickCount = GetClickCount(event->flags); |
- |
- return web_event.Pass(); |
-} |
- |
-scoped_ptr<blink::WebInputEvent> BuildWebKeyboardEvent( |
- const mus::mojom::EventPtr& event) { |
- scoped_ptr<blink::WebKeyboardEvent> web_event(new blink::WebKeyboardEvent); |
- |
- web_event->modifiers = EventFlagsToWebInputEventModifiers(event->flags); |
- web_event->timeStampSeconds = EventTimeToWebEventTime(event); |
- |
- switch (event->action) { |
- case mus::mojom::EVENT_TYPE_KEY_PRESSED: |
- web_event->type = event->key_data->is_char ? blink::WebInputEvent::Char : |
- blink::WebInputEvent::RawKeyDown; |
- break; |
- case mus::mojom::EVENT_TYPE_KEY_RELEASED: |
- web_event->type = blink::WebInputEvent::KeyUp; |
- break; |
- default: |
- NOTREACHED(); |
- } |
- |
- if (web_event->modifiers & blink::WebInputEvent::AltKey) |
- web_event->isSystemKey = true; |
- |
- web_event->windowsKeyCode = event->key_data->windows_key_code; |
- web_event->nativeKeyCode = event->key_data->native_key_code; |
- web_event->text[0] = event->key_data->text; |
- web_event->unmodifiedText[0] = event->key_data->unmodified_text; |
- |
- web_event->setKeyIdentifierFromWindowsKeyCode(); |
- return web_event.Pass(); |
-} |
- |
-scoped_ptr<blink::WebInputEvent> BuildWebMouseWheelEventFrom( |
- const mus::mojom::EventPtr& event) { |
- DCHECK(event->pointer_data && event->pointer_data->wheel_data); |
- const mus::mojom::WheelData& wheel_data = *event->pointer_data->wheel_data; |
- scoped_ptr<blink::WebMouseWheelEvent> web_event( |
- new blink::WebMouseWheelEvent); |
- web_event->type = blink::WebInputEvent::MouseWheel; |
- web_event->button = blink::WebMouseEvent::ButtonNone; |
- web_event->modifiers = EventFlagsToWebEventModifiers(event->flags); |
- web_event->timeStampSeconds = EventTimeToWebEventTime(event); |
- |
- SetWebMouseEventLocation(*(event->pointer_data->location), web_event.get()); |
- |
- // TODO(rjkroege): Update the following code once Blink supports |
- // DOM Level 3 wheel events |
- // (http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents) |
- web_event->deltaX = wheel_data.delta_x; |
- web_event->deltaY = wheel_data.delta_y; |
- |
- web_event->wheelTicksX = web_event->deltaX / ui::MouseWheelEvent::kWheelDelta; |
- web_event->wheelTicksY = web_event->deltaY / ui::MouseWheelEvent::kWheelDelta; |
- |
- // TODO(rjkroege): Mandoline currently only generates WHEEL_MODE_LINE |
- // wheel events so the other modes are not yet tested. Verify that |
- // the implementation is correct. |
- switch (wheel_data.mode) { |
- case mus::mojom::WHEEL_MODE_PIXEL: |
- web_event->hasPreciseScrollingDeltas = true; |
- web_event->scrollByPage = false; |
- web_event->canScroll = true; |
- break; |
- case mus::mojom::WHEEL_MODE_LINE: |
- web_event->hasPreciseScrollingDeltas = false; |
- web_event->scrollByPage = false; |
- web_event->canScroll = true; |
- break; |
- case mus::mojom::WHEEL_MODE_PAGE: |
- web_event->hasPreciseScrollingDeltas = false; |
- web_event->scrollByPage = true; |
- web_event->canScroll = true; |
- break; |
- case mus::mojom::WHEEL_MODE_SCALING: |
- web_event->hasPreciseScrollingDeltas = false; |
- web_event->scrollByPage = false; |
- web_event->canScroll = false; |
- break; |
- } |
- |
- return web_event.Pass(); |
-} |
- |
-} // namespace |
- |
-// static |
-scoped_ptr<blink::WebInputEvent> |
-TypeConverter<scoped_ptr<blink::WebInputEvent>, mus::mojom::EventPtr>::Convert( |
- const mus::mojom::EventPtr& event) { |
- switch (event->action) { |
- case mus::mojom::EVENT_TYPE_POINTER_DOWN: |
- case mus::mojom::EVENT_TYPE_POINTER_UP: |
- case mus::mojom::EVENT_TYPE_POINTER_CANCEL: |
- case mus::mojom::EVENT_TYPE_POINTER_MOVE: |
- if (event->pointer_data && |
- event->pointer_data->kind == mus::mojom::POINTER_KIND_MOUSE) { |
- return BuildWebMouseEventFrom(event); |
- } |
- case mus::mojom::EVENT_TYPE_WHEEL: |
- return BuildWebMouseWheelEventFrom(event); |
- case mus::mojom::EVENT_TYPE_KEY_PRESSED: |
- case mus::mojom::EVENT_TYPE_KEY_RELEASED: |
- return BuildWebKeyboardEvent(event); |
- case mus::mojom::EVENT_TYPE_UNKNOWN: |
- return nullptr; |
- } |
- return nullptr; |
-} |
- |
-} // namespace mojo |